US20080196065A1 - Managing record events - Google Patents

Managing record events Download PDF

Info

Publication number
US20080196065A1
US20080196065A1 US12/102,717 US10271708A US2008196065A1 US 20080196065 A1 US20080196065 A1 US 20080196065A1 US 10271708 A US10271708 A US 10271708A US 2008196065 A1 US2008196065 A1 US 2008196065A1
Authority
US
United States
Prior art keywords
record
event
events
priority
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/102,717
Inventor
David J. Cheng
Mark G. Young
Samuel Thomas Scott
Pradhan S. Rao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US12/102,717 priority Critical patent/US20080196065A1/en
Publication of US20080196065A1 publication Critical patent/US20080196065A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems

Definitions

  • the present invention relates to managing and scheduling events. More particularly, the present invention relates to systems, methods, and computer program products for managing record events using a priority manager to resolve conflicts that occur between some of the recording events.
  • the recorded video streams are often stored on a hard drive where they may be viewed at the leisure of a user.
  • some homes have more than one device that is able to record video streams.
  • these devices often provide other functionality to users, such as browsing the Internet.
  • a recording conflict can occur when one of the programs to be recorded is rescheduled to broadcast at a different time that coincides with an already scheduled event.
  • the rescheduled program is often reflected, for instance, in the guide data that is supplied to the recording device.
  • Recording conflicts can also occur when a program runs longer than its scheduled time. In other words, a particular program may not end at its scheduled time, it may be interrupted by a breaking news story, and the like. Sporting events are a typical example of a program that may not end at a scheduled time. The ability to record beyond the scheduled ending time may conflict with another event that is already scheduled.
  • Another situation where a recording conflict occurs is when a user schedules too many programs to record concurrently.
  • the user may schedule record events that are dependent on characteristics of the programs. For example, the user may want to record all programs that have a particular actor, which is determined by searching the guide data. These types of events cause conflicts that become known at a later time after these programs have been identified and scheduled. For at least these reasons, recording conflicts are practically inevitable.
  • a priority manager enables a user to resolve conflicts when the event is initially scheduled.
  • the priority manager also resolves conflicts in the absence of user input according to the priority of the events that are currently scheduled.
  • the priority manager When a user schedules an event, the priority manager permits the user to establish the priority of the event or program. By default, an event receives the lowest priority in the priority manager if the priority is not set or assigned by the user.
  • the priority manager is able to prioritize all types of record events, including but not limited to, single record events, series record events, smart record events, and manual record events.
  • Scheduled record events with higher priorities record before events of lower priority. Thus, if too many events or programs are scheduled to record concurrently, then those events or programs with the highest priority will be recorded and those with lower priorities will not be recorded. In this manner, the priority manager is able to resolve scheduling or recording conflicts that are not resolved by the user.
  • the user also has the ability to change the priority of any event. By changing the priority of an event, the user can thus resolve some of the recording conflicts before they occur and the priority manager ensures that high priority events are performed. In one example, a user may assign a low priority to an event that conflicts with another event. The new event will only record, for example, if higher priority events are canceled, rescheduled, or the like.
  • Another aspect of the present invention relates to deleting events or programs in order to provide sufficient storage space. This can be accomplished using the priority manager to pre-age recorded programs or scheduled events and recommend programs and/or events for deletion instead of simply deleting the oldest recording(s).
  • the necessary storage space can also be provided by deleting recoverable resources through reprioritization. For example, the guide data can be searched to determine if a program currently recorded is broadcast in the future. If the program is broadcast in the future, then that program can be deleted and re-recorded on the future broadcast date.
  • FIG. 1 illustrates exemplary sources that deliver content to a set top box and further illustrates an exemplary environment for implementing the present invention
  • FIG. 2 illustrates a set top box including a priority manager for managing record events that are recorded using tuner resources
  • FIG. 3 illustrates exemplary types of record events
  • FIG. 4 illustrates a priority manager that has a list of prioritized record events and also illustrates that different applications have access to the priority manager;
  • FIG. 5 is a flow diagram illustrating an exemplary method for managing record events that conflict with other record events.
  • FIG. 6 illustrates an exemplary system that provides a suitable operating environment for the present invention.
  • the number of events that can be concurrently performed by a system such as a set top box or a network is often limited by the resources of the set top box or the network.
  • the number of video streams that are scheduled to be concurrently recorded by a set top box or by a network that has access to tuning resources is limited by the number of tuners that are available in the tuning resources of the set top box or network. Because of this limitation, it is possible that the tuning resources of the set top box/network will not be able to successfully record all of the video streams that are scheduled for recording.
  • the present invention relates to systems, methods, and computer program products for record events using a priority manager.
  • the priority manager provides flexibility to the user and is not limited to making recording decisions based on when the record event is scheduled, which is often the case with first in first out (FIFO) and last in first out (LIFO) recording mechanisms.
  • FIFO first in first out
  • LIFO last in first out
  • the present invention provides a priority manager that manages all types of record events by assigning a priority to each record event. None of the scheduled record events will have the same priority and the priority manager is accessible to the user from various applications.
  • the priority manager for example, is available when the user schedules an event such that a potential conflict can be resolved when the event is scheduled by allowing the user to assign a preferred priority to some or all of the scheduled events. When the user is unable to resolve the conflict, then the scheduled events are recorded according to their assigned priority.
  • FIG. 1 illustrates an exemplary environment for implementing the present invention.
  • FIG. 1 illustrates a source 100 that is connected with a set top box 110 .
  • Exemplary sources include, but are not limited to, a satellite system 102 , a cable system 104 and the Internet 106 .
  • the content or data that is available from the source 100 includes, but is not limited to, audio/video data, video streams, text, guide data, services, software updates, advertisements, image data, other data and the like or any combination thereof
  • the set top box 110 is an exemplary computing environment that is able to receive, send and process content.
  • Exemplary set top boxes include, but are not limited to, digital video recorders (DVRs), satellite receivers, Internet terminals, cable boxes, digital satellite systems (DSS), and the like or any combination thereof.
  • DVRs digital video recorders
  • the set top box 110 may also function as a server computer for a home network. In this situation, the set top box 110 would distribute content from the source 100 to other set top boxes.
  • FIG. 2 illustrates an exemplary set top box where the present invention may be implemented.
  • the set top box 110 includes a storage 204 , such as a hard drive or other storage device.
  • the set top box stores recorded programs 206 , guide data 208 , and other applications and data on the storage 204 .
  • the guide data 208 describes some of the content that is available from the source 100 illustrated in FIG. 1 .
  • the guide data 208 includes, but is not limited to, program start times, program end times, program titles, program duration, ratings, actors/actresses, and the like and any combination thereof.
  • the set top box 110 also has tuner resources 210 .
  • the tuner resources 210 include tuners 211 , 212 , and 213 .
  • the tuner resources 210 are used to retrieve or receive content from the sources 100 .
  • a tuner is required to view the program.
  • a tuner is also required to record a program.
  • the set top box 110 is able to concurrently record three programs or video streams because the tuner resources 210 include three tuners. It is understood by one of skill in the art that the set top box 110 may include any number of tuners and that the number of concurrent recordings is limited to the number of tuners.
  • the set top box 110 also includes a priority manager 220 that manages record events 222 . While the present invention is discussed in terms of record events, it is understood that the principles taught herein can be applied to other types of events such as delete events or reminder events.
  • the record events 222 are created by the scheduler 202 and are ordered according to their priority. By default, newly scheduled events have the lowest priority unless altered by the user or the set top box 110 .
  • the ability to change the priority of a particular event can occur either explicitly or implicitly.
  • the record events 222 can be displayed to a user and the user can manipulate the priorities of the record events.
  • the priority of a particular event is altered by having the user choose which program to record when a conflict occurs. For example, when a user decides to record a program and the priority manager determines that there is a conflict, which indicates that a tuner will not be available for the entire duration of the program that is being scheduled to record, then the user is presented with the option of recording the previously scheduled program or recording the current program.
  • the current program has the option of being recorded until the previously scheduled program begins. Also, the current program is given a lower priority in the priority manager than the conflicting record event. If the user elects to record the current program, then the previously scheduled program is not recorded and the current program is given the highest priority in the priority manager than the conflicting record event. Alternatively, the current program is given sufficient priority to ensure that it is recorded ahead of the previously scheduled conflicting event. Often, the new event being scheduled is given a priority greater than the lowest priority event with which the event being scheduled conflicts.
  • FIG. 3 identifies exemplary record events 222 .
  • a single record event 224 occurs, for example, when a user identifies a program from the guide data that is provided to the set top box and stored on the set top box. After the program is identified by the user, the user can choose to record the event. The start time, end time, and other program attributes are typically determined from the guide data and the user is not required to provide this data to the set top box or the scheduler. When a single record event 224 is finished recording, it is removed from the record events 222 .
  • a series record event 226 can also be identified from the guide data.
  • the user typically identifies the program as a series and that the user desires to record all programs of the series. For example, series television programs are typically shown on a weekly basis. Scheduling a series record event 226 for a particular program causes the set top box to record each episode of the selected program. The method by which the set top box identifies the program as a series is known in the art.
  • the series record event 226 typically remains in the record events 222 even after a particular episode of a program finishes recording because future episodes have not been recorded yet.
  • a single manual record event 228 typically identifies a time block during which a particular channel is recorded by the set top box. Certain attributes of the program being recorded, such as those described herein, are not typically known.
  • a repeated manual record event 230 is similar to a single manual record event 228 , with the difference that the repeated manual record event 230 occurs more than once. For example, a user can create a single manual record event 228 by causing the set top box to record a particular channel from 6:00 p.m. to 8:00 p.m. on a particular Tuesday. The user can create a repeated manual record event 230 by causing the set top box to record a particular channel from 6:00 p.m. to 8:00 p.m. on every Tuesday.
  • a single manual record event 228 is removed from the record events 222 after the recording terminates, while a repeated manual record event is not necessarily removed from the record events 222 .
  • FIG. 3 further illustrates other record events 232 , which refers to other types of record events.
  • One example of another record event is a smart record event.
  • the user indicates that he or she desires to record all programs that have a particular attribute or characteristic.
  • the set top box or the scheduler is able to search the guide data for these attributes or characteristics.
  • the program is scheduled as a record event by the scheduler in the priority manager.
  • a user may desire to record all sporting events that include a particular team.
  • the scheduler can search the guide data to find these events and schedule those that are found in the guide data.
  • the guide data is searched to determine if any future programs should be scheduled for recording according to the smart record event.
  • this type of event is typically scheduled without input from the user when it is scheduled, it is given a default priority in the record events of the priority manager. If there is a conflict, the conflict can be brought to the attention of the user, for example, by displaying a conflict notice. If the conflict is not resolved, the events with higher priority are given preference and are recorded before lower priority events are recorded.
  • FIG. 4 is a block diagram illustrating a priority manager.
  • the priority manager 220 of FIG. 4 illustrates record events 222 .
  • the record events 222 include all events that have been scheduled for recording in this example. As previously noted, other events may be managed and scheduled by the priority manager 220 .
  • This example includes event 402 , 403 and 404 .
  • the first event in the record events 222 is the event 402 and the last event is the event 404 .
  • the order of the events in the record events 222 also illustrates the priority of the event.
  • the event 402 because it is the first listed event, has the highest priority.
  • the event 404 because it is listed last, has the lowest priority of all events in the record events 222 . None of the events in the record events 222 have the same priority.
  • FIG. 4 further illustrates how the priority manager may be used to prioritize scheduled events.
  • a program 406 may be selected or identified from the guide data 405 . After the program is selected and if there is no conflict, the selected program is scheduled as the lowest priority recording event in the record events 222 .
  • the priority manger can assign a priority to any event including new events and the present invention is not limited to assigning a lowest priority to newly scheduled record events. In some instances, the priority assigned to a particular event is received from the user. When a conflict is present, the new event may be given the highest priority.
  • the user is able to give the newly scheduled event an assigned priority.
  • the user has the option of inserting the newly scheduled event at any point of the record events 220 .
  • the priority manager is typically displayed to the user and the user is able to view all of the scheduled events in the record events 222 .
  • the new event will be placed in the record events 222 by the priority manager 220 according to how the user resolves the conflict. If, for example, the user decides to permit previously scheduled event to take priority over the newly scheduled event, then the new event is placed at the bottom of the record events 222 and has the lowest priority. In this manner, a priority is assigned to each scheduled event managed by the priority manager.
  • the new event is inserted in the list of events one place higher than the highest priority event that conflicts with the new event.
  • the new event would be inserted above the event 403 and below the event 402 .
  • the new event can be inserted above the event 402 such that the new event has the highest priority.
  • the user can also manually insert the event anywhere in the record events 222 of the priority manager 220 .
  • the user may simply be informed that the event being scheduled conflicts with an existing event. The user is then given the option of either recording the existing event or of recording the new event. If the user determines that he or she would rather record the new event, then the new event is given a priority in the record events 222 that is higher than the existing event or the new event is given the highest priority. If the new event conflicts with multiple events, then the new event is given: a priority that is at least higher than the lowest priority event of the conflicting events, a priority that is higher than the highest priority event of the conflicting events, or the highest priority.
  • the new event is still scheduled by the priority manager 220 , but it is given a lower priority than the conflicting events or the new event is given the lowest priority. This enables the set top box to record the event in the case where a higher priority event is deleted or rescheduled, for example.
  • the priority manager can have a default prioritization mechanism where new events are either assigned the highest priority or are assigned a priority that is higher than the highest priority event of conflicting events. Conversely, when the new event is to be given a low priority, the priority manager can assign the lowest priority to the new event or can assign a priority that is lower than the lowest priority of the conflicting events. In other words, various schemes can be used to determine the priority of a new event. By giving the new event the highest priority, the user is assured that this event will record. By giving the new event a priority that is higher than the lowest priority of the conflicting events, it is possible that the event will not be recorded, especially if the number of conflicting events is greater than the number of tuners in the system. Thus, new events are preferably given the highest priority.
  • FIG. 4 also illustrates that the priority manager 220 is accessible from multiple applications. As described above, the priority manager 220 is available from the scheduler 202 or when a user is scheduling an event and resolving conflicts that arise with respect to the newly scheduled event. The priority manager 220 is also accessible from the recorded programs 408 .
  • a series record event is set to record a program on a weekly basis. One week, the recording does not occur. The user is able to view a history log in the recorded programs 408 and discover that other programs with higher priority were scheduled to record. As a result, the series record event did not record. The user can access the priority manager 220 and set the priority of the series record event higher.
  • the priority manager resolves conflicts between events in the event list.
  • the programs are recorded according to their priority in the record events 222 of the priority manager 220 . If the set top box has three tuners and four programs are scheduled to concurrently record, then the program with the lowest priority will not be recorded. As previously mentioned, the user can assign a new priority to the unrecorded program, assuming that the program can be recorded in the future.
  • a single record event for example, is deleted from the record events 222 after it finishes recording or after its scheduled broadcast time lapses.
  • the events are often displayed to reflect their type. In other words, a user is able to visually determine whether an event is a series record event, a manual record event, etc. This information can be used as needed by the user in determining a priority for a particular event.
  • the scheduler dynamically updates the event list of programs that are to be recorded. The programs that will not be recorded can also be displayed to the user from various applications.
  • FIG. 5 illustrates an exemplary flow diagram for using a priority manager to record events.
  • the priority manager uses user input to schedule an event ( 500 ).
  • the event may be received, as previously stated, from the guide data or any other source.
  • the event may be a record event or other type of event.
  • the scheduler (which may be a module of the priority manager in one embodiment) determines whether there is a conflict ( 501 ) with another event. If there is no conflict, the new event is given a low priority ( 502 ) and the event is recorded as scheduled ( 507 ). Note that new event receives a low priority by default, but another priority may be assigned to the new event.
  • the user and/or the priority manager may assign the new event the highest priority.
  • the user is given the opportunity to resolve the conflict ( 503 ). This can occur generally by allowing the user to give the new event a higher priority than older events ( 504 ).
  • the new event is assigned or given a priority that is higher than the lowest priority of the event that is in conflict with the new event.
  • the new event is assigned a priority that is lower than the existing events ( 505 ) that conflict with the new event.
  • the new event is given the lowest priority. In both cases, the priority can be assigned or set by the user and the new event can be inserted at any point of the record events in the record event list.
  • the conflict is resolved ( 506 )
  • the scheduled events are recorded as scheduled ( 507 ).
  • the priority manager records or performs the events according to their priority in the event list of the priority manager ( 508 ).
  • the event may be given lower priority than conflicting events. In this case, the event will only record when higher priority events are deleted, rescheduled, etc.
  • a conflict may not arise when the event is initially scheduled, but may arise later when the user is unable to resolve the conflict.
  • a scheduled event may not end in a timely fashion and extend into another event, for example.
  • a conflict can also occur when the number of turners changes or when a tuning resource is lost.
  • a tuner may stop working or may be removed from the system in real-time.
  • a record event with higher priority may begin and take a tuner from a lower priority event. The lower priority event thus loses the tuner or the tuning resource.
  • the priority manager can then determine which events to keep recording or performing and which events are terminated based on the relative priorities of the events in the priority manager.
  • Other real-time problems may arise that result in a lost tuner(s) or in an event conflict. In these and other situations, the events are recorded by the priority manager according to their priority in the event list as previously described.
  • the present invention also addresses the issue of ensuring that there is sufficient storage space to accommodate scheduled events. Often, it is necessary to delete some of the recorded events or programs from the storage of the recording device in these situations. A conflict can also arise when the recording device does not have sufficient storage space to accommodate future record events. For example, assume that a recording device is only able to store three (3) hours of video content. Further assume that there are four record events scheduled to record. The first three scheduled record events are recorded without difficulty. However, there is insufficient storage to successfully record the fourth record event.
  • This present invention addresses this issue by analyzing the recorded content and the guide data, which identifies future programs, such that recorded programs that are also broadcast in the future may be deleted and, at a later time, re-recorded.
  • the first and third record events were one time events and will not be repeated in the future.
  • a search of the guide data reveals that the second program will be broadcast again in seven days.
  • the second program is deleted from the storage to make room for the fourth program.
  • the deleted program is then re-recorded when it is broadcast in the future. If no storage space is available at that time, the above process may be repeated. If this process does not free storage space, then a default delete process is invoked. In one example, the oldest recorded program is deleted to free storage for the new record event.
  • the system first determines that there is not sufficient storage space to record a program. Next, it is necessary to estimate how much storage will be required for the program being recorded. This is done by examining the guide data to determine the program duration, at which point an estimation of the storage space can be made. The system then determines which programs or shows can be deleted. Each program typically has a title and an identifier. The identifier is often unique and helps the system distinguish, for example, between episodes of a television series. Using this information from the shows that are stored on the recording device, the guide data is searched to determine which of the recorded shows will be broadcast in the future.
  • the system After the system identifies which recorded programs will be broadcast in the future, enough programs are deleted to free sufficient storage space to record the record event. An event is typically scheduled for the deleted programs to ensure that they are re-recorded in the future. If insufficient storage space exists at that time, the process is repeated to ensure that all programs are successfully recorded on the recording device. To prevent a program from being re-recorded repeatedly, the program may simply be deleted after it has been watched, after a certain time period lapses, or after the same program has been recorded a certain number of times.
  • the priority manager can be used to prioritize recorded programs for potential deletion.
  • a recorded program with the lowest priority will be deleted before a program of higher priority.
  • programs that were recorded because of a particular series event can be deleted based on the priority of the series event in the priority manager.
  • the order in which programs are deleted can vary. For example, all programs from the series event with the lowest priority may be deleted before any programs from the next lowest series event are deleted. Alternatively, the system may require that a program be deleted from each series event before a second program from a particular series event is deleted. Other deletion schemes for deleting program based on the priority manager are contemplated by the present invention.
  • the prioritization of recorded programs or shows for deletion can also take other factors into account. These factors or criteria include, but are not limited to, watched/unwatched, recording date, and the priority. Some recorded programs are protected, for example, by a “keep until” date function. Shows can be primarily prioritized for deletion based on their priority and secondarily prioritized on whether the program has been watched or by the age of the recording based on the record date. A combination of these factors can be implemented in a deletion scheme.
  • a program with a low priority will be deleted before a program with a high priority.
  • a program from a series event that has been watched may be deleted before a program from the same series event that has not been watched.
  • the older program may be deleted before the more recent program is deleted.
  • a priority manager can be established for recorded programs.
  • the priority manager will contain a list of recorded programs that are subject to deletion. Each program may be associated with a date such as a keep until date. The user may determine or set the keep until date for each program in the priority manager for recorded programs. Some programs may have a keep until date of “forever,” indicating that these shows are not to be deleted. Other programs may simply have dates. When storage space is required, the keep until dates can be examined and the program that will expire first is pre-aged and deleted. If more storage space is required, another program can be aged and deleted in this manner. A user can use the priority manager for recorded shows to change these priorities as well. In other words, a priority manager for recorded programs determines which programs should be deleted according to their relative priorities just as a priority manager for record events determines which events are recorded according to their relative priorities.
  • the present invention extends to both methods and systems for managing record events.
  • the embodiments of the present invention may comprise a special purpose or general-purpose computer including various computer hardware, as discussed in greater detail below.
  • the set top box discussed herein in an example of a special purpose computer although the set top box discussed herein may also be a general purpose computer.
  • Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
  • Such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
  • Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
  • FIG. 6 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented.
  • the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by computers in network environments.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein.
  • the particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
  • the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • the invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional computer 20 , including a processing unit 21 , a system memory 22 , and a system bus 23 that couples various system components including the system memory 22 to the processing unit 21 .
  • the system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the system memory includes read only memory (ROM) 24 and random access memory (RAM) 25 .
  • ROM read only memory
  • RAM random access memory
  • a basic input/output system (BIOS) 26 containing the basic routines that help transfer information between elements within the computer 20 , such as during start-up, may be stored in ROM 24 .
  • the computer 20 may also include a magnetic hard disk drive 27 for reading from and writing to a magnetic hard disk 39 , a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29 , and an optical disk drive 30 for reading from or writing to removable optical disk 31 such as a CD-ROM or other optical media.
  • the magnetic hard disk drive 27 , magnetic disk drive 28 , and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32 , a magnetic disk drive-interface 33 , and an optical drive interface 34 , respectively.
  • the drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 20 .
  • exemplary environment described herein employs a magnetic hard disk 39 , a removable magnetic disk 29 and a removable optical disk 31
  • other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile disks, Bernoulli cartridges, RAMs, ROMs, and the like.
  • Program code means comprising one or more program modules may be stored on the hard disk 39 , magnetic disk 29 , optical disk 31 , ROM 24 or RAM 25 , including an operating system 35 , one or more application programs 36 , other program modules 37 , and program data 38 .
  • a user may enter commands and information into the computer 20 through keyboard 40 , pointing device 42 , or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like.
  • These and other input devices are often connected to the processing unit 21 through a serial port interface 46 coupled to system bus 23 .
  • the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB).
  • a monitor 47 or another display device is also connected to system bus 23 via an interface, such as video adapter 48 .
  • personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
  • the computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 49 a and 49 b.
  • Remote computers 49 a and 49 b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the computer 20 , although only memory storage devices 50 a and 50 b and their associated application programs 36 a and 36 b have been illustrated in FIG. 6 .
  • the logical connections depicted in FIG. 6 include a local area network (LAN) 51 and a wide area network (WAN) 52 that are presented here by way of example and not limitation.
  • LAN local area network
  • WAN wide area network
  • the computer 20 When used in a LAN networking environment, the computer 20 is connected to the local network 51 through a network interface or adapter 53 .
  • the computer 20 may include a modem 54 , a wireless link, or other means for establishing communications over the wide area network 52 , such as the Internet.
  • the modem 54 which may be internal or external, is connected to the system bus 23 via the serial port interface 46 .
  • program modules depicted relative to the computer 20 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network 52 may be used.

Abstract

Systems, methods, and computer program products for managing and prioritizing record events. A priority manager includes an event list that lists scheduled record events. Each event in the event list has a priority that is different from the other events in the event list. If some of the events conflict, such as when a tuning resource is lost and unavailable, then those events with the highest priority in the event list are recorded. A user can assign priority to events when they are scheduled or at a later time. This enables event conflicts to be resolved by the user when the events are initially scheduled. When an event conflict arises later, the conflict is resolved by the priority manager according to the relative priority of the events in the event list.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of co-pending U.S. application Ser. No. 10/131,661, filed Apr. 24, 2002 and entitled “Managing Record Events”, now issued as U.S. Pat. No. ______, on ______, and which is incorporated herein by this reference, in its entirety.
  • BACKGROUND OF THE INVENTION
  • 1. The Field of the Invention
  • The present invention relates to managing and scheduling events. More particularly, the present invention relates to systems, methods, and computer program products for managing record events using a priority manager to resolve conflicts that occur between some of the recording events.
  • 2. Background and Relevant Art
  • Today, many devices have the ability to digitally record a video stream such as a television program. The recorded video streams are often stored on a hard drive where they may be viewed at the leisure of a user. In fact, some homes have more than one device that is able to record video streams. In addition to viewing and recording video streams, these devices often provide other functionality to users, such as browsing the Internet.
  • Even though a network may have more than one device that can view and record video streams, the number of video streams that can be concurrently recorded is often limited by the number of tuners that are present in the recording devices. Tuners are effectively a limited resource and users encounter situations where they want to concurrently record more video streams than they have tuners. Because of these conflicts, there is a need to determine which video streams or programs should be recorded.
  • There are many situations that can create an event conflict such as a recording conflict. For example, a recording conflict can occur when one of the programs to be recorded is rescheduled to broadcast at a different time that coincides with an already scheduled event. The rescheduled program is often reflected, for instance, in the guide data that is supplied to the recording device. Recording conflicts can also occur when a program runs longer than its scheduled time. In other words, a particular program may not end at its scheduled time, it may be interrupted by a breaking news story, and the like. Sporting events are a typical example of a program that may not end at a scheduled time. The ability to record beyond the scheduled ending time may conflict with another event that is already scheduled. Another situation where a recording conflict occurs is when a user schedules too many programs to record concurrently.
  • The complexity of managing these conflicts increases because of the flexibility the user has in scheduling recording events. A user, for example, can schedule an entire season of a particular program to be recorded. However, future guide data is limited in scope and potential conflicts cannot be determined when the record event is scheduled. Some of the future programs, for example, may not air on the same day or the week or they may be special episodes that last longer than normal episodes.
  • In another example, the user may schedule record events that are dependent on characteristics of the programs. For example, the user may want to record all programs that have a particular actor, which is determined by searching the guide data. These types of events cause conflicts that become known at a later time after these programs have been identified and scheduled. For at least these reasons, recording conflicts are practically inevitable.
  • SUMMARY OF THE INVENTION
  • The present invention recognizes the limitations of the prior art and the need for systems, methods, and computer program products that are able to manage and schedule events including record events. In accordance with the present invention, a priority manager enables a user to resolve conflicts when the event is initially scheduled. The priority manager also resolves conflicts in the absence of user input according to the priority of the events that are currently scheduled.
  • When a user schedules an event, the priority manager permits the user to establish the priority of the event or program. By default, an event receives the lowest priority in the priority manager if the priority is not set or assigned by the user. The priority manager is able to prioritize all types of record events, including but not limited to, single record events, series record events, smart record events, and manual record events.
  • Scheduled record events with higher priorities record before events of lower priority. Thus, if too many events or programs are scheduled to record concurrently, then those events or programs with the highest priority will be recorded and those with lower priorities will not be recorded. In this manner, the priority manager is able to resolve scheduling or recording conflicts that are not resolved by the user.
  • The user also has the ability to change the priority of any event. By changing the priority of an event, the user can thus resolve some of the recording conflicts before they occur and the priority manager ensures that high priority events are performed. In one example, a user may assign a low priority to an event that conflicts with another event. The new event will only record, for example, if higher priority events are canceled, rescheduled, or the like.
  • In some instances, there may be insufficient storage space on the recording device to successfully record all of the scheduled events. Another aspect of the present invention relates to deleting events or programs in order to provide sufficient storage space. This can be accomplished using the priority manager to pre-age recorded programs or scheduled events and recommend programs and/or events for deletion instead of simply deleting the oldest recording(s). The necessary storage space can also be provided by deleting recoverable resources through reprioritization. For example, the guide data can be searched to determine if a program currently recorded is broadcast in the future. If the program is broadcast in the future, then that program can be deleted and re-recorded on the future broadcast date.
  • Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
  • FIG. 1 illustrates exemplary sources that deliver content to a set top box and further illustrates an exemplary environment for implementing the present invention;
  • FIG. 2 illustrates a set top box including a priority manager for managing record events that are recorded using tuner resources;
  • FIG. 3 illustrates exemplary types of record events;
  • FIG. 4 illustrates a priority manager that has a list of prioritized record events and also illustrates that different applications have access to the priority manager;
  • FIG. 5 is a flow diagram illustrating an exemplary method for managing record events that conflict with other record events; and
  • FIG. 6 illustrates an exemplary system that provides a suitable operating environment for the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • The number of events that can be concurrently performed by a system such as a set top box or a network is often limited by the resources of the set top box or the network. With respect to record events, the number of video streams that are scheduled to be concurrently recorded by a set top box or by a network that has access to tuning resources is limited by the number of tuners that are available in the tuning resources of the set top box or network. Because of this limitation, it is possible that the tuning resources of the set top box/network will not be able to successfully record all of the video streams that are scheduled for recording.
  • The present invention relates to systems, methods, and computer program products for record events using a priority manager. The priority manager provides flexibility to the user and is not limited to making recording decisions based on when the record event is scheduled, which is often the case with first in first out (FIFO) and last in first out (LIFO) recording mechanisms.
  • The present invention provides a priority manager that manages all types of record events by assigning a priority to each record event. None of the scheduled record events will have the same priority and the priority manager is accessible to the user from various applications. The priority manager, for example, is available when the user schedules an event such that a potential conflict can be resolved when the event is scheduled by allowing the user to assign a preferred priority to some or all of the scheduled events. When the user is unable to resolve the conflict, then the scheduled events are recorded according to their assigned priority.
  • FIG. 1 illustrates an exemplary environment for implementing the present invention. FIG. 1 illustrates a source 100 that is connected with a set top box 110. Exemplary sources include, but are not limited to, a satellite system 102, a cable system 104 and the Internet 106. The content or data that is available from the source 100 includes, but is not limited to, audio/video data, video streams, text, guide data, services, software updates, advertisements, image data, other data and the like or any combination thereof
  • The set top box 110 is an exemplary computing environment that is able to receive, send and process content. Exemplary set top boxes include, but are not limited to, digital video recorders (DVRs), satellite receivers, Internet terminals, cable boxes, digital satellite systems (DSS), and the like or any combination thereof. The set top box 110, for example, may also function as a server computer for a home network. In this situation, the set top box 110 would distribute content from the source 100 to other set top boxes.
  • FIG. 2 illustrates an exemplary set top box where the present invention may be implemented. The set top box 110 includes a storage 204, such as a hard drive or other storage device. The set top box stores recorded programs 206, guide data 208, and other applications and data on the storage 204. The guide data 208 describes some of the content that is available from the source 100 illustrated in FIG. 1. The guide data 208 includes, but is not limited to, program start times, program end times, program titles, program duration, ratings, actors/actresses, and the like and any combination thereof.
  • The set top box 110 also has tuner resources 210. The tuner resources 210 include tuners 211, 212, and 213. The tuner resources 210 are used to retrieve or receive content from the sources 100. When a live television program is being watched by a user, for example, a tuner is required to view the program. A tuner is also required to record a program. In this specific example, the set top box 110 is able to concurrently record three programs or video streams because the tuner resources 210 include three tuners. It is understood by one of skill in the art that the set top box 110 may include any number of tuners and that the number of concurrent recordings is limited to the number of tuners.
  • The set top box 110 also includes a priority manager 220 that manages record events 222. While the present invention is discussed in terms of record events, it is understood that the principles taught herein can be applied to other types of events such as delete events or reminder events. The record events 222 are created by the scheduler 202 and are ordered according to their priority. By default, newly scheduled events have the lowest priority unless altered by the user or the set top box 110.
  • The ability to change the priority of a particular event can occur either explicitly or implicitly. For example, the record events 222 can be displayed to a user and the user can manipulate the priorities of the record events. Alternatively, the priority of a particular event is altered by having the user choose which program to record when a conflict occurs. For example, when a user decides to record a program and the priority manager determines that there is a conflict, which indicates that a tuner will not be available for the entire duration of the program that is being scheduled to record, then the user is presented with the option of recording the previously scheduled program or recording the current program.
  • If the user selects to record the previously scheduled program, then the current program has the option of being recorded until the previously scheduled program begins. Also, the current program is given a lower priority in the priority manager than the conflicting record event. If the user elects to record the current program, then the previously scheduled program is not recorded and the current program is given the highest priority in the priority manager than the conflicting record event. Alternatively, the current program is given sufficient priority to ensure that it is recorded ahead of the previously scheduled conflicting event. Often, the new event being scheduled is given a priority greater than the lowest priority event with which the event being scheduled conflicts.
  • FIG. 3 identifies exemplary record events 222. A single record event 224 occurs, for example, when a user identifies a program from the guide data that is provided to the set top box and stored on the set top box. After the program is identified by the user, the user can choose to record the event. The start time, end time, and other program attributes are typically determined from the guide data and the user is not required to provide this data to the set top box or the scheduler. When a single record event 224 is finished recording, it is removed from the record events 222.
  • A series record event 226 can also be identified from the guide data. The user typically identifies the program as a series and that the user desires to record all programs of the series. For example, series television programs are typically shown on a weekly basis. Scheduling a series record event 226 for a particular program causes the set top box to record each episode of the selected program. The method by which the set top box identifies the program as a series is known in the art. The series record event 226 typically remains in the record events 222 even after a particular episode of a program finishes recording because future episodes have not been recorded yet.
  • A single manual record event 228, on the other hand, typically identifies a time block during which a particular channel is recorded by the set top box. Certain attributes of the program being recorded, such as those described herein, are not typically known. A repeated manual record event 230 is similar to a single manual record event 228, with the difference that the repeated manual record event 230 occurs more than once. For example, a user can create a single manual record event 228 by causing the set top box to record a particular channel from 6:00 p.m. to 8:00 p.m. on a particular Tuesday. The user can create a repeated manual record event 230 by causing the set top box to record a particular channel from 6:00 p.m. to 8:00 p.m. on every Tuesday. A single manual record event 228 is removed from the record events 222 after the recording terminates, while a repeated manual record event is not necessarily removed from the record events 222.
  • FIG. 3 further illustrates other record events 232, which refers to other types of record events. One example of another record event is a smart record event. In a smart record event, the user indicates that he or she desires to record all programs that have a particular attribute or characteristic. The set top box or the scheduler is able to search the guide data for these attributes or characteristics. When a program is found that matches the attributes or characteristics, the program is scheduled as a record event by the scheduler in the priority manager.
  • For example, a user may desire to record all sporting events that include a particular team. The scheduler can search the guide data to find these events and schedule those that are found in the guide data. As new guide data is received by the set top box, the guide data is searched to determine if any future programs should be scheduled for recording according to the smart record event.
  • Because this type of event is typically scheduled without input from the user when it is scheduled, it is given a default priority in the record events of the priority manager. If there is a conflict, the conflict can be brought to the attention of the user, for example, by displaying a conflict notice. If the conflict is not resolved, the events with higher priority are given preference and are recorded before lower priority events are recorded.
  • FIG. 4 is a block diagram illustrating a priority manager. The priority manager 220 of FIG. 4 illustrates record events 222. The record events 222 include all events that have been scheduled for recording in this example. As previously noted, other events may be managed and scheduled by the priority manager 220. This example includes event 402, 403 and 404. The first event in the record events 222 is the event 402 and the last event is the event 404. The order of the events in the record events 222 also illustrates the priority of the event. Thus, the event 402, because it is the first listed event, has the highest priority. The event 404, because it is listed last, has the lowest priority of all events in the record events 222. None of the events in the record events 222 have the same priority.
  • FIG. 4 further illustrates how the priority manager may be used to prioritize scheduled events. When a user is scheduling a record event, a program 406 may be selected or identified from the guide data 405. After the program is selected and if there is no conflict, the selected program is scheduled as the lowest priority recording event in the record events 222. The priority manger, however, can assign a priority to any event including new events and the present invention is not limited to assigning a lowest priority to newly scheduled record events. In some instances, the priority assigned to a particular event is received from the user. When a conflict is present, the new event may be given the highest priority.
  • Alternatively, the user is able to give the newly scheduled event an assigned priority. The user has the option of inserting the newly scheduled event at any point of the record events 220. In other words, the priority manager is typically displayed to the user and the user is able to view all of the scheduled events in the record events 222. The new event will be placed in the record events 222 by the priority manager 220 according to how the user resolves the conflict. If, for example, the user decides to permit previously scheduled event to take priority over the newly scheduled event, then the new event is placed at the bottom of the record events 222 and has the lowest priority. In this manner, a priority is assigned to each scheduled event managed by the priority manager.
  • If the user decides to permit the new event to have priority over older events, the new event is inserted in the list of events one place higher than the highest priority event that conflicts with the new event. Thus, if the new event conflicts with the event 403, then the new event would be inserted above the event 403 and below the event 402. Alternatively, the new event can be inserted above the event 402 such that the new event has the highest priority. The user can also manually insert the event anywhere in the record events 222 of the priority manager 220.
  • In another example, the user may simply be informed that the event being scheduled conflicts with an existing event. The user is then given the option of either recording the existing event or of recording the new event. If the user determines that he or she would rather record the new event, then the new event is given a priority in the record events 222 that is higher than the existing event or the new event is given the highest priority. If the new event conflicts with multiple events, then the new event is given: a priority that is at least higher than the lowest priority event of the conflicting events, a priority that is higher than the highest priority event of the conflicting events, or the highest priority. If the user elects to record the previously scheduled event, then the new event is still scheduled by the priority manager 220, but it is given a lower priority than the conflicting events or the new event is given the lowest priority. This enables the set top box to record the event in the case where a higher priority event is deleted or rescheduled, for example.
  • The priority manager can have a default prioritization mechanism where new events are either assigned the highest priority or are assigned a priority that is higher than the highest priority event of conflicting events. Conversely, when the new event is to be given a low priority, the priority manager can assign the lowest priority to the new event or can assign a priority that is lower than the lowest priority of the conflicting events. In other words, various schemes can be used to determine the priority of a new event. By giving the new event the highest priority, the user is assured that this event will record. By giving the new event a priority that is higher than the lowest priority of the conflicting events, it is possible that the event will not be recorded, especially if the number of conflicting events is greater than the number of tuners in the system. Thus, new events are preferably given the highest priority.
  • FIG. 4 also illustrates that the priority manager 220 is accessible from multiple applications. As described above, the priority manager 220 is available from the scheduler 202 or when a user is scheduling an event and resolving conflicts that arise with respect to the newly scheduled event. The priority manager 220 is also accessible from the recorded programs 408.
  • For example, a series record event is set to record a program on a weekly basis. One week, the recording does not occur. The user is able to view a history log in the recorded programs 408 and discover that other programs with higher priority were scheduled to record. As a result, the series record event did not record. The user can access the priority manager 220 and set the priority of the series record event higher.
  • If the user does not resolve a conflict when an event is scheduled, then the priority manager resolves conflicts between events in the event list. In one example, the programs are recorded according to their priority in the record events 222 of the priority manager 220. If the set top box has three tuners and four programs are scheduled to concurrently record, then the program with the lowest priority will not be recorded. As previously mentioned, the user can assign a new priority to the unrecorded program, assuming that the program can be recorded in the future. A single record event, for example, is deleted from the record events 222 after it finishes recording or after its scheduled broadcast time lapses.
  • When the user adjusts the priorities of recording events, the events are often displayed to reflect their type. In other words, a user is able to visually determine whether an event is a series record event, a manual record event, etc. This information can be used as needed by the user in determining a priority for a particular event. Whenever there is a change in the priority of the events managed by the priority manager, the scheduler dynamically updates the event list of programs that are to be recorded. The programs that will not be recorded can also be displayed to the user from various applications.
  • FIG. 5 illustrates an exemplary flow diagram for using a priority manager to record events. The priority manager uses user input to schedule an event (500). The event may be received, as previously stated, from the guide data or any other source. The event may be a record event or other type of event. While the priority manager is scheduling the event for the user, the scheduler (which may be a module of the priority manager in one embodiment) determines whether there is a conflict (501) with another event. If there is no conflict, the new event is given a low priority (502) and the event is recorded as scheduled (507). Note that new event receives a low priority by default, but another priority may be assigned to the new event. The user and/or the priority manager, for example, may assign the new event the highest priority.
  • If a conflict exists between the new event and an existing event, then the user is given the opportunity to resolve the conflict (503). This can occur generally by allowing the user to give the new event a higher priority than older events (504). As previously described, the new event is assigned or given a priority that is higher than the lowest priority of the event that is in conflict with the new event. Alternatively, the new event is assigned a priority that is lower than the existing events (505) that conflict with the new event. In one example, the new event is given the lowest priority. In both cases, the priority can be assigned or set by the user and the new event can be inserted at any point of the record events in the record event list.
  • If the conflict is resolved (506), then the scheduled events are recorded as scheduled (507). If the conflict is not resolved, then the priority manager records or performs the events according to their priority in the event list of the priority manager (508). There are many situations that may cause the conflict to not be resolved. For example, the event may be given lower priority than conflicting events. In this case, the event will only record when higher priority events are deleted, rescheduled, etc. Alternatively, a conflict may not arise when the event is initially scheduled, but may arise later when the user is unable to resolve the conflict. A scheduled event may not end in a timely fashion and extend into another event, for example.
  • A conflict can also occur when the number of turners changes or when a tuning resource is lost. For example, a tuner may stop working or may be removed from the system in real-time. Alternatively, a record event with higher priority may begin and take a tuner from a lower priority event. The lower priority event thus loses the tuner or the tuning resource. The priority manager can then determine which events to keep recording or performing and which events are terminated based on the relative priorities of the events in the priority manager. Other real-time problems may arise that result in a lost tuner(s) or in an event conflict. In these and other situations, the events are recorded by the priority manager according to their priority in the event list as previously described.
  • The present invention also addresses the issue of ensuring that there is sufficient storage space to accommodate scheduled events. Often, it is necessary to delete some of the recorded events or programs from the storage of the recording device in these situations. A conflict can also arise when the recording device does not have sufficient storage space to accommodate future record events. For example, assume that a recording device is only able to store three (3) hours of video content. Further assume that there are four record events scheduled to record. The first three scheduled record events are recorded without difficulty. However, there is insufficient storage to successfully record the fourth record event.
  • This present invention addresses this issue by analyzing the recorded content and the guide data, which identifies future programs, such that recorded programs that are also broadcast in the future may be deleted and, at a later time, re-recorded. In this example, the first and third record events were one time events and will not be repeated in the future. A search of the guide data reveals that the second program will be broadcast again in seven days. Thus, the second program is deleted from the storage to make room for the fourth program. The deleted program is then re-recorded when it is broadcast in the future. If no storage space is available at that time, the above process may be repeated. If this process does not free storage space, then a default delete process is invoked. In one example, the oldest recorded program is deleted to free storage for the new record event.
  • Thus, the system first determines that there is not sufficient storage space to record a program. Next, it is necessary to estimate how much storage will be required for the program being recorded. This is done by examining the guide data to determine the program duration, at which point an estimation of the storage space can be made. The system then determines which programs or shows can be deleted. Each program typically has a title and an identifier. The identifier is often unique and helps the system distinguish, for example, between episodes of a television series. Using this information from the shows that are stored on the recording device, the guide data is searched to determine which of the recorded shows will be broadcast in the future.
  • After the system identifies which recorded programs will be broadcast in the future, enough programs are deleted to free sufficient storage space to record the record event. An event is typically scheduled for the deleted programs to ensure that they are re-recorded in the future. If insufficient storage space exists at that time, the process is repeated to ensure that all programs are successfully recorded on the recording device. To prevent a program from being re-recorded repeatedly, the program may simply be deleted after it has been watched, after a certain time period lapses, or after the same program has been recorded a certain number of times.
  • Another mechanism for freeing storage space is to use the priority manager. In this example, the priority manager can be used to prioritize recorded programs for potential deletion. Thus, a recorded program with the lowest priority will be deleted before a program of higher priority. When the events in the priority manager are recurring or series events, programs that were recorded because of a particular series event can be deleted based on the priority of the series event in the priority manager. The order in which programs are deleted can vary. For example, all programs from the series event with the lowest priority may be deleted before any programs from the next lowest series event are deleted. Alternatively, the system may require that a program be deleted from each series event before a second program from a particular series event is deleted. Other deletion schemes for deleting program based on the priority manager are contemplated by the present invention.
  • The prioritization of recorded programs or shows for deletion can also take other factors into account. These factors or criteria include, but are not limited to, watched/unwatched, recording date, and the priority. Some recorded programs are protected, for example, by a “keep until” date function. Shows can be primarily prioritized for deletion based on their priority and secondarily prioritized on whether the program has been watched or by the age of the recording based on the record date. A combination of these factors can be implemented in a deletion scheme.
  • A program with a low priority will be deleted before a program with a high priority. For example, a program from a series event that has been watched may be deleted before a program from the same series event that has not been watched. In another example, when two programs from the same series event have both been watched by the user, the older program may be deleted before the more recent program is deleted.
  • In another embodiment, a priority manager can be established for recorded programs. In this instance, the priority manager will contain a list of recorded programs that are subject to deletion. Each program may be associated with a date such as a keep until date. The user may determine or set the keep until date for each program in the priority manager for recorded programs. Some programs may have a keep until date of “forever,” indicating that these shows are not to be deleted. Other programs may simply have dates. When storage space is required, the keep until dates can be examined and the program that will expire first is pre-aged and deleted. If more storage space is required, another program can be aged and deleted in this manner. A user can use the priority manager for recorded shows to change these priorities as well. In other words, a priority manager for recorded programs determines which programs should be deleted according to their relative priorities just as a priority manager for record events determines which events are recorded according to their relative priorities.
  • The present invention extends to both methods and systems for managing record events. The embodiments of the present invention may comprise a special purpose or general-purpose computer including various computer hardware, as discussed in greater detail below. The set top box discussed herein in an example of a special purpose computer although the set top box discussed herein may also be a general purpose computer.
  • Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
  • FIG. 6 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by computers in network environments. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
  • Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
  • With reference to FIG. 6, an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional computer 20, including a processing unit 21, a system memory 22, and a system bus 23 that couples various system components including the system memory 22 to the processing unit 21. The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help transfer information between elements within the computer 20, such as during start-up, may be stored in ROM 24.
  • The computer 20 may also include a magnetic hard disk drive 27 for reading from and writing to a magnetic hard disk 39, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to removable optical disk 31 such as a CD-ROM or other optical media. The magnetic hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive-interface 33, and an optical drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 20. Although the exemplary environment described herein employs a magnetic hard disk 39, a removable magnetic disk 29 and a removable optical disk 31, other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile disks, Bernoulli cartridges, RAMs, ROMs, and the like.
  • Program code means comprising one or more program modules may be stored on the hard disk 39, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37, and program data 38. A user may enter commands and information into the computer 20 through keyboard 40, pointing device 42, or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 coupled to system bus 23. Alternatively, the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). A monitor 47 or another display device is also connected to system bus 23 via an interface, such as video adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
  • The computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 49 a and 49 b. Remote computers 49 a and 49 b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the computer 20, although only memory storage devices 50 a and 50 b and their associated application programs 36 a and 36 b have been illustrated in FIG. 6. The logical connections depicted in FIG. 6 include a local area network (LAN) 51 and a wide area network (WAN) 52 that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet.
  • When used in a LAN networking environment, the computer 20 is connected to the local network 51 through a network interface or adapter 53. When used in a WAN networking environment, the computer 20 may include a modem 54, a wireless link, or other means for establishing communications over the wide area network 52, such as the Internet. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network 52 may be used.
  • The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (20)

1. In a system that includes tuner resources, wherein tuner resources are required to perform record events in the system and wherein one or more record events are scheduled to record by using the tuner resources, a method for managing the record events such that the events are recorded according to their priority at least when a tuning resource is unavailable, the method comprising:
maintaining a record event list with a priority manager, wherein the record event list includes one or more record events that have different priorities;
scheduling a new event, wherein scheduling the new event creates a conflict when a tuning resource is unavailable, the conflict being created with at least one other event that is already included in the record event list;
assigning a priority to the new event;
determining the record events to record when a tuning resource is unavailable, based on priorities of the record events in the record event list; and
performing the record events in the record event list that have the highest priority.
2. A method as defined in claim 1, wherein determining the record events to record comprises determining that at least one tuning resource has become unavailable during a record event and wherein performing the record event comprises continuing recording of record events based on priorities of the record events in the record event list.
3. A method as defined in claim 1, wherein assigning a priority to the new event comprises assigning the new event a higher priority than at least one conflicting event in the record event list.
4. A method as defined in claim 1, wherein assigning a priority to the new event comprises assigning the new event a lower priority than at least one conflicting event in the record event list.
5. A method as defined in claim 1, further comprising recording events with the highest priorities even when a conflict with another event is unresolved, wherein the conflicting events that have the lowest priority are not recorded.
6. A method as defined in claim 1, further comprising assigning a default priority to the new event when the new event does not conflict with an event that is already scheduled.
7. A method as defined in claim 1, wherein determining the record events to record when a tuning resource is unavailable further comprises:
determining that there is insufficient storage to perform the record events in the record event list; and
deleting at least one program from the storage such that there is sufficient storage to perform a pending event in the record event list.
8. A method as defined in claim 7, wherein deleting at least one program from the storage such that there is sufficient storage to perform a pending event in the record event list further comprises:
identifying each program stored in the storage;
searching guide data to determine a program stored in the storage that is broadcast in the future;
deleting only programs scheduled for broadcast in the future; and
re-recording each deleted program at a later time.
9. A method as defined in claim 7, wherein deleting at least one program from the storage such that there is sufficient storage to perform the events in the record event list further comprises at least one of:
using the priority manager to identify programs for deletion based on a priority of the recorded programs; and
using criteria to determine which programs are deleted, wherein the criteria includes each of whether a recorded program is watched or unwatched, when a program was recorded, and a priority of the recorded program.
10. A method as defined in claim 7, wherein deleting at least one program from the storage such that there is sufficient storage to perform a pending event in the record event list further comprises deleting at least one program using a priority manager for recorded programs, wherein the priority manager for recorded shows prioritizes the recorded programs such that recorded programs with the lowest priority are deleted in order to perform the events in the record list.
11. In a system that records video streams received from a source, a method for prioritizing record events to determine which video streams are recorded when a tuning resource of the system is unavailable such that the system does not have sufficient tuning resources to record all of the record events, the method comprising:
scheduling one or more record events in an event list, wherein each of the record events in the event list has an associated priority;
establishing a priority for new record events in the event list, the priority for each new record event being established by a a priority manager;
determining whether sufficient tuning resources are available to record each of the record events in the event list;
when one or more tuning resources are unavailable, such that more record events are currently scheduled than there are available tuning resources, determining which record events to record when a tuning resource is unavailable based on priorities of the record events in the event list, and thereby recording the record events in the event list that have the highest priority.
12. A method as defined in claim 11, wherein scheduling one or more record events in an event list further comprises:
scheduling a single record event;
scheduling a series record event;
scheduling a single manual record event;
scheduling a repeated manual record event; and
scheduling a smart record event.
13. A method as defined in claim 11, wherein establishing a priority for new record events in the event list further comprises one of:
for a new event, assigning the new event a priority that is higher than the lowest priority of those record events in the event list that conflict with the new event; or
for the new event, assigning the new event a priority that is lower than those record events in the event list that conflict with the new event.
14. A method as defined in claim 11, wherein establishing a priority for new record events in the event list further comprises receiving an assignment of priority for at least one of the events in the event list from a user.
15. A method as defined in claim I 1, further comprising altering the priorities of the record events in the event list from another application.
16. A method as defined in claim 11, wherein determining which record events to record when a tuning resource is unavailable comprises determining which record events to keep recording when a tuning resource becomes unavailable during recording of a record event in the event list, wherein unavailability of the tuning resource creates a conflict between record events.
17. A computer-program product for use in a system that includes tuner resources, wherein tuner resources are required to perform record events in the system and wherein one or more record events are scheduled to record, the computer program product storing computer-executable instructions for managing the record events when one or more tuning resources are unavailable and such that the events are recorded according to their priority, the computer-executable instructions, when executed, causing the system to:
maintain a record event list with a priority manager, wherein the record event list includes one or more record events that have different priorities;
schedule a new event based on user input, wherein scheduling the new event creates a conflict when a tuning resource is unavailable, the conflict being created with at least one other event that is already included in the record event list;
assign a priority to the new event;
determine the record events to record when a tuning resource is unavailable, based on priorities of the record events in the record event list; and
perform the record events in the record event list that have the highest priority.
18. A computer-program product as defined in claim 17, wherein the computer program product is a set-top box.
19. A computer-program product as defined in claim 17, wherein the priority assigned to the new event is received from the user.
20. A computer-program product as defined in claim 17, wherein the computer-executable instructions, when executed, further cause the system to record events with the highest priorities even when a conflict with another event is unresolved or a tuning resource is unavailable, wherein conflicting events that have the lowest priority are not recorded.
US12/102,717 2002-04-24 2008-04-14 Managing record events Abandoned US20080196065A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/102,717 US20080196065A1 (en) 2002-04-24 2008-04-14 Managing record events

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/131,661 US7369750B2 (en) 2002-04-24 2002-04-24 Managing record events
US12/102,717 US20080196065A1 (en) 2002-04-24 2008-04-14 Managing record events

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/131,661 Continuation US7369750B2 (en) 2002-04-24 2002-04-24 Managing record events

Publications (1)

Publication Number Publication Date
US20080196065A1 true US20080196065A1 (en) 2008-08-14

Family

ID=29248611

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/131,661 Active 2026-05-09 US7369750B2 (en) 2002-04-24 2002-04-24 Managing record events
US12/102,717 Abandoned US20080196065A1 (en) 2002-04-24 2008-04-14 Managing record events

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/131,661 Active 2026-05-09 US7369750B2 (en) 2002-04-24 2002-04-24 Managing record events

Country Status (1)

Country Link
US (2) US7369750B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053167A1 (en) * 2004-09-08 2006-03-09 Konica Minolta Business Technologies, Inc. Image processing apparatus having storage areas for storing files
US20080134252A1 (en) * 2006-12-05 2008-06-05 Bhogal Kulvir S Recording video broadcasts that end at a time different than the originally scheduled time
US20080276284A1 (en) * 2007-05-04 2008-11-06 United Video Properties, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
US20100061708A1 (en) * 2008-09-05 2010-03-11 Barton James M Server-based program recording scheduling
US20100158476A1 (en) * 2008-12-18 2010-06-24 Verizon Data Services,Llc Methods, Systems and Computer Program Products for Local DVR Scheduling Conflict Management
US20110099582A1 (en) * 2009-10-23 2011-04-28 At&T Intellectual Property I, L.P. Systems and Methods to Perform Actions Upon Content Items Associated with Multiple Series Subscriptions
US20130064526A1 (en) * 2011-09-14 2013-03-14 Eldon Technology Limited Handling Requests When Available Channel Selectors Are in Use
CN103841245A (en) * 2014-03-04 2014-06-04 海能达通信股份有限公司 Traffic network recording method and relevant device
US20150208205A1 (en) * 2012-10-02 2015-07-23 Nextbit Systems, Inc. Managing user data on an electronic device
US9357264B2 (en) 2011-09-22 2016-05-31 Thomson Licensing Method and apparatus for processing requests for recording content
US9445162B2 (en) 2012-10-15 2016-09-13 Zte Corporation Interactive personal/internet protocol television reservation system, reservation plan management method and device
US9662567B2 (en) 2014-04-08 2017-05-30 Razer (Asia-Pacific) Pte. Ltd. Optimizing gaming applications accessed by electronic devices
US9678735B2 (en) 2012-10-02 2017-06-13 Razer (Asia-Pacific) Pte. Ltd. Data caching among interconnected devices

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
MX340336B (en) 1997-07-21 2016-07-06 Gemstar Dev Corp Systems and methods for displaying and recording control interfaces.
CN1867068A (en) 1998-07-14 2006-11-22 联合视频制品公司 Client-server based interactive television program guide system with remote server recording
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
KR20130066712A (en) 2000-10-11 2013-06-20 유나이티드 비디오 프로퍼티즈, 인크. Systems and methods for delivering media content
US8677423B2 (en) * 2000-12-28 2014-03-18 At&T Intellectual Property I, L. P. Digital residential entertainment system
KR101548473B1 (en) * 2001-02-21 2015-08-28 로비 가이드스, 인크. Systems and methods for interactive program guides with personal video recording features
US7774816B2 (en) * 2002-04-23 2010-08-10 Rovi Technologies Corporation Conflict manager for a video recorder
US7581238B1 (en) * 2002-04-25 2009-08-25 Microsoft Corporation Program episodes recording
US7882528B1 (en) * 2002-09-19 2011-02-01 Microsoft Corporation Methods and systems for enhancing a user's viewing experience
US7954127B2 (en) * 2002-09-25 2011-05-31 The Directv Group, Inc. Direct broadcast signal distribution methods
CN1723697A (en) * 2002-12-13 2006-01-18 皇家飞利浦电子股份有限公司 System,method and apparatus for searching for and automatically recording broac ast programmes
US8712218B1 (en) 2002-12-17 2014-04-29 At&T Intellectual Property Ii, L.P. System and method for providing program recommendations through multimedia searching based on established viewer preferences
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US8116611B2 (en) * 2003-02-10 2012-02-14 Aptiv Digital, Inc. Tuner sharing video recorder system architecture
US20040213557A1 (en) * 2003-04-23 2004-10-28 Pioneer Digital Technologies, Inc. Non-hierarchical interface screens for use in a video recorder
US7454120B2 (en) 2003-07-02 2008-11-18 Macrovision Corporation Methods and apparatus for client aggregation of television programming in a networked personal video recording system
US8438601B2 (en) 2003-07-02 2013-05-07 Rovi Solutions Corporation Resource management for a networked personal video recording system
JP4518762B2 (en) * 2003-08-12 2010-08-04 ソニー株式会社 Content guidance information processing apparatus, content guidance information processing method, and computer program
US8959567B1 (en) * 2003-08-15 2015-02-17 Verizon Patent And Licensing Inc. Identification and recording of program sub-segments
JP4211541B2 (en) * 2003-09-01 2009-01-21 ソニー株式会社 Recording control system and recording reservation processing method
US20050055715A1 (en) * 2003-09-05 2005-03-10 Echostar Technologies Corporation Method and apparatus for updating television recording timers
JP2005094624A (en) * 2003-09-19 2005-04-07 Canon Inc Recording apparatus
US9380269B2 (en) * 2003-09-23 2016-06-28 Time Warner Cable Enterprises Llc Scheduling trigger apparatus and method
US8528015B2 (en) * 2003-11-06 2013-09-03 Aptiv Digital, Inc. Resource sharing system of set-top boxes
US8302111B2 (en) 2003-11-24 2012-10-30 Time Warner Cable Inc. Methods and apparatus for hardware registration in a network device
US7266726B1 (en) 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
CN1894746B (en) * 2003-12-12 2010-12-15 松下电器产业株式会社 Data processing device and data processing method
US8032008B2 (en) * 2003-12-25 2011-10-04 Sony Corporation Content recording/reproduction device, content recording/reproduction method, information processing device, and content recording/reproduction system
US7861274B2 (en) 2004-01-13 2010-12-28 Time Warner Cable, Inc. System and method for managing program assets
US9213538B1 (en) 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
US8677429B2 (en) * 2004-05-06 2014-03-18 Cisco Technology Inc. Resource conflict resolution for multiple television
US7743398B2 (en) * 2004-08-13 2010-06-22 Microsoft Corporation Video recording conflict management and user interface
US7380264B2 (en) * 2004-08-13 2008-05-27 Microsoft Corporation Systems for unifying heterogeneous multimedia tuners
US9002328B2 (en) * 2004-08-23 2015-04-07 At&T Intellectual Property I, L.P. Electronic calendar for automatically scheduling a plurality of events based on a scheduling request and obtained additional information
US8806533B1 (en) 2004-10-08 2014-08-12 United Video Properties, Inc. System and method for using television information codes
US20060104611A1 (en) * 2004-11-15 2006-05-18 Pioneer Research Center Usa, Inc. Flexible conflict resolution in scheduled recording of broadcast content
KR100689408B1 (en) * 2004-12-13 2007-03-08 엘지전자 주식회사 Method and apparatus for changing information of program recording reservation
US20080312897A1 (en) * 2005-01-17 2008-12-18 Koninklijke Philips Electronics, N.V. Programmable Device and Method of Previewing User-Programmed Events of Programmable Devices
KR100672317B1 (en) * 2005-02-22 2007-01-24 엘지전자 주식회사 Device and method for reserved recording by the priority order of user's setting in Personal Video Recorder
US7593621B2 (en) * 2005-03-07 2009-09-22 Mediatek Incorporation Method of reserving space on a storage medium for recording audio and video content and recofding device thereof
JP2006279611A (en) * 2005-03-29 2006-10-12 Toshiba Corp Reserved program recording apparatus and method thereof
CA2601792C (en) 2005-03-30 2016-02-09 United Video Properties, Inc. Systems and methods for video-rich navigation
US8621525B2 (en) * 2005-04-01 2013-12-31 The Directv Group, Inc. Signal injection via power supply
US8024759B2 (en) 2005-04-01 2011-09-20 The Directv Group, Inc. Backwards-compatible frequency translation module for satellite video delivery
US8549565B2 (en) 2005-04-01 2013-10-01 The Directv Group, Inc. Power balancing signal combiner
US7571454B2 (en) 2005-05-04 2009-08-04 Microsoft Corporation Strategies for updating schedules
US7584497B2 (en) * 2005-05-24 2009-09-01 Microsoft Corporation Strategies for scheduling bandwidth-consuming media events
JP2008543123A (en) * 2005-05-31 2008-11-27 松下電器産業株式会社 Broadcast receiving terminal
KR20060134395A (en) * 2005-06-22 2006-12-28 엘지전자 주식회사 Cable broadcasting receiver and firmware upgrading method
US8719857B1 (en) 2005-08-24 2014-05-06 Rovi Guides, Inc. Systems and methods for providing parental control features in video mosaic environments
KR100647371B1 (en) * 2005-08-25 2006-11-23 엘지전자 주식회사 Apparatus and method for record space management in the record and paly apparatus
US7937732B2 (en) * 2005-09-02 2011-05-03 The Directv Group, Inc. Network fraud prevention via registration and verification
US8789115B2 (en) 2005-09-02 2014-07-22 The Directv Group, Inc. Frequency translation module discovery and configuration
KR101215350B1 (en) * 2005-09-14 2012-12-26 엘지전자 주식회사 Cable broadcasting receiver and firmware upgrading method
US20070083895A1 (en) * 2005-10-12 2007-04-12 Sbc Knowledge Ventures, L.P. System and method of managing television information
US8582946B2 (en) 2005-11-04 2013-11-12 Rovi Guides, Inc. Systems and methods for recording programs using a network recording device as supplemental storage
US9390405B2 (en) * 2006-01-05 2016-07-12 International Business Machines Corporation System and method for providing profile enhancement using scheduling information
US7634652B2 (en) * 2006-01-12 2009-12-15 Microsoft Corporation Management of streaming content
US7669222B2 (en) * 2006-01-17 2010-02-23 Microsoft Corporation Virtual tuner management
US20070174883A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Token Bandwidth Portioning
US8739230B2 (en) * 2006-01-20 2014-05-27 Microsoft Corporation Manager/remote content architecture
US7685306B2 (en) * 2006-01-20 2010-03-23 Microsoft Corporation Streaming content navigation
KR100765773B1 (en) * 2006-02-24 2007-10-15 삼성전자주식회사 Broadcating program storing apparatus, method for displaying the status and administering for the same
US20070204313A1 (en) * 2006-02-27 2007-08-30 Microsoft Corporation Token Locking to Schedule Content Consumption
US20070203714A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Purchasable Token Bandwidth Portioning
CN101395559A (en) * 2006-03-01 2009-03-25 Tivo有限公司 Recommended recording and downloading guides
US8707369B2 (en) * 2006-03-01 2014-04-22 Tivo Inc. Recommended recording and downloading guides
US7657526B2 (en) 2006-03-06 2010-02-02 Veveo, Inc. Methods and systems for selecting and presenting content based on activity level spikes associated with the content
KR100763203B1 (en) * 2006-03-07 2007-10-04 삼성전자주식회사 Method for tuning broadcast channel using virtual channel and broadcast receiving device for the same
US20070250865A1 (en) * 2006-03-23 2007-10-25 Krakirian Haig H System and method for selectively recording program content from a mosaic display
US8316394B2 (en) 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
KR20070098056A (en) * 2006-03-30 2007-10-05 엘지전자 주식회사 The method of controlling the unbound applications of data broadcasting, and the receiver for controlling the same
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US9386327B2 (en) 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
BRPI0712582A2 (en) * 2006-06-09 2012-10-16 Directv Group Inc system for receiving satellite video signals for display on a monitor and apparatus for displaying video information
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
AR061528A1 (en) * 2006-06-19 2008-09-03 Directv Group Inc DEDICATED TUNER FOR NETWORK ADMINISTRATION FUNCTIONS
US7809242B2 (en) * 2006-06-23 2010-10-05 Microsoft Corporation Recording resource limitation resolution
US8719875B2 (en) * 2006-11-06 2014-05-06 The Directv Group, Inc. Satellite television IP bitstream generator receiving unit
US20080120655A1 (en) * 2006-11-22 2008-05-22 The Directv Group, Inc. Integrated satellite master antenna television unit
US20080163059A1 (en) 2006-12-28 2008-07-03 Guideworks, Llc Systems and methods for creating custom video mosaic pages with local content
US9552571B2 (en) * 2007-02-02 2017-01-24 Blackberry Limited Electronic device and method of meeting notification
US20080187291A1 (en) * 2007-02-05 2008-08-07 Microsoft Corporation Prioritization for video acquisition
US7849056B2 (en) * 2007-02-09 2010-12-07 Research In Motion Limited System and method for managing databases associated with respective personal information manager service accounts
FR2913295B1 (en) 2007-03-02 2010-09-10 Sagem Comm METHOD FOR DOWNLOADING IN A RECEIVER / TELEVISION DECODER UNIT.
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US8086478B2 (en) * 2007-03-29 2011-12-27 International Business Machines Corporation Method and system for managing conflicting calendar entries
US8712318B2 (en) * 2007-05-29 2014-04-29 The Directv Group, Inc. Integrated multi-sat LNB and frequency translation module
US20080307485A1 (en) * 2007-06-05 2008-12-11 Microsoft Corporation Automatic extension of recording using in-band and out-of-band data sources
US8250610B2 (en) * 2007-06-22 2012-08-21 Verizon Patent And Licensing Inc. Method, computer program product and apparatus for receiving recording recommendations
US20090025034A1 (en) * 2007-07-16 2009-01-22 Tessa Modiri Personal television guide
EP2020817A1 (en) * 2007-08-01 2009-02-04 Sony Corporation Method for selection of a user desired part of a video signal
US20110221913A1 (en) * 2007-08-09 2011-09-15 Panasonic Corporation Recorder
US8238813B1 (en) 2007-08-20 2012-08-07 The Directv Group, Inc. Computationally efficient design for broadcast satellite single wire and/or direct demod interface
US20090063239A1 (en) * 2007-08-30 2009-03-05 Ibm Corporation Method and Apparatus for Providing an Electronic Calendar with an Indication of Timeslot Availability Dependent on the Importance of a Requester
EP2253143B1 (en) * 2007-09-07 2015-11-04 Getmore TV Sarl System and method for programming video recorders
US20090083112A1 (en) * 2007-09-24 2009-03-26 International Business Machines Corporation Automated Event Modification in Electronic Calendar Systems
US9942618B2 (en) 2007-10-31 2018-04-10 The Directv Group, Inc. SMATV headend using IP transport stream input and method for operating the same
US8272015B2 (en) 2007-11-01 2012-09-18 Microsoft Corporation Alternate source conflict resolution
JP5142673B2 (en) * 2007-11-09 2013-02-13 株式会社東芝 Recording apparatus and recording reservation processing method
JP4568323B2 (en) * 2007-12-07 2010-10-27 富士通株式会社 Broadcast program recording device
US20090165036A1 (en) * 2007-12-21 2009-06-25 Guideworks, Llc Deleting two or more stored media program references based on at least one program reference attribute
US8347334B2 (en) * 2008-01-31 2013-01-01 At&T Intellectual Property I, Lp System and method of recording television content
WO2009102470A2 (en) * 2008-02-12 2009-08-20 Pacific Biosciences Of California, Inc. Compositions and methods for use in analytical reactions
US9503691B2 (en) 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
JP4535166B2 (en) * 2008-04-30 2010-09-01 ソニー株式会社 Information receiving apparatus and method, program, and broadcasting system
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US8565586B2 (en) * 2009-05-20 2013-10-22 Microsoft Corporation Recorder vacation mode
US8332855B2 (en) * 2009-07-09 2012-12-11 Qualcomm Incorporated Method and apparatus for assigning priorities to composite events
US9178634B2 (en) * 2009-07-15 2015-11-03 Time Warner Cable Enterprises Llc Methods and apparatus for evaluating an audience in a content-based network
US8813124B2 (en) 2009-07-15 2014-08-19 Time Warner Cable Enterprises Llc Methods and apparatus for targeted secondary content insertion
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8365075B2 (en) * 2009-11-19 2013-01-29 International Business Machines Corporation Recording events in a virtual world
US8588590B1 (en) 2010-04-06 2013-11-19 Dominic M. Kotab Systems and methods for operation of recording devices such as digital video recorders (DVRs)
US9392209B1 (en) * 2010-04-08 2016-07-12 Dominic M. Kotab Systems and methods for recording television programs
US8701138B2 (en) 2010-04-23 2014-04-15 Time Warner Cable Enterprises Llc Zone control methods and apparatus
US9264652B2 (en) * 2010-07-30 2016-02-16 Verizon Patent And Licensing Inc. Home and network video caching
US9736524B2 (en) 2011-01-06 2017-08-15 Veveo, Inc. Methods of and systems for content search based on environment sampling
GB2491344B (en) * 2011-05-23 2015-07-29 Samsung Electronics Co Ltd Record list management
EP2528322A3 (en) * 2011-05-23 2014-09-17 Samsung Electronics Co., Ltd. Method for recording broadcast contents and broadcast receiving apparatus thereof
US20130024265A1 (en) * 2011-07-22 2013-01-24 Marc Lotzof Programmable Customer Loyalty and Discount Card
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
JP6040980B2 (en) * 2012-03-16 2016-12-07 日本電気株式会社 Time-series data processing device, time-series data processing method, and time-series data processing program
US9078040B2 (en) 2012-04-12 2015-07-07 Time Warner Cable Enterprises Llc Apparatus and methods for enabling media options in a content delivery network
US9854280B2 (en) 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
JP5995571B2 (en) * 2012-07-17 2016-09-21 キヤノン株式会社 Information processing apparatus and control method thereof
US8862155B2 (en) 2012-08-30 2014-10-14 Time Warner Cable Enterprises Llc Apparatus and methods for enabling location-based services within a premises
US9131283B2 (en) 2012-12-14 2015-09-08 Time Warner Cable Enterprises Llc Apparatus and methods for multimedia coordination
US8818178B1 (en) 2013-03-11 2014-08-26 International Business Machines Corporation Digital video recorder conflict handling employing rebroadcast requests
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
JP6234146B2 (en) * 2013-10-04 2017-11-22 キヤノン株式会社 RECORDING CONTROL DEVICE, RECORDING CONTROL METHOD, AND PROGRAM
US20160294605A1 (en) * 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US10028025B2 (en) 2014-09-29 2018-07-17 Time Warner Cable Enterprises Llc Apparatus and methods for enabling presence-based and use-based services
US9467545B1 (en) * 2014-11-10 2016-10-11 GoneBusy, Inc. Specifically programmed computer-implemented engine systems for real-time on-demand discovery of available time slots across programmed schedule objects and methods of use thereof
GB201502357D0 (en) * 2015-02-12 2015-04-01 Nagra Media Uk Ltd Systems and methods for resolving recording conflicts
US10586023B2 (en) 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
US10467599B1 (en) * 2016-06-17 2019-11-05 United Services Automobile Association (Usaa) Dynamic event scheduling
US11212593B2 (en) 2016-09-27 2021-12-28 Time Warner Cable Enterprises Llc Apparatus and methods for automated secondary content management in a digital network
US10546275B2 (en) * 2016-12-09 2020-01-28 International Business Machines Corporation Assisting user in managing a calendar application
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
WO2020068071A1 (en) * 2018-09-26 2020-04-02 Rovi Guides, Inc. Systems and methods for resolving recording conflicts
WO2020077346A1 (en) 2018-10-12 2020-04-16 Charter Communications Operating, Llc Apparatus and methods for cell identification in wireless networks
US11129171B2 (en) 2019-02-27 2021-09-21 Charter Communications Operating, Llc Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system
US11374779B2 (en) 2019-06-30 2022-06-28 Charter Communications Operating, Llc Wireless enabled distributed data apparatus and methods
US11182222B2 (en) 2019-07-26 2021-11-23 Charter Communications Operating, Llc Methods and apparatus for multi-processor device software development and operation
US11026205B2 (en) 2019-10-23 2021-06-01 Charter Communications Operating, Llc Methods and apparatus for device registration in a quasi-licensed wireless system

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307173A (en) * 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
US20020035727A1 (en) * 2000-09-19 2002-03-21 Pioneer Corporation Program guide display apparatus and program guide display method
US20020046404A1 (en) * 2000-10-13 2002-04-18 Kenji Mizutani Remote accessible programming
US20020110360A1 (en) * 2001-02-09 2002-08-15 Potrebic Peter J. Systems and methods for recording fragmented programs
US20020118954A1 (en) * 2001-12-07 2002-08-29 Barton James M. Data storage management and scheduling system
US6449514B1 (en) * 1998-09-14 2002-09-10 Kabushiki Kaisha Toshiba Apparatus and method for network integrated management
US20020174430A1 (en) * 2001-02-21 2002-11-21 Ellis Michael D. Systems and methods for interactive program guides with personal video recording features
US20030023504A1 (en) * 2001-01-25 2003-01-30 Berenson Richard W. Distributed video on demand system
US6601237B1 (en) * 1998-12-23 2003-07-29 Koninklijke Philips Electronics N.V. Apparatus and method for rescheduling program conflicts in a virtual channel scheduling gap
US20030154484A1 (en) * 2002-02-11 2003-08-14 Plourde Harold J. Management of television presentation recordings
US20030198462A1 (en) * 2002-04-23 2003-10-23 Jim Bumgardner Conflict Manager for a Video Recorder
US6678463B1 (en) * 2000-08-02 2004-01-13 Opentv System and method for incorporating previously broadcast content into program recording
US20040181814A1 (en) * 1998-06-16 2004-09-16 United Video Properties, Inc. Interactive television program guide with simultaneous watch and record capabilities
US20050204388A1 (en) * 1998-06-11 2005-09-15 Knudson Edward B. Series reminders and series recording from an interactive television program guide
US20050237435A1 (en) * 2002-01-04 2005-10-27 Microsoft Corporation Method and apparatus for selecting among multiple tuners
US20090222875A1 (en) * 2002-04-18 2009-09-03 Cheng David J Distributed tuner allocation and conflict resolution
US7917008B1 (en) * 2001-08-19 2011-03-29 The Directv Group, Inc. Interface for resolving recording conflicts with network devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992022983A2 (en) * 1991-06-11 1992-12-23 Browne H Lee Large capacity, random access, multi-source recorder player

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307173A (en) * 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
US20050204388A1 (en) * 1998-06-11 2005-09-15 Knudson Edward B. Series reminders and series recording from an interactive television program guide
US20050235323A1 (en) * 1998-06-16 2005-10-20 United Video Properties, Inc. Interactive television program guide with simultaneous watch and record capabilities
US20040181814A1 (en) * 1998-06-16 2004-09-16 United Video Properties, Inc. Interactive television program guide with simultaneous watch and record capabilities
US6449514B1 (en) * 1998-09-14 2002-09-10 Kabushiki Kaisha Toshiba Apparatus and method for network integrated management
US6601237B1 (en) * 1998-12-23 2003-07-29 Koninklijke Philips Electronics N.V. Apparatus and method for rescheduling program conflicts in a virtual channel scheduling gap
US6678463B1 (en) * 2000-08-02 2004-01-13 Opentv System and method for incorporating previously broadcast content into program recording
US20020035727A1 (en) * 2000-09-19 2002-03-21 Pioneer Corporation Program guide display apparatus and program guide display method
US20020046404A1 (en) * 2000-10-13 2002-04-18 Kenji Mizutani Remote accessible programming
US20030023504A1 (en) * 2001-01-25 2003-01-30 Berenson Richard W. Distributed video on demand system
US20020110360A1 (en) * 2001-02-09 2002-08-15 Potrebic Peter J. Systems and methods for recording fragmented programs
US20020174430A1 (en) * 2001-02-21 2002-11-21 Ellis Michael D. Systems and methods for interactive program guides with personal video recording features
US20060140584A1 (en) * 2001-02-21 2006-06-29 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
US7917008B1 (en) * 2001-08-19 2011-03-29 The Directv Group, Inc. Interface for resolving recording conflicts with network devices
US20020118954A1 (en) * 2001-12-07 2002-08-29 Barton James M. Data storage management and scheduling system
US20050237435A1 (en) * 2002-01-04 2005-10-27 Microsoft Corporation Method and apparatus for selecting among multiple tuners
US20030154484A1 (en) * 2002-02-11 2003-08-14 Plourde Harold J. Management of television presentation recordings
US20090222875A1 (en) * 2002-04-18 2009-09-03 Cheng David J Distributed tuner allocation and conflict resolution
US20030198462A1 (en) * 2002-04-23 2003-10-23 Jim Bumgardner Conflict Manager for a Video Recorder
US7774816B2 (en) * 2002-04-23 2010-08-10 Rovi Technologies Corporation Conflict manager for a video recorder
US20100316355A1 (en) * 2002-04-23 2010-12-16 Aptiv Digital, Inc. Conflict manager for a video recorder

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053167A1 (en) * 2004-09-08 2006-03-09 Konica Minolta Business Technologies, Inc. Image processing apparatus having storage areas for storing files
US8326844B2 (en) * 2004-09-08 2012-12-04 Konica Minolta Business Technologies, Inc. Image processing apparatus having group storage areas for storing files for operator groups
US20080134252A1 (en) * 2006-12-05 2008-06-05 Bhogal Kulvir S Recording video broadcasts that end at a time different than the originally scheduled time
US9565389B2 (en) 2007-05-04 2017-02-07 Rovi Guides, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
US20080276284A1 (en) * 2007-05-04 2008-11-06 United Video Properties, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
US20080273856A1 (en) * 2007-05-04 2008-11-06 United Video Properties, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
US8798433B2 (en) 2007-05-04 2014-08-05 United Video Properties, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
US9179115B2 (en) 2008-09-05 2015-11-03 Tivo Inc. Server-based program recording scheduling
WO2010027376A1 (en) * 2008-09-05 2010-03-11 Tivo Inc. Server-based program recording scheduling
US8464309B2 (en) 2008-09-05 2013-06-11 Tivo Inc. Server-based program recording scheduling
US20100061708A1 (en) * 2008-09-05 2010-03-11 Barton James M Server-based program recording scheduling
US20100158476A1 (en) * 2008-12-18 2010-06-24 Verizon Data Services,Llc Methods, Systems and Computer Program Products for Local DVR Scheduling Conflict Management
US9118884B2 (en) * 2008-12-18 2015-08-25 Verizon Patent And Licensing Inc. Methods, systems and computer program products for local DVR scheduling conflict management
US8959552B2 (en) * 2009-10-23 2015-02-17 At&T Intellectual Property I, L.P. Systems and methods to perform actions upon content items associated with multiple series subscriptions
US9973726B2 (en) 2009-10-23 2018-05-15 At&T Intellectual Property I, L.P. Systems and methods to perform actions upon content items associated with multiple series subscriptions
US20110099582A1 (en) * 2009-10-23 2011-04-28 At&T Intellectual Property I, L.P. Systems and Methods to Perform Actions Upon Content Items Associated with Multiple Series Subscriptions
US8873938B2 (en) * 2011-09-14 2014-10-28 Eldon Technology Limited Handling requests when available channel selectors are in use
US20130064526A1 (en) * 2011-09-14 2013-03-14 Eldon Technology Limited Handling Requests When Available Channel Selectors Are in Use
US9813663B2 (en) 2011-09-14 2017-11-07 Echostar Technologies Llc Handling requests when available channel selectors are in use
US10291960B2 (en) 2011-09-22 2019-05-14 Interdigital Madison Patent Holdings Method and apparatus for processing requests for recording content
US9357264B2 (en) 2011-09-22 2016-05-31 Thomson Licensing Method and apparatus for processing requests for recording content
US9872073B2 (en) 2011-09-22 2018-01-16 Thomson Licensing Method and apparatus for processing requests for recording content
US9678735B2 (en) 2012-10-02 2017-06-13 Razer (Asia-Pacific) Pte. Ltd. Data caching among interconnected devices
US10057726B2 (en) * 2012-10-02 2018-08-21 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
US10083177B2 (en) 2012-10-02 2018-09-25 Razer (Asia-Pacific) Pte. Ltd. Data caching among interconnected devices
US20150208205A1 (en) * 2012-10-02 2015-07-23 Nextbit Systems, Inc. Managing user data on an electronic device
US10694337B2 (en) 2012-10-02 2020-06-23 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
US9445162B2 (en) 2012-10-15 2016-09-13 Zte Corporation Interactive personal/internet protocol television reservation system, reservation plan management method and device
CN103841245A (en) * 2014-03-04 2014-06-04 海能达通信股份有限公司 Traffic network recording method and relevant device
US9662567B2 (en) 2014-04-08 2017-05-30 Razer (Asia-Pacific) Pte. Ltd. Optimizing gaming applications accessed by electronic devices

Also Published As

Publication number Publication date
US7369750B2 (en) 2008-05-06
US20030204848A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
US7369750B2 (en) Managing record events
AU706701B2 (en) Intelligent memory management system and method
US7088910B2 (en) Optimizing use of storage space in a video data recording system
US7689995B1 (en) Resolving scheduling conflicts in a recording device
US7774816B2 (en) Conflict manager for a video recorder
US8577201B2 (en) Buffering of prior displayed television channels upon accessing a different channel
US8116611B2 (en) Tuner sharing video recorder system architecture
JP4430885B2 (en) Distributed tuner allocation and conflict resolution
US8677429B2 (en) Resource conflict resolution for multiple television
US20020124099A1 (en) Method and apparatus for storing content
US20030208761A1 (en) Client-based searching of broadcast carousel data
US20060195867A1 (en) Information processing apparatus and method and computer program
JP2004005472A (en) Recording/storage control of contents attached with precedence
US8358913B2 (en) Resolving recording conflicts
CA2571256C (en) Managing time shift buffers
US7730510B1 (en) Methods and systems for conditionally managing entertainment systems
JP2006246158A (en) Contents output device, program, and recording medium
JP2002330404A (en) Information processing unit, and information processing program
JP2001126341A (en) Method for reserving video storage and recording medium recording this method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

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

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034564/0001

Effective date: 20141014