[go: up one dir, main page]

HK1181222B - Multimedia program recording schedule manager - Google Patents

Multimedia program recording schedule manager Download PDF

Info

Publication number
HK1181222B
HK1181222B HK13108151.3A HK13108151A HK1181222B HK 1181222 B HK1181222 B HK 1181222B HK 13108151 A HK13108151 A HK 13108151A HK 1181222 B HK1181222 B HK 1181222B
Authority
HK
Hong Kong
Prior art keywords
dvr system
series
multimedia
program
recording
Prior art date
Application number
HK13108151.3A
Other languages
Chinese (zh)
Other versions
HK1181222A1 (en
Inventor
J.程
G.桑褔德
Original Assignee
Tivo Solutions Inc.
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
Priority claimed from US13/223,232 external-priority patent/US9414109B2/en
Application filed by Tivo Solutions Inc. filed Critical Tivo Solutions Inc.
Publication of HK1181222A1 publication Critical patent/HK1181222A1/en
Publication of HK1181222B publication Critical patent/HK1181222B/en

Links

Description

Multimedia program recording scheduling manager
Technical Field
The present invention relates to the management of program recording schedule for Digital Video Recording (DVR) systems.
Background
Today, multimedia content and programming is provided by a variety of different multimedia content providers. For example, there are many operators of broadcast television, cable television, satellite and internet services today that can provide multimedia programming to consumers at home and elsewhere. Further, many consumers consume multimedia programs from more than one content provider. For example, consumers are increasingly consuming multimedia programming from content providers of broadcast television, cable television, or satellite, in addition to one or more internet-based content providers. Consumer services for such "multi-source" multimedia programming will become increasingly popular because of the increased availability of high bandwidth internet and mobile computing devices connected to the home.
As the availability of multimedia programs from content providers increases, consumers will often be in a state where a program of interest is provided at a time of inconvenient consumption or at a time of conflict with providing another program of interest. For example, a highly desired season premiere of television programming may be broadcast by a content provider while the content provider is also broadcasting a live sporting event. In order to allow consumers to consume multimedia programs of interest at times most convenient to the consumers, Digital Video Recording (DVR) systems have been developed. DVR systems allow a user to record a multimedia program at a time provided by a content provider and consume the recorded multimedia program at a later time. For example, a DVR system may allow a user to watch a live sports game while recording a season leader of a television program, and allow the user to watch the season leader after finishing watching the live sports game, even if the content provider broadcasts the live sports game and season leader simultaneously.
Typically, the DVR system itself is located at a place where the user consumes multimedia content from a content provider. For example, a DVR system may be a component of a user's indoor television system that receives multimedia content over a cable, network, or satellite link. DVR systems typically store recorded multimedia programs in digital form to a local storage device component of the DVR system. Further, the DVR system may provide a program recording schedule capability that allows a user to configure the DVR system with a program recording schedule. For example, a DVR system may be configured to automatically record one hour on a certain television channel every friday at 8 pm. Program recording schedules are typically stored and maintained locally as data components (data components) of DVR systems. Thus, if an old or defective DVR system is replaced by a new DVR system, the program recording schedule on the replaced DVR system will need to be reconfigured by the user on the new DVR system. Typically, this means that the user needs to repeat the work that has been done for the replaced DVR system. The user will find this repetitive work tedious and time consuming.
Another drawback to typical methods for managing program recording schedules in DVR systems is that each DVR system will have to be separately and independently configured by a user with a program recording schedule. This is inconvenient if the user operates a plurality of DVR systems. For example, a user may operate one DVR system connected to a living room television and another DVR system connected to a bedroom television. Copying or moving a program between DVR systems may not be a viable option if the user wants to view the recorded program at two different locations or from two different DVR systems. For example, copying a multimedia program stored on one DVR system to another DVR system may be a violation of copyright restrictions. As another example, a DVR system may record multimedia content with Digital Rights Management (DRM) protection that prevents playback of the recorded multimedia content on any DVR system other than the DVR system that recorded the content. Further, the data volume of recorded programs can be so large that copying or moving recorded programs from one DVR system to another (even through a high bandwidth link) will take too long. One possible solution to this dilemma is for the user to separately and independently configure each of the plurality of DVR systems to record the desired program. However, as mentioned above, the user will find this repetitive work tedious and time consuming.
In view of the shortcomings of the typical methods for managing program recording schedules in DVR systems, there is a need for improved techniques.
Drawings
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
fig. 1 is a block diagram and schematic diagram of a program recording schedule management system, according to a possible embodiment of the present invention.
FIG. 2 is a block diagram and schematic diagram of components of a DVR system, according to a possible embodiment of the invention.
Fig. 3 is a flow chart illustrating steps of a DVR system registration process, according to a possible embodiment of the invention.
Fig. 4 is a block diagram and schematic diagram of an electronic program guide, in accordance with a possible embodiment of the present invention.
Fig. 5 is a flowchart showing steps for creating a repeat recording schedule for a DVR system, according to a possible embodiment of the invention.
Fig. 6 is a flowchart illustrating steps for creating a repeat recording schedule for another DVR system based on another repeat recording schedule created for the DVR system, according to a possible embodiment of the present invention.
Fig. 7A and 7B depict a user interface for creating a repeat recording schedule for a DVR system based on another repeat recording schedule created for another DVR system, according to a possible embodiment of the invention.
Fig. 8 is a flowchart illustrating steps for preventing a concurrent (current) record conflict, according to a possible embodiment of the present invention.
FIG. 9 is a block diagram and schematic diagram of a computer system in which possible embodiments of the present invention may be implemented.
Detailed Description
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It may be evident, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
Some features are described below, each of which can be used independently of the other features or in any combination with the other features. However, any individual feature may not solve any of the problems described above, or may only solve one of the problems described above. Some of the above problems may not be adequately addressed by any of the features described herein. Although headings are provided, information regarding a particular heading that does not appear in the section having that heading may also be found elsewhere in the specification.
Exemplary features are described according to the following outline:
1.0 general description
2.0 duplicate records scheduling management System-functional overview
3.0 duplicate records scheduling management System-System overview
4.0 exemplary DVR System
5.0 exemplary DVR System registration
6.0 exemplary program guide
7.0 example of creating duplicate record arrangements
8.0 example of creating a duplicate recording schedule for a DVR system based on another duplicate recording schedule for another DVR system
9.0 example of preventing concurrent recording conflicts
10.0 exemplary computing device
11.0 extensions and substitutions
1.0 general description
A multimedia program recording schedule manager for a DVR system is described. In a first possible embodiment, for example, a method is implemented by one or more server computing devices, the method comprising: receiving input selecting a particular DVR system; receiving an input selecting a particular multimedia program series for a particular DVR system to record on a repeating basis; adding the particular multimedia program to a server-side instance of a repeat recording schedule for the particular DVR system; and synchronizing the server-side instance of the repeat recording schedule with another instance of the repeat recording schedule for the particular DVR system, thereby adding the particular series of multimedia programs to the another instance of the repeat recording schedule; wherein the another instance of the repeat recording schedule for the particular DVR system is a data component of the particular DVR system.
In one aspect of the first possible embodiment, after the synchronizing, the server-side instance of the repeat recording schedule includes an ordered list of multimedia program identifiers and associated channel identifiers, and the another instance of the repeat recording schedule includes the same ordered list of multimedia program identifiers and associated channel identifiers.
In another aspect of the first possible embodiment, in response to receiving the search criteria, a program guide associated with the particular DVR system is searched to identify one or more multimedia programs, the one or more identified multimedia programs including the particular multimedia program that satisfies the search criteria.
In yet another aspect of the first possible embodiment, the another instance of the repeat recording schedule for the particular DVR system is stored on a non-volatile storage medium of the particular DVR system.
In yet another aspect of the first possible embodiment, synchronizing the server-side instance of the duplicate record schedule with the another instance of the duplicate record schedule comprises: a network connection is established with the particular DVR system and data representing the particular multimedia program is sent to the particular DVR system over the network connection.
In still another aspect of the first possible embodiment, the network connection is a Transmission Control Protocol (TCP) connection.
In still another aspect of the first possible embodiment, data reflecting the concurrent recording capabilities of the particular DVR system is received and stored.
In a second possible embodiment, a method is implemented by one or more server computing devices, the method comprising: receiving input selecting a source DVR system associated with a user; receiving input selecting a target DVR system associated with a user; causing presentation of a user interface to a user, the user interface including a set of one or more selectable items, each selectable item of the set of selectable items corresponding to a repeat recording item for a repeat recording schedule of the source DVR system, each repeat recording item for the repeat recording schedule of the source DVR system including an identifier of a multimedia program; receiving input indicating selection of a particular selectable item in the set of selectable items; identifying a particular multimedia program from one or more program guides associated with the target DVR system based on an identifier of the multimedia program corresponding to the repeated recording item for the particular selectable item; the particular multimedia program is added to the server-side instance for repeated recording scheduling for the target DVR system.
In an aspect of the second possible embodiment, the server-side instance of the repeat recording schedule is synchronized with another instance of the repeat recording schedule for the target DVR system, thereby adding the particular multimedia program to the another instance of the repeat recording schedule; wherein the another instance of the repeat recording schedule for the target DVR system is a data component of the target DVR system.
In a third possible embodiment, a method is implemented by one or more server computing devices, the method comprising: receiving and storing data reflecting concurrent recording capabilities of a target DVR system associated with a user; receiving input selecting a source DVR system associated with a user; receiving an input selecting a target DVR system; causing presentation of a user interface to a user, the user interface including a set of one or more selectable items, each selectable item of the set of selectable items corresponding to a repeat recording item for a repeat recording schedule of the source DVR system, each repeat recording item for the repeat recording schedule of the source DVR system including an identifier of a multimedia program; receiving input indicating selection of a particular selectable item in the set of selectable items; identifying a particular multimedia program from one or more program guides associated with the target DVR system based on an identifier of the multimedia program corresponding to the repeated recording item for the particular selectable item; determining that adding the particular multimedia program to a repeat recording schedule for the target DVR system would cause a concurrent recording conflict based on data reflecting the concurrent recording capabilities of the target DVR system, and in response to determining, notifying users of the concurrent recording conflict.
In an aspect of the third possible embodiment, determining that adding the particular multimedia program to the repeat recording schedule for the target DVR system based on the data reflecting the concurrent recording capabilities of the target DVR system would cause a concurrent recording conflict comprises: determining, from one or more program guides associated with the target DVR system, any overlap between episodes of multimedia programs that are listed concurrently in the repeat recording schedule and episodes of the particular multimedia program.
Other possible embodiments include, but are not limited to: a non-transitory computer readable medium comprising instructions executable by a processor to enable a processing unit to implement one or more aspects of the above disclosed method; and a system configured to implement one or more aspects of the above disclosed method.
2.0 duplicate records scheduling management System-functional overview
In the past, service providers that provided data to DVR systems over a data network typically provided only program guide data and updates to software executing on the DVR system. The program guide data typically includes information that organizes multimedia programs that are scheduled to be provided by the content provider on a daily, weekly, quarterly, or other basis. Generally, a program guide includes a list of multimedia programs provided by a content provider, a channel on which the programs are provided, and a time at which the programs are provided on the channel. For example, the program guide data may be a set of television listings or an interactive or non-interactive electronic program guide.
By virtue of the program guide data, the DVR system may be configured by a user to record multimedia programs according to information provided by the program guide. For example, a user may interact with an interface of the DVR system to select a particular program for recording.
Further, by virtue of the program guide data, the DVR system may be configured by a user to record programs selected autonomously from the service provider. In other words, once the DVR system has obtained the program guide data, the user can schedule the DVR system to record a program of interest without the DVR system communicating with the service provider. When so configured, the data representing the recording schedule is stored locally as a data component of the DVR system. For example, a DVR system may comprise a hard disk or other data storage medium for storing recording schedule data.
Thus, conventional approaches to managing program recording schedules for DVR systems typically involve the DVR system obtaining a program guide from a service provider and thereafter operating autonomously with respect to the service provider and other DVR systems. Specifically, in the conventional approach, the program recording schedule configuration is tied to the DVR system it is configured with. Thus, if a configured DVR system is deactivated or replaced, the program recording schedule configuration is lost. Further, it is not effective to employ conventional methods to affect the program recording schedule configuration of one DVR system when another DVR system is configured. Finally, conventional approaches do not provide a user with a tool to manage multiple DVR systems as a cluster, e.g., one DVR system in a cluster may be burdened with a recording workload that cannot be handled by another DVR system in the cluster.
In contrast to conventional approaches, possible embodiments incorporate a program recording schedule management system that allows users to more easily and efficiently configure their DVR systems with repetitive recording schedules. A repeat recording schedule is a recording schedule that specifies a multimedia program series (e.g., video, audio, etc.) and a content provider channel, URL, etc. that provides the program series, such that when configured with a repeat recording schedule, the DVR system will record some or all instances (i.e., episodes) of the multimedia program series on the channel, URL, etc. according to the repeat recording schedule.
By means of this system, a user can configure the DVR system with a repeat recording schedule without having to create a repeat recording schedule from scratch again. For example, if a user replaces an old or damaged DVR system with a new DVR system, the repeat recording schedule on the replaced DVR system can be configured on the new DVR system without requiring the user to recreate the repeat recording schedule on the new DVR system by repeating all of the configuration steps (the steps the schedule takes when originally created on the replaced DVR system).
With this system, a user can also create a duplicate recording schedule for multiple DVR systems without separately and independently configuring each of the multiple DVR systems. Alternatively, the user may have an impact on the duplicate recording schedule created for one of the plurality of DVR systems when creating the duplicate recording schedule for another of the plurality of DVR systems.
The system can also include a scheduling component for automatically scheduling the program of interest for recording among the user's multiple DVR systems. The scheduling component can intelligently determine which of a user's multiple DVR systems is best suited to record a given program of interest on a repeated basis based on the resource performance and availability of the multiple DVR systems. As an example, if the available local storage space for storing recorded programs of a particular DVR system selected by the user to record a series of programs of interest on a repeated basis is low, the scheduling component can suggest a different one of the user's DVR systems that has not low available local storage space for recording a series of programs on a repeated basis. As another example, if scheduling a particular DVR system to record a series of programs of interest on a repetition criteria would cause the particular DVR system to exceed its concurrent recording capabilities, the scheduling component may suggest a different one of the user's DVR systems that will not be over-scheduled.
A possible embodiment is to store and manage the DVR system repeat recording schedule at a location remote from the DVR system itself. At the remote location is a program recording schedule manager. The schedule manager may be hosted by a server or servers. The schedule manager is coupled to the DVR system through a data network (e.g., the internet, an intranet, a local network, a satellite network, a microwave network, a wired network, a wireless network, a telephone line, etc.). The schedule manager provides a user interface to the user to configure a repeat recording schedule for their DVR system. The schedule manager configures the user's remote DVR system over the data network according to a duplicate recording schedule maintained and stored locally.
By storing and managing the repeat recording schedule of the DVR system at a network location remote from the DVR system itself, the DVR system can be shut down and replaced without losing all of the repeat recording schedule configuration of those DVR systems. Further, the user can configure and reconfigure the DVR system with a repeat recording schedule without creating the schedule from scratch, saving time and increasing the enjoyment of the DVR system.
Additionally, by connecting multiple DVR systems to the schedule manager, the schedule manager may be provided with "views" of all of the user's DVR systems, including their resource performance, resource availability, and duplicate recording schedule configuration, through, for example, a network interface accessible by the user's web browser.
In some cases, a user may configure the DVR system with a duplicate recording schedule by affecting existing duplicate recording schedule configurations. In one possible embodiment, the lifetime of the duplicate recording schedule configuration is independent of the lifetime of the DVR system configured according to the schedule, thus allowing a user to turn off, replace or upgrade the DVR system without losing the duplicate recording schedule configuration and without recreating the duplicate recording schedule configuration from scratch.
In addition, a new DVR system may be configured by repeating a recording schedule based on existing repeat recording schedule configurations (perhaps even for another DVR system) without having to create a schedule configuration for the new DVR system from scratch.
According to one possible embodiment of the present invention, a schedule manager system collects resource performance and availability information for a plurality of DVR systems for a user. The collected information allows the schedule manager system to assist users in making informed decisions and how to best schedule the recording of programs among the users' multiple DVR systems on a repetitive basis.
Thus, according to a possible embodiment, a multimedia program recording schedule management system is disclosed, comprising for example building blocks (building blocks), such as:
server computer hardware for owning and executing logic (e.g., software) for performing the various repeat record scheduling management and user interface functions described herein;
a database operatively connected to the server-side logic for storing and retrieving repeat recording schedule data, program guides, resource performance data, and resource availability data for the remote DVR system; and
a network interface operatively connecting the logic to the remote DVR system through a data network for communicating with the remote DVR system, including sending and receiving repeat recording schedule data to the remote DVR system and receiving resource performance data and resource availability data from the remote DVR system.
It will be understood that these and other related blocks and components may be configured as separate elements or may be combined together in one or more assemblies as desired or appropriate for a particular implementation ready for use.
3.0 duplicate records scheduling management System-System overview
Referring now to FIG. 1, a block diagram and schematic diagram of a duplicate recording schedule management system 100 is shown, according to a possible embodiment. The participants in the system 100 include content providers 101, users 102, and service providers 105. The content provider 101 provides multimedia content and programs to the DVR system 103. User 102 operates DVR system 103 and personal computing device 104 and maintains account 113 through service provider 105. The service provider 105 (among other functions as described in detail herein) receives data and information from the DVR system 103 over the data network and provides data and information to the DVR system 103 over the data network. Service provider 105 may provide data and information to DVR system 103 based on a subscription basis for which user 102 pays service provider 105.
Although in fig. 1, the service provider 105 is shown as being independent of the content provider 101, it should be understood that the content provider 101 and the service provider 105 may be the same and that the service provider 105 need not be under the control of a management entity independent of the content provider 101.
Service provider 105 operates one or more servers 106, with servers 106 including choreography management logic 107, user interface logic 108, and database 109. In a possible embodiment, the schedule management logic 107 and the user interface logic 108 are implemented in server software running on an operating system in an Internet connection environment, such as the Microsoft Wi windows operating system. However, the logics 107 and 108 are not limited to any one particular application or any particular environment. Alternatively, the logic 107 and 108 may be advantageously implemented on a variety of different platforms, including Linux, UNIX, Mac OS, FreeBSD, and so forth. Each server 106 need not include all of the schedule management logic 107, user interface logic 108, and database 109. Some servers 106 may include only some of these components or a portion of one or more of these components. For example, some servers 106 may be dedicated to executing user interface logic 108 and other servers 106 may be dedicated to executing choreography management logic 107. Further, the database 109 can be partitioned across geographically dispersed servers 106 to improve locality of access to database 109 data by the DVR system 103 and the personal computing device 104 as needed for a ready-to-use implementation.
The server 106 may be implemented on a conventional or general-purpose computer system (e.g., computer system 900 of FIG. 9). For purposes of discussion, the following description will present examples in which it will be assumed that there are one or more "servers" in communication with one or more DVR systems and/or one or more personal computing devices ("clients"). However, the system is not limited to any particular environment or device configuration. In particular, the client/server differences are used to provide a framework for discussion. The system may be implemented in any type of system architecture or processing environment capable of supporting the techniques for managing program recording schedules disclosed herein.
The user interface logic 108 is operatively connected to the DVR system 103 and the personal computing device 104 through one or more data networks. Through the user interface logic 108, the user 102 can view, create, and update the repeat recording schedule 111 for the user's DVR system 103. When creating or updating the repeat recording schedule 111 for the DVR system 103, the user 102 can search and browse a program guide 112 associated with the DVR system 103 through the user interface logic 108 to select one or more programs to add to the repeat recording schedule 111 of the DVR system 103. If a user operates more than one DVR system 103, the user may simultaneously view a duplicate recording schedule 111 for the user's multiple DVR systems 103 together. By viewing together, a user may select one or more programs from the repeat recording schedule 111 of one of the user's multiple DVR systems 103 that are to be copied or moved to the repeat recording schedule 111 of another of the user's other DVR systems 103. These and other user interface operations performed by user interface logic 108 are described in detail below.
The scheduling management logic 107 is operatively connected to the DVR system 103 through one or more data networks (e.g., the internet, an intranet, a local network, a satellite network, a microwave network, a wired network, a wireless network, a telephone line, etc.). The scheduling management logic 107 receives resource performance and availability data from the DVR system 103. The received resource performance and availability data is stored in the database 109 as resource performance/availability data 110. If the user 102 operates multiple DVR systems 103, the data 110 may be used by the schedule management logic 107 when determining how repeated recording requests from the user 102 are distributed among the user's multiple DVR systems 103. The resource performance/availability data 110 may include, for example, for each user's DVR system 103, information regarding the multimedia content storage capabilities and availability of the DVR system and the concurrent recording capabilities of the DVR system.
In a possible embodiment, the schedule management logic 107 also periodically synchronizes the repeat recording schedule of the DVR system 103 stored in the local storage of the DVR system 103 with the repeat recording schedule 111 for the DVR system 103 stored in the database 109. These and other program schedule management operations performed by schedule management logic 107 are described in detail below.
To provide a clear example, choreography management logic 107 and user interface logic 108 are shown separately in FIG. 1. However, some or all of the schedule management logic 107 may be implemented as part of the user interface logic 108 and vice versa. Further, in addition to the functions and operations described herein, the schedule management logic 107 and the user interface logic 108 may each perform other functions and operations. The schedule management logic 107 and the user interface logic 108 may be implemented as software, hardware, or a combination of software and hardware.
Database 109 stores resource performance and availability data 110 for DVR system 103, repeat recording schedule data 111 for DVR system 103, program guide data 112 for DVR system 103, and account information for user 102. Database 109 may be implemented using any type of database suitable for ready implementation, and the present invention is not limited to any particular type of database. For example, the database 109 may be a relational database, a set of extensible markup language (XML) files, an object database, a combination of different database types, and the like.
Content provider 101, DVR system 103, personal computing device 104, and server 106 may each be communicatively connected to one or more of the others through one or more data networks. Content provider 101, DVR system 103, personal computing device 104, and server 106 may each be connected to one or more data networks through wired or wireless connections. Typical wired connections include, but are not limited to, Ethernet (Ethernet), narrowband POTS, xDSL, Hybrid Fiber Coaxial (HFC), and cable, which may utilize twisted pair copper wires (Coaxial cables), Coaxial cable, Fiber optics, or any combination thereof. Typical wireless connections include, but are not limited to, wireless local area network (IEEE 802.11), cellular, PCS, CDPD, GPRS, and bluetooth, each of which typically operates at a particular radio frequency.
The personal computing device 104 may include a desktop computer, a laptop computer, a tablet computer, a handheld computing device (e.g., a cellular handset and a portable media player), and so forth. In one possible embodiment, the personal computing device 104 is configured with a web browsing application or similar application capable of interacting with the service provider 105 through the user interface logic 108. In the described embodiment, the user interface logic 108 is capable of facilitating display of web pages and web page content at the personal computing device 104, responding to requests by the personal computing device 104 (e.g., hypertext transfer protocol (HTTP) -based requests, etc.), and providing responses to the requests to the personal computing device 104. In another possible embodiment, the personal computing device 104 is configured with a native desktop application that is capable of interacting with the service provider 105 through the user interface logic 108. In this embodiment, the user interface logic 108 is capable of responding to requests (e.g., transmission control protocol/internet protocol (TCP/IP) requests) of native applications executing on the personal computing device and providing responses to the requests to the native applications. The native application uses the information in the returned response to cause a user interface to be presented on the display of the personal computing device.
The content provider 101 may provide multimedia content and programming to the DVR system 103 through radio frequency broadcasts, satellite signals, cable television (CATV) signals, data networks, and the like. Multimedia content and programs may include a combination of text, data, audio, still images, animation, video, interactions, and the like. Content provider 101 may also provide multimedia content and programming to DVR system 103 through a data network. For example, content provider 101 may unicast, multicast, or broadcast multimedia content and programs to DVR system 103 over one or more data networks using Internet Protocol (IP) -based network protocols. DVR system 103 may also download or retrieve multimedia content from content provider 101 servers over one or more data networks using IP-based network protocols.
4.0 exemplary DVR System
Referring now to fig. 2, a block diagram and schematic diagram of components of an exemplary DVR system 203 is shown, according to a possible embodiment of the invention. DVR system 203 generally comprises one or more components, indicated by signal converter 215, which signal converter 215 may be used to accept a digital data stream or to digitize an analog television signal and convert it to a digital data stream. Examples of the internal structure and operation of DVR systems are further described in U.S. patent 6,233,389, which is hereby incorporated by reference in its entirety as if fully set forth herein.
DVR system 203 receives broadcast signals from an antenna, cable television system, satellite receiver, etc. via input 214A. Input 214A may include one or more frequency modulation modules ("tuners") that allow for the simultaneous reception and recording of one or more signals. For example, the television input stream received at input 214A may be in the form of a National Television Standards Committee (NTSC) compatible signal or a Phase Alternating Line (PAL) compatible broadcast signal. As another example, the television input stream received by input 214A may be in digital form, such as a Digital Satellite System (DSS) compatible signal, a Digital Broadcast Service (DBS) compatible signal, an Advanced Television Standards Committee (ATSC) compatible signal, MPEG-4, and so on. DBS, DSS, and ATSC are based on standards known as moving Picture experts group 2(MPEG-2) and MPEG-2 transport. MPEG-2 Transport (MPEG-2 Transport) is a standard for formatting a digital data stream from a television source transmitter so that a television receiver can parse the input stream to find programs in a multiplexed signal.
MPEG-2 transport multiplexing supports multiple programs in the same broadcast channel with multiple video audio feeds and private data. Input 214A tunes to a particular program in a channel, extracts a specified MPEG stream from the channel, and provides the MPEG stream to the rest of the system. Analog television signals are encoded into a similar MPEG format using separate video and audio encoders so that the rest of the system does not know how the signal was acquired. Information may be modulated into the Vertical Blanking Interval (VBI) of an analog television signal using a number of standard methods; for example, the North American Broadcast Teletext Standard (NABTS) may be used to modulate information onto a particular line of an NTSC signal, and the Federal Communications Commission (FCC) grants another particular line for Closed Captioning (CC) and Extended Data Services (EDS). Such signals are decoded by input 214A and passed to other modules as if the signals had been transmitted over an MPEG-2 dedicated data channel.
The recording module 217 records the incoming data stream by storing the digital data stream on at least one storage device, represented by the memory 220A/220B designed to retain segments of the digital data stream. The storage 220A/220B may be one or more non-volatile storage devices (e.g., hard disk, solid state drive, USB external hard drive, USB external memory stick, USB external solid state drive, network accessible storage device, etc.) that are internal 220A and/or external 220B. Signal converter 215 retrieves the data stream fragments, converts the data stream to an analog signal, modulates the signal onto an RF carrier via output 214B, and transmits the signal to a standard television set via output 214B. Output 214B may optionally pass the digital signal to a television or video monitor with signal converter 215, signal converter 215 converting the data stream to an appropriate digital signal. For example, the DVR system 203 may utilize a high-definition multimedia interface (HDMI) for transmitting digital signals to a television over an HDMI cable.
The DVR system 203 further comprises a communication interface 219 by which the DVR system 203 communicates with a data network via ethernet, wireless network, modem, or other communication standard. DVR system 203 may communicate (e.g., send and receive data) with service provider 105 server 106 using a connection-oriented transport protocol (e.g., TCP/IP) or a connectionless transport protocol (e.g., UDP) through communication interface 219. Communication between the DVR system 203 and the service provider 105 may use a secure distribution architecture to transfer data between the DVR system 203 and the service provider 105 such that the service data and the privacy of the user are protected.
DVR system 203 may also receive a multimedia content stream (e.g., an MPEG-2 transport stream, an MPEG-4 transport stream, etc.) from content provider 102 via communication interface 219. For example, the content provider 102 may deliver the multimedia content stream to the communication interface 219 via an Internet Protocol (IP) multicast or via an IP unicast. DVR system 203 may retrieve the multimedia content stream from content provider 102 via communication interface 219. The multimedia content stream received through the communication interface 219 may be provided to the recording module 217 for storage on the memory 220A/220B.
The DVR system 203 may be integrated into a television system such that the aforementioned components are packaged in a television set that is capable of performing the functions of each of the components of the DVR system 203.
In another possible embodiment, the DVR system 203 generally comprises one or more components necessary for receiving, recording, storing, transferring, and playing back digital data signals from one or more sources (e.g., a PC, DVR, content provider, or content server). DVR system 203 may transfer the digital data signals to another DVR, a PC, or any other suitably configured device, such as a handheld device, a cell phone, etc. DVR system 203 may encode or decode the digital signals into one or more formats for playback, storage, or transfer via encoder 216A and decoder 216B. According to a possible embodiment, the encoder 216A generates an MPEG stream. According to another possible embodiment, the encoder 216A produces streams that are encoded using different codecs. The decoder 216B decodes the stream encoded by the encoder 216A or a stream stored in a format in which it is received using a suitable decoder. DVR system 203 may also use encryptor/decryptor 218 to encrypt or decrypt digital data signals for storage, transfer or playback of the digital data signals.
5.0 exemplary DVR System registration
In one possible embodiment, the DVR system registration process is performed before the service provider begins managing a repeat recording schedule for the DVR system. Referring to fig. 3, a flowchart of the steps of an exemplary DVR system registration process 300 is shown. The process 300 is performed by logic (e.g., software, firmware, etc.) that is performed by one or more servers 106 of the service provider 105. In one possible embodiment, the process is initiated before a given DVR system has been delivered to user 102 or purchased by user 102.
In step 301, an identifier of a given DVR system is obtained. Any identifier that uniquely identifies a given DVR system may be used. Such as a serial number of a given DVR system or other identifier assigned by the manufacturer. In one possible embodiment, the identifier is obtained before a given DVR system has been delivered to or purchased by a user. For example, the identifier may be entered into the database 150 as part of an inventory process performed by the service provider.
In another possible embodiment (which is not outside of the possible embodiments described above in which the identifier is obtained before a given DVR system is delivered to or purchased by a user), the identifier is obtained from the given DVR system after the user has configured the given DVR system at a place of deployment (e.g., the user's home). Note that the place of deployment need not be fixed, such as when the DVR system is part of a mobile computing device. In the described embodiment, a given DVR system is operatively connected by a user to a data network that connects the given DVR system to a service provider. Once connected, a given DVR system probes the identifier and communicates the identifier to the service provider. After receiving the identifier transmitted by the DVR system, the identifier is stored in a service provider database.
In one possible embodiment, the DVR system comprises executable logic (e.g., executable software or firmware instructions) that, when executed by the DVR system, determines an identifier of the DVR system and communicates the identifier to the service provider over the data network. The transfer may be initiated by a service provider or a DVR system. For example, a DVR system or a service provider may initiate and establish a Transmission Control Protocol (TCP) connection with another, and through that connection, an identifier of the DVR system is transmitted from the DVR system to the service provider. Logic executed by the DVR system may review or access the memory of the DVR system to obtain the identifier. The identifier may be stored by or burned into memory by the manufacturer of the DVR system.
In a possible embodiment, the logic for determining and transmitting the identifier performed by the DVR system is provided to the DVR system by a service provider. For example, the service provider may provide logic to the DVR system in an initial communication with the DVR system after the DVR system has been operatively connected to the data network by the user.
At this point, the service provider has the identifier of the given DVR system stored in the database, but the identifier may not have been associated with the user account 113. At steps 302 and 303 of process 300, a user account is created in the database and associated with the identifier of a given DVR system. To this end, in one possible embodiment, a user of the DVR system accesses an account activation interface of the service provider that is driven by user interface logic 108. The account activation interface may be accessed through a given DVR system or the user's personal computing device 104. For example, a user may use a remote control device or other input device to interact with an account activation interface presented on the user's television screen to which a given DVR system is operatively connected. As another example, a user may interact with an account activation interface using a web browsing application running on a personal computing device.
Through the account activation interface, the service provider collects the information necessary to create an account record in the database for the user. The information may include, for example, account credentials (e.g., username/password), contact information (e.g., email address), billing information, and so forth. Once the necessary information is collected, the service provider can create an account record in the service provider database for the user.
To associate an account record created for a user with an identifier of a DVR system operated by the user, the account activation interface may prompt the user to enter the identifier of the DVR system when the account is activated. For example, the account activation interface may prompt the user to provide an external serial number listed on the user's packaging of the DVR system. Concurrently or after creating the account record, the service provider may associate the account record with the user-entered DVR system identifier in a database.
In one possible embodiment, the registration process uses two identifiers for each DVR system. One identifier uniquely identifies the DVR system, e.g., a serial number or other identifier assigned by the manufacturer of the DVR system. This identifier may be the same as the previously discussed identifier obtained by the service provider at step 301 of process 300. Another identifier is assigned to the DVR system by the service provider before the DVR system is delivered to the user or purchased by the user. For purposes of illustrating a clear example, the identifier of the DVR system obtained at step 301 is referred to as the manufacturer identifier, while another identifier assigned to the DVR system by the service provider is referred to as the service provider identifier. Both the manufacturer identifier and the service provider identifier uniquely identify the DVR system. The service provider maintains a mapping in a database between the manufacturer identifier and the service provider identifier. The assigned service provider identifier is attached to or associated with the DVR system before the DVR system is delivered to the user or the user purchases the DVR system. For example, the assigned service provider identifier may be printed on a sticker that is affixed to the housing of the DVR system, or printed in an accompanying user manual, before the DVR system is delivered to the user or the user purchases the DVR system. When the account is activated through the account activation interface, the user is prompted to provide the service provider number for the user's DVR system. After receiving the service provider number, the service provider consults the mapping it maintains to determine the manufacturer identifier of the user's DVR system. Having determined the manufacturer identifier, the service provider may create an association between the manufacturer identifier and the user account record in a service provider database. In this way, the user account record can be associated with an identifier of the DVR system operated by the user without the user having to obtain or know the identifier used by the service provider to identify the DVR system.
The foregoing is only one example of a possible DVR system registration process and other processes may be used. Notably, by the very end of the registration process (cumnination), the service provider should have obtained an identifier of the user's DVR system and user account activation information from which an account record may be created for the user, as well as an association between the account record and the identifier of the user's DVR system in the service provider database. Thus, after all user DVR system registration procedures, the service provider can determine the identifiers of the DVR systems operated by the users, and for a given identifier of a DVR system, the service provider can determine the account records of the users operating the given DVR system.
6.0 exemplary program guide
Referring now to fig. 4, a block diagram and schematic diagram of an electronic program guide 400 is shown, according to a possible embodiment of the present invention. Service provider 105 may store data 112 representing the electronic program guide of content provider 101 in database 150. Each program guide provides information about multimedia programs and content provided by a content provider. Specifically, each program guide specifies one or more channels 401 provided by the content provider, and for each channel, specifies the programs provided by the content provider during the time window 402. Each program guide may also or alternatively provide information about multimedia programs and content provided by content providers via a data network, and such information may be accessed via a Uniform Resource Locator (URL), IP address, or the like.
As used herein, the term "channel" broadly refers to any identifier that can be used by a DVR system to select one of many multimedia programs currently provided by a content provider. For example, channel 401 may correspond to a broadcast television, digital satellite television, or cable television channel number. As another example, channel 401 may correspond to a URL or other network address.
As used herein, the term "multimedia program series" or simply "program series" broadly refers to multimedia content provided by a content provider as a one-time offering or periodically on one or more channels. For example, a multimedia program series may correspond to a television program, corresponding to a television program series that includes a plurality of episodes, live video over internet (webcast), podcasts (podcast), video content, audio content, and so forth. In the program guide 400, each program series is identified by a title and a unique program identifier.
An example of a program series is referred to herein as an "episode". The program guide 400 segments a channel 401 into a series of episodes during a time window 402. Each episode has a start time during the time window 402 and an end time during the time window 402. For example, episode 403A has a start time 404 and an end time 405. Each episode of a program series is identified, for example, by a program identifier or by a program title. Each episode may be further identified by an episode identifier or an episode title.
When a content provider provides a program series on a regular basis, the program guide 400 may indicate multiple episodes of the same program series. For example, episode 403A and episode 403B may be two episodes of the same program series. Episodes of a program series may be provided on multiple channels 401. For example, episodes of a program series may be provided on one high definition video format channel and also on another common definition video format channel.
The service provider may periodically obtain or create the program guide 400 when program information for the content provider is available. Program guide 400 may be obtained by a service provider from one or more third party television listings services. The length of time window 402 of program guide 400 is primarily determined by how often the content provider updates its programming. A typical time window 402 is two weeks in length. However, the time window 402 may be shorter, longer, may list schedules of weeks or months prior, and the like.
Service provider 130 stores program guide 400 as program guide data 112 in database 150. The service provider periodically (e.g., once a day, once a few days, etc.) transmits program guide data representing the program guide to the DVR system 103. Each DVR system receives a program guide corresponding to a content provider that provides multimedia programs to the geographic location or service area of the DVR system. For example, if the DVR system receives multimedia content from a particular cable provider, the service provider provides program guide data for that particular cable provider.
7.0 example of creating duplicate record arrangements
Referring now to FIG. 5, a flowchart of the steps of a process 500 for creating a repeat recording schedule is shown in accordance with a possible embodiment of the present invention. The process 500 is performed by logic (e.g., software) that is executed by one or more servers 106 of the service provider 105. The server logic performs the process in the context of user interface logic 108, which user interface logic 108 facilitates the display of a user interface on a display device operatively connected to the user's 120 DVR system 103 or the user's personal computing device 104.
At step 501, the service provider logic receives a selection of a particular DVR system to configure a repeat recording schedule (e.g., received from a user via a network interface over the Internet, received via a handheld device using a wireless or cellular connection, etc.). If the user has registered multiple DVR systems with the service provider, the service provider logic may receive a selection through the user interface in response to the user selecting one of the multiple DVR systems. If the user registers only one DVR system with the service provider, the service provider logic may receive a selection of one DVR system as a default selection. Alternatively, the service provider logic may receive a selection of a DVR system after the user has been prompted through the user interface to confirm the configuration of a DVR system with a repeat recording schedule.
In response to receiving a selection of a particular DVR system, the service provider logic determines from database 150 an identifier of the particular DVR system for use in processing subsequent requests to create a repeat recording schedule for the particular DVR system.
At step 502, the service provider logic receives a request to search or browse the program guide 112 for the selected DVR system to record on a repeat basis for one or more program series of interest. The program guide 112 of the selected DVR system may be identified by the service provider logic using an identifier of the selected DVR system. For example, database 150 may store data associations between identifiers of selected DVR systems and program guides 112 of selected DVR systems. The search or browse request may be received in response to a user submitting search or browse criteria to the service provider logic through a user interface. For example, the user interface may facilitate keyword searching of programs by program titles. As another example, the user interface may facilitate browsing through program listings by program series titles. In response to receiving the search or browse request, the service provider logic searches the program guide 112 of the selected DVR system to identify one or more series of programs in the program guide that match the submitted search or browse criteria. The matched program is returned to the user interface.
In one possible embodiment, the matching program series is presented to the user on the user interface as a set of search or browsing results. Each result in the set corresponds to a matching program series. In one possible embodiment, each result represents a title and a channel of the matching program series on which the matching program series is available. If a program series is available on multiple channels, the search results may include multiple results for the program series.
At step 503, the service provider logic receives a selection of a particular program series-channel combination of interest for recording on a repeat basis. For example, the selection may be received in response to a user selecting one of the matching results presented as search or browse results in the user interface.
The service provider may also receive one or more recording options, either simultaneously with or after receiving a selection of a particular program series. These recording options may be selected by the user through a user interface. In one possible embodiment, available recording options for selection and configuration by the user include "recording quality", "recording", "most reserved (keep at most)", "reserved until (keep empty)", "start recording", "stop recording", and the like.
The "recording quality" option allows the user to specify the quality (e.g., basic, medium, premium, or best) of DVR system recordings when recording episodes of a selected program series. When watching a recorded episode, a higher quality recording generally provides a better playback experience, at the cost of requiring more storage space for the DVR system to store the recorded episode. This is because higher quality recordings have a higher bit rate than lower quality recordings.
The "record" option allows the user to specify whether to record only new episodes of the series of programs provided on the channel by the selected DVR system, or whether to record new episodes and re-broadcast episodes of the series of programs provided on the channel by the selected DVR system. In one possible embodiment, an indication of whether an episode of a program series provided on a channel is a new episode or a re-broadcast episode is provided in the program guide data.
The "most reserved" option allows the user to specify the number of episodes of the selected program series that are to be recorded that is the most. When a new recording of an episode of a program series is made, the DVR system will delete the oldest or lowest priority episode already recorded in the program series. For example, if the user specified the "most reserved" option of 2, the DVR system will delete the first episode of the program series when the DVR system records the third episode of the program series.
In one possible embodiment, the "most reserved" option is joined with the "until" option to operate. If the "keep until" option is set to "when space is needed" as described below, the most recently recorded episode will be kept when a new recording is made, as described above. If the "keep until" option is set to "keep until delete" described below, the entire episode of the program series will be kept when a new recording is made until the limit of "keep most" is reached. For example, if the "most reserved" option is trios and the "reserved until" option is "reserved until deleted," the DVR system will stop recording episodes of a series of programs after the trios of the series of programs have been recorded until the user deletes one or more of the recorded trios.
The "keep until" option allows the user to specify when the DVR system deletes recorded episodes. In one possible embodiment, the "keep until" option may assume two values: "when space is needed" or "remain until deleted". If the "keep until" option is set to "space needed", the oldest recorded episode of the program series will be deleted by the DVR system because space is needed for the new recording. If the "keep until" option is set to "keep until delete", all recorded episodes are saved until manually deleted by the user.
The "start recording" option allows the user to specify that the DVR system should start recording episodes of the selected program series before the scheduled start time of the episode (e.g., 1, 2, 3, 4, 5, … 10 minutes, etc. -before any number of minutes and/or hours). The "stop recording" option allows the user to specify that the DVR system should stop recording episodes of the selected program series after the end time of the programming (e.g., after 1, 2, 5, 15, 30 minutes, 1 hour, 1.5 hours, or 3 hours, etc. -after any number of minutes and/or hours).
At step 504, the service provider logic adds the selected program series and the selected recording options to the repeat recording schedule 111 for the selected DVR system. In one possible embodiment, a repeat recording schedule for a DVR system comprises an ordered list of program identifier-channel arrays. The program identifier and channel of the selected program series from which the program of interest is selected may be determined from a program guide.
In one possible embodiment, duplicate recording scheduling prioritizes resolving recording concurrency conflicts among duplicate recordings. Generally, recording concurrency conflicts occur when a DVR system configured with a repeat recording schedule is configured to concurrently record multiple episodes beyond its concurrent recording capability. The concurrent recording capability of a DVR system will be limited by the inherent computational processing power of the DVR system or the number of tuners or inputs that the DVR system is configured with.
In one possible embodiment, when a recording concurrency conflict occurs, the DVR system will record episodes of higher priority program series according to a repeat recording schedule and will clip recording of episodes of lower priority program series (e.g., begin recording after higher priority recording is complete).
In one possible embodiment, where two concurrently conflicting episodes overlap for only a few minutes, the lower priority episode records are cancelled. For example, if the episode of the lower priority program series is at 8: 33 ends and the episode of the higher priority program series begins at 8:30, then the recording of the lower priority episode is at 8:30 will be cancelled so that the recording of the higher priority episode can start at that time.
Steps 502, 503, and 504 may be repeated if the user desires to add multiple program series to the repeat recording schedule of the selected DVR system.
At step 505, the service provider logic synchronizes the copy of the repeat recording schedule 111 stored in the database 150 with the copy of the repeat recording schedule stored on the selected DVR system. In one possible embodiment, the synchronization is bi-directional such that subsequent changes made to the copy of the duplicate recording schedule of the DVR system are merged into the copy of the duplicate recording schedule 111 in the service provider database 150 and subsequent changes made to the copy of the duplicate recording schedule 111 in the service provider database 150 are merged into the copy of the duplicate recording schedule of the DVR system. When synchronizing copies of a duplicate recording schedule (including the use of modified timestamps, vector clocks, etc.), a number of techniques may be used to detect the next change. Synchronization of the copies may be initiated by the DVR system or the service provider. In one possible embodiment, synchronization of the copies includes one of the DVR system or the service provider initiating and establishing a TCP connection to the other. Synchronization may occur periodically, for example in response to each user-initiated change to a copy of the duplicate recording schedule.
In one possible embodiment, the scheduled copy at the DVR system and the scheduled copy in the service provider database 150 are the same after the duplicate recording scheduled copies have been synchronized. In other words, both copies list the same program-channel combination in the same priority order. The bi-directional synchronization capability allows a user to configure the DVR system by repeating the recording schedule even if the data connection between the DVR system and the service provider is temporarily unavailable. For example, if a data connection is temporarily unavailable, the user may use the control of the DVR system to make changes to the copy of the DVR system's repeat recording schedule. When the data connection is reestablished, those changes may be synchronized with the copy of the repeat recording schedule for the DVR system stored in service provider database 150.
In one possible embodiment, the bi-directional synchronization capability allows a user to configure the DVR system by repeating the recording schedule even if the user does not have physical access to the DVR system. For example, using a web browsing application on a personal computing device, a user may interact with the service provider's user interface logic 108 to configure a repeat recording schedule for the DVR system anywhere the personal computing device may establish a data connection with the service provider. For example, if a user waits for an airplane in an airport lounge, the user will be able to access the service provider's network interface at the airport via the internet connection between the user's mobile device and the service provider, configuring his home DVR system with a repeat recording schedule.
8.0 example of creating a duplicate recording schedule for a DVR system based on another duplicate recording schedule for another DVR system
Referring now to fig. 6, a flowchart of the steps of a process 600 for creating a repeat recording schedule for a DVR system (target DVR system) based on another repeat recording schedule created for another DVR system (source DVR system) is shown, according to a possible embodiment of the invention. The process is performed by logic (e.g., software) that is executed by one or more servers 106 of the service provider 105. The server logic performs the process in the context of user interface logic 108, which user interface logic 108 facilitates the display of a user interface on a display device operatively connected to the user's 120 DVR system 103 or the user's personal computing device 104.
In one possible embodiment, process 600 is performed in the context of a user upgrading an existing DVR system to a new DVR system. In the described embodiment, the existing DVR system and the new DVR system may be operatively connected to the service provider through a data network. The user interacts with the user interface logic 108 of the service provider server 105 to copy the repeat recording request from the repeat recording schedule 111 of the existing DVR system to the repeat recording schedule 111 of the new DVR system. Note that the processes described herein may also be applied to other functions of the DVR system, such as user preferences, user viewing history, system settings, trailer recorded data, and so forth.
At step 601, the service provider logic receives a selection of a first DVR system. The selection may be received in response to the user selecting one of the user's multiple registered DVR systems through a user interface (e.g., a web page, etc.), which user interface logic 108 causes to be presented to the user. In response to receiving the selection of the first DVR system, the service provider logic reads the current repeat recording schedule 111 for the first DVR system from the database 109 and returns the repeat recording schedule 111 to the requesting entity for presentation on the user interface. Alternatively, the service provider logic may retrieve the repeat recording schedule 111 directly from the first DVR system.
At step 602, the service provider logic receives a selection of a second DVR system. The selection may be received in response to the user selecting one of the user's multiple registered DVR systems through a user interface (e.g., a web page, etc.), which user interface logic 108 causes to be presented to the user. In response to receiving the selection of the second DVR system, the service provider logic reads the current repeat recording schedule 111 for the second DVR system from the database 109 and returns the repeat recording schedule 111 to the requesting entity for presentation on the user interface. Alternatively, the service provider logic may retrieve the repeat recording schedule 111 directly from the second DVR system.
Referring to fig. 7A, an illustrative user interface 700 is shown that illustrates a current repeat recording schedule 111 for a first DVR system 701 of a user's multiple DVR system and a current repeat recording schedule 111 for a second DVR system 702 of the user's multiple DVR system.
As shown in fig. 7A, the series of programs currently on the repeat recording schedule of a particular DVR system may be presented on the user interface in an order based on the associated program recording priorities. For example, The repeat recording schedule of The first DVR system 701 currently has The program series "jungle alliance (Community)" on channel 703 as The highest priority, followed by The program series "Big live explosion (The Big Bang Theory)" on channel 5 as The next highest priority, and so on. The priorities associated with the series of programs currently on the repeat recording schedule of system 701 are listed in descending order of priority (increasing order in numbers) in "priority" column 707 of user interface 700. The priorities associated with the series of programs currently on the repeat recording schedule of system 702 are listed in descending order of priority (increasing order in numbers) in "priority" column 708 of user interface 700.
In one possible embodiment, the priority of the program series on the repeat recording schedule of the system may be re-ordered via the user interface 700. For example, a user may change the priority of a program series by clicking and dragging up or down a list of user interface items representing the program series and releasing at a desired priority location. The other items in the list are assigned new priorities accordingly. For example, referring to user interface 700, The user may click and drag a user interface item corresponding to The program series "surprise (The Event)" on channel 3. If The user releases The item between items corresponding to The two program series "Supermarket Tech" (on channel 703) and "Office" (The Office) on channel 12, The "surprise" priority on channel 3 will be reset to 3, The priority of "Couger Town" (on channel 707) will be reset to 1, and The "Supermarket Tech" (on channel 703) will be reset to 2.
In one possible embodiment, the user may delete a program series from the repeat recording schedule of the system via user interface 700. To this end, the user may select one or more program series to be deleted one by one using a check box next to the corresponding user interface item. Alternatively, the user may use a "check all" checkbox to indicate that the entire program series is to be deleted. Once one or more program series have been selected for deletion, the user may select a "delete" button for the corresponding repeat recording schedule that causes the selected program series to be moved out of the repeat recording schedule 111.
In one possible embodiment, when the repeat recording schedule 111 for the DVR system is modified by the user interface logic 108 (by reordering priorities or by deleting program series), the resulting change to the repeat recording schedule 111 is synchronized with a copy of the repeat recording schedule of the system as a result of the next two-way synchronization operation performed by the schedule management logic 107 and the DVR system.
The first DVR system 701 and the second DVR system 702 represent DVR systems between which a user wishes to copy repeated recording requests. In the example depicted in fig. 7, the first DVR system 701 is located in the user's living room, while the second DVR system 702 is located in the user's home position.
As shown, the user interface 700 provides a set of checkboxes 703 by which the user can select one or more or all of the repeat recording requests of the current repeat recording schedule 111 for the first DVR system 701. The user interface 700 provides another set of checkboxes 704 by which the user may select one or more or all of the repeat recording requests of the current repeat recording schedule 111 for the second DVR system 702. The user interface 700 also provides a button 705 for copying the selected repeat recording request from the repeat recording schedule 111 for the first DVR system 701 to the repeat recording schedule 111 for the second DVR system 702. There is likewise a button 706 for copying the selected repeat recording request from the repeat recording schedule 111 for the first DVR system 701 to the repeat recording schedule 111 for the second DVR system 702. Thus facilitating bi-directional copying. In the example depicted in fig. 7B, some duplicate recording requests have been selected from the current duplicate recording schedule for the first DVR system 701. The selection is indicated in the corresponding check box 703 with a checkmark.
At step 603, the service provider logic receives a request to copy one or more selected repeat recording requests from the repeat recording schedule of the first or second DVR system (the source DVR system) to the other of the first or second DVR system (the target DVR system). For example, in the example depicted in fig. 7B, the user has selected to copy duplicate recording requests for "jungle alliance", "man-to-middle year (Men of a CertainAge)" and "romantic history of old dad and mom (How I Met Your mothers)" from the duplicate recording schedule for "living room" DVR system 701 to the duplicate recording schedule for "master bedroom" DVR system 702. In response to the user activating copy button 705, the service provider logic receives a copy request.
In the case where the source DVR system uses the same program guide 112 as the target DVR system, the selected repeat recording request can be copied directly from the repeat recording schedule of the source DVR system to the repeat recording schedule of the target DVR system. This is because the program identifier and the channel of the selected program will be the same in the program guide 112 of both systems.
In the case where the source DVR system uses a program guide 112 that is different from the target DVR system, in response to receiving the copy request at step 603, the service provider logic searches the program guide 112 of the target DVR system for episodes corresponding to one or more program series selected from the repeat recording schedule of the source DVR system. The search may be based on one or more program identifiers and program titles of the selected one or more program series. Typically, the same series of programs are identified by the same program identifier between different program guides 112, even if the programs are provided on different channels. For example, in the example of fig. 7B, the service provider logic may search the program guide 112 for an episode for the "master bedroom" target system 702 that references a program identifier equal to the program identifiers of the program series "junked firewood alliance", "people to middle year", and "romantic history of old dad, old mom" specified in the 701 repeated recording arrangement of the "living room" source DVR system. In some cases where consistent program identifiers are not used, the program titles may be used to identify the series of programs in the program guide 112 of the target DVR system. For example, the service provider logic may search the program guide 112 for episodes with program series titled "jungle alliance of firewood", "person to middle year", or "romantic history of old dad and mom" for the "master-sleeper" target DVR system 702.
In one possible embodiment, if at least one episode is identified in the program guide 112 of the target DVR system, the episode being associated with a series of programs that matches the selected series of programs to be copied, the user is prompted in a user interface to confirm the addition of the repeat recording scheduled program to the target DVR system. If more than one episode is identified for the same program series on different channels, the user may be prompted to confirm the addition of some or all of the program series-channel combinations. For example, the selected series of programs may be provided by the content provider to the source DVR system only on a standard definition channel, while the selected series of programs may be provided by the content provider to the target DVR system on both the standard definition channel and a high definition channel. In the example, the user may be prompted to confirm that one or both of the series of programs on the standard definition channel and the series of programs on the high definition channel are added to the repeat recording schedule of the target DVR system.
At step 604, one or more program series identified in the program guide 112 of the target DVR system that match or correspond to the program series selected from the repeat recording schedule 111 of the source DVR system are added to the repeat recording schedule 111 of the target DVR system. The program identifier and channel of the selected program series to be copied that is to be added to the repeat recording schedule 111 for the target DVR system can be determined by the service provider logic from the program guide 112 of the target DVR system, thereby identifying the episode of the program series to be copied. After the repeat recording schedule 111 for the target DVR system has been created or updated, a new repeat recording schedule 111 for the target DVR system can be presented on the user interface so that the user can prioritize the repeat recording request according to the user preferences (e.g., by clicking and dragging the program listing up or down and releasing at the desired priority location, etc.).
At step 605, the service provider logic synchronizes the copy of the repeat recording schedule 111 for the target DVR system with the copy of the repeat recording schedule stored on the target DVR system.
Steps 603, 604, and 605 may be repeated if the user wants to copy more program series from the repeat recording schedule of the source DVR system to the repeat recording schedule of the target DVR system. Steps 603, 604, and 605 may be performed when the first system is a source DVR system and the second system is a target DVR system, and then may be performed again when the second system is the source DVR system and the first system is the target DVR system. For example, referring to fig. 7A, steps 603, 604, and 605 may be performed when system 701 is a source DVR system and system 702 is a target DVR system, and then may be performed again when system 701 is a target DVR system and system 702 is a source DVR system.
9.0 example of preventing concurrent recording conflicts
Referring now to FIG. 8, a flowchart of the steps of a process 800 for preventing a concurrent recording conflict is shown in accordance with a possible embodiment of the present invention. In general, a concurrent recording conflict occurs when a DVR system is scheduled according to its repeat recording schedule to schedule concurrent recording from more channels and/or inputs than the DVR system is capable of recording simultaneously. The DVR system will be limited in the number of channels and/or inputs that can be concurrently recorded as determined by the processing power and performance of the DVR system. For example, a DVR system with only two tuners can only record from two channels simultaneously. When a concurrent recording conflict occurs, the DVR system may consult its repeat recording schedule to determine which of the conflicting program series has the lowest priority based on the repeat recording schedule. Episodes of the program series with the lowest priority are not recorded for concurrent episodes of higher priority program series.
In one possible embodiment, to prevent such a concurrent recording conflict from occurring initially at a particular DVR system 103, the service provider logic receives or obtains information regarding the particular DVR system's concurrent recording capabilities at step 801 and stores the information in association with the DVR system's identifier in the service provider database 150.
In one possible embodiment, the received or obtained information includes a number indicating the number of channels and/or input ends from which a particular DVR system may concurrently record. The number may correspond to, for example, the number of tuners for a particular DVR system.
In one possible embodiment, the DVR system 103 periodically reports the concurrent recording capability information to the service provider over the data network.
At step 802, the service provider logic detects a concurrent recording conflict for a particular DVR system. In one possible embodiment, the service provider logic detects concurrent recording conflicts before attempting to add a repeat recording request to the repeat recording schedule 111 of a particular DVR system. To detect the conflict, the service provider logic analyzes the program guide 112 of the particular DVR system to identify the start and end times of all episodes of the program to be added to the repeat recording schedule 111 of the particular DVR system. The service provider logic compares these time blocks to the start and end times of all episodes of one or more program series currently listed in the repeat recording schedule 111 of the particular DVR system. The start and end times of all episodes of a program currently listed in the repeat recording schedule 111 of a particular DVR system may be determined from the program guide 112 of the particular DVR system. A conflict exists if the episode of the program series to be added has a temporal overlap with the episodes of the program series already listed in the repeat recording schedule 111 of the particular DVR system. If the number of overlapping episodes, including episodes of the series of programs to be added, exceeds the concurrent recording capability of the particular DVR system, the service provider logic detects the program addition of the repeat recording schedule 111 of the particular DVR system as exhibiting a concurrent recording conflict.
In one possible embodiment, the time window over which a conflict may be detected is limited by the time window 402 of the program guide 112 of a particular DVR system. For example, if the length of time window 402 is two weeks, then the service provider logic can only detect a concurrent record conflict within a two week window.
In one possible embodiment, if only a few minutes of episodes overlap (e.g., less than five minutes), the overlap is not considered a concurrency recording conflict. In this embodiment, a particular DVR system may clip the recording of one of the overlapping episodes away so that the recording of the other episode may begin. For example, if an episode of the program series to be added ends three minutes after the start of an episode of the program series already listed in the repeat recording schedule 111 of the particular DVR system, the overlap may not be detected as a concurrent recording conflict, as the particular DVR system may stop recording the episode of the program series to be added three minutes before it ends, or may start recording another episode until three minutes after the start of the other episode.
In step 803, the user is notified of the concurrent recording conflict. For example, in response to a user request to add a selected series of programs to the repeat recording schedule 111 for a particular DVR system, the service provider logic may notify the user through the user interface logic 108 that the addition of the selected program will present a concurrent recording conflict. After receiving such a notification, the user may decide not to schedule the selected program according to the original request. For example, the user may select another of the user's DVR systems to record the selected series of programs by adding the selected program to the repeat recording schedule 111 of the other system. As another example, the user may prioritize selected program series over conflicting program series in a repeat recording list of a particular DVR system to ensure that episodes of the selected program series are recorded by the particular DVR system.
10.0 exemplary computing device
According to one possible embodiment, the techniques described herein are implemented by one or more special-purpose computing devices. A specific purpose computing device may be hardwired to perform the techniques, or may include digital electronic devices such as one or more Application Specific Integrated Circuits (ASICs) or field programmable logic arrays (FPGAs) that are permanently programmed to perform the techniques, or may include one or more general purpose hardware processors that are programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination thereof. The dedicated computing device may also combine custom hardwired logic, ASICs or FPGAs with custom programming to complete the technique. A dedicated computing device may be a desktop computer system, portable computer system, handheld device, network device, or any other device that contains hardwired and/or program logic to implement the techniques.
For example, FIG. 9 is a block diagram that illustrates a computer system 900 upon which possible embodiments of the invention may be implemented. Computer system 900 includes a bus 902 or other communication mechanism for communicating information, and a hardware processor 904 coupled with bus 902 for processing information. The hardware processor 904 may be, for example, a general purpose microprocessor.
Computer system 900 also includes a main memory 906, such as a Random Access Memory (RAM) or other dynamic storage device, coupled to bus 902 for storing information and instructions to be executed by processor 904. Main memory 906 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 904. The instructions, when stored on a non-transitory storage medium accessible to processor 904, cause computer system 900 to become a special-purpose machine that is customized to perform the operations specified in the instructions.
Computer system 900 further includes a Read Only Memory (ROM)908 or other static storage device coupled to bus 902 for storing static information and instructions for processor 904. A storage device 910, such as a magnetic disk or optical disk, is provided and coupled to bus 902 for storing information and instructions.
Computer system 900 may be coupled via bus 902 to a display 912, such as a Cathode Ray Tube (CRT), for displaying information to a computer user. An input device 914, including alphanumeric and other keys, is coupled to bus 902 for communicating information and command selections to processor 904. Another type of user input device is cursor control 916, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 904 and for controlling cursor movement on display 912. The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
Computer system 900 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and/or program logic in conjunction with the computer system to cause or program computer system 900 to function as a special purpose machine. According to one possible embodiment, the techniques herein are performed by computer system 900 in response to a processor executing one or more instructions contained in main memory 906. Such instructions may be read into main memory 906 from another storage medium, such as storage device 910. Execution of the sequences of instructions contained in main memory 906 causes processor 904 to perform the process steps described herein. In alternative possible embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
The term "storage medium" as used herein refers to any non-transitory medium that stores data and/or instructions that cause a machine to operate in a specific manner. The storage medium may include non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 910. Volatile media includes dynamic memory, such as main memory 906. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge.
A storage medium is different from but may be used in conjunction with a transmission medium. Transmission media participate in the transfer of information between storage media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 902. Transmission media can also take the form of acoustic or light waves (such as those generated during radio-wave and infra-red data communications).
The transmission of one or more sequences of one or more instructions to processor 904 for execution may involve different forms of media. For example, the instructions may initially be carried on a magnetic disk or a solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 900 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data transmitted in the infra-red signal and appropriate circuitry can place the data on bus 902. Bus 902 carries the data to main memory 906, from which processor 904 retrieves and executes the instructions. The instructions received by main memory 906 may optionally be stored on storage device 910 either before or after execution by processor 904.
Computer system 900 also includes a communication interface 918 coupled to bus 902. Communication interface 918 provides a two-way data communication coupling to a network link 920 that is connected to a local network 922. For example, communication interface 918 may be an Integrated Services Digital Network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 918 may be a Local Area Network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 918 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 920 typically provides data communication through one or more networks to other data devices. For example, network link 920 may provide a connection through local network 922 to a host computer 924 or to data equipment operated by an Internet Service Provider (ISP) 926. ISP 926 in turn provides data communication services through the internet packet data communication network (now generally designated as the "internet" 928). Local network 922 and internet 928 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 920 and through communication interface 918, which transmit and receive digital data to and from computer system 900, are exemplary forms of transmission media.
Computer system 900 can send messages and receive data, including program code, through the network(s), network link 920 and communication interface 918. In the Internet example, a server 930 might transmit a requested code for an application program through Internet 928, ISP 926, local network 922 and communication interface 918.
The received code may be executed by processor 904 as it is received, and/or stored in storage device 910, or other non-volatile storage for later execution.
11.0 extensions and substitutions
It should be noted herein that while the present invention has been described with reference to particular possible embodiments, it should not be construed as limiting. Those skilled in the art, having the benefit of this disclosure, may effect numerous modifications thereto without departing from the spirit of the invention. Therefore, the present invention should not be limited by the specific possible embodiments for its description, but only by the scope of the issued claims.

Claims (36)

1. A method performed by one or more server computing devices, the method comprising:
receiving input selecting a source DVR system associated with a user;
receiving input selecting a target DVR system associated with a user;
causing presentation of a user interface to a user, the user interface including a set of one or more selectable items, each selectable item of the set of selectable items corresponding to a repeat recording item of a repeat recording schedule for the source DVR system, each repeat recording item of the repeat recording schedule being associated with an identifier of a series of multimedia programs;
receiving input indicating selection of a particular selectable item in the set of selectable items;
identifying a particular multimedia program series from the one or more program guides associated with the target DVR system by searching the one or more program guides associated with the target DVR system based on an identifier of the multimedia program series associated with the repeated recording item that corresponds to the particular selectable item;
the particular multimedia program series is added to the server-side instance for repeated recording scheduling for the target DVR system.
2. The method of claim 1, further comprising synchronizing a server-side instance of the repeat recording schedule with another instance of a repeat recording schedule for the target DVR system, thereby adding the particular series of multimedia programs to the another instance of the repeat recording schedule;
wherein the another instance of the repeat recording schedule for the target DVR system is a data component of the target DVR system.
3. A method performed by one or more server computing devices, the method comprising:
receiving and storing data reflecting concurrent recording capabilities of a target DVR system associated with a user;
receiving input selecting a source DVR system associated with a user;
receiving an input selecting a target DVR system;
causing presentation of a user interface to a user, the user interface including a set of one or more selectable items, each selectable item of the set of selectable items corresponding to a repeat recording item of a repeat recording schedule for the source DVR system, each repeat recording item of the repeat recording schedule being associated with an identifier of a series of multimedia programs;
receiving input indicating selection of a particular selectable item in the set of selectable items;
identifying a particular multimedia program series from the one or more program guides associated with the target DVR system by searching the one or more program guides associated with the target DVR system based on an identifier of the multimedia program series associated with the repeated recording item that corresponds to the particular selectable item;
determining that adding the particular series of multimedia programs to a repeat recording schedule for the target DVR system would cause a concurrent recording conflict based on data reflecting the concurrent recording capabilities of the target DVR system, and in response to determining that a notification is issued to a user of the concurrent recording conflict.
4. The method of claim 3, wherein determining that adding the particular series of multimedia programs to the repeat recording schedule for the target DVR system would cause a concurrent recording conflict based on data reflecting the concurrent recording capabilities of the target DVR system comprises: determining from one or more program guides associated with the target DVR system any overlap between episodes of the multimedia program series that are listed simultaneously in the repeat recording schedule and episodes of the particular multimedia program series.
5. A method performed by one or more server computing devices, the method comprising:
receiving input selecting a particular DVR system;
identifying a particular multimedia program series from the one or more program guides associated with the particular DVR system by searching the one or more program guides associated with the particular DVR system based on the identifier of the multimedia program series;
adding the particular multimedia program series to a server-side instance of a repeat recording schedule for the particular DVR system; and
synchronizing the server-side instance of the repeat recording schedule with another instance of the repeat recording schedule for the particular DVR system, thereby adding the particular series of multimedia programs to the another instance of the repeat recording schedule, the another instance of the repeat recording schedule for the particular DVR system being a data component of the particular DVR system.
6. The method of claim 5, wherein after synchronizing, the server-side instance of the repeat recording schedule comprises an ordered list of multimedia program identifiers and associated channel identifiers, and the another instance of the repeat recording schedule comprises the same ordered list of multimedia program identifiers and associated channel identifiers.
7. The method of claim 5, further comprising searching a program guide associated with the particular DVR system to identify one or more multimedia programs that satisfy the search criteria in response to receiving the search criteria, wherein the one or more identified multimedia programs comprise the particular multimedia program.
8. The method of claim 5, wherein the another instance of the repeat recording schedule for the particular DVR system is stored on a non-volatile storage medium of the particular DVR system.
9. The method of claim 5, wherein synchronizing the server-side instance of the repeat record schedule with the another instance of the repeat record schedule comprises: a network connection is established with the particular DVR system and data representing the particular multimedia program is sent to the particular DVR system over the network connection.
10. The method of claim 9, wherein the network connection is a Transmission Control Protocol (TCP) connection initiated by the particular DVR system.
11. The method of claim 5, further comprising receiving and storing data reflecting concurrent recording capabilities of the particular DVR system.
12. The method of claim 5, further comprising receiving input indicating a recording quality at which the particular DVR system is attached when recording episodes of the particular multimedia programming series on a repeating basis.
13. The method of claim 5, further comprising receiving an input selecting to cause the particular DVR system to only record and store new episodes of the particular multimedia programming series.
14. The method of claim 5, further comprising receiving an input selecting to cause the particular DVR system to record new episodes and replayed episodes of the particular multimedia programming series.
15. The method of claim 5, further comprising receiving an input selecting a maximum number of recorded episodes of the particular multimedia program series that the particular DVR system is to store.
16. The method of claim 5, further comprising receiving an input indicating a condition under which the particular DVR system will delete episodes of the particular multimedia programming series that have been recorded and stored.
17. The method of claim 5, wherein each episode of the particular multimedia programming series is presented on a corresponding channel, the method further comprising receiving an input specifying a length of time before a predetermined start time of an episode of the particular multimedia programming series to begin recording the corresponding channel on which the episode is presented.
18. The method of claim 5, wherein each episode of the particular multimedia programming series is presented on a corresponding channel, the method further comprising receiving an input specifying a length of time after a predetermined end time of an episode of the particular multimedia programming series to continue recording the corresponding channel on which the episode is presented.
19. One or more server computing devices, comprising:
means for receiving input selecting a source DVR system associated with a user;
means for receiving input selecting a target DVR system associated with a user;
means for causing presentation of a user interface to a user, the user interface including a set of one or more selectable items, each selectable item of the set of selectable items corresponding to a repeat recording item of a repeat recording schedule for the source DVR system, each repeat recording item of the repeat recording schedule being associated with an identifier of a multimedia program series;
means for receiving input indicating selection of a particular selectable item in the set of selectable items;
means for identifying a particular multimedia program series from the one or more program guides associated with the target DVR system by searching the one or more program guides associated with the target DVR system based on an identifier of the multimedia program series associated with the repeated recording item corresponding to the particular selectable item;
means for adding the particular multimedia program series to the server-side instance for repeated recording scheduling for the target DVR system.
20. The one or more server computing devices of claim 19, further comprising means for synchronizing a server-side instance of the repeat recording schedule with another instance of a repeat recording schedule for the target DVR system, thereby adding the particular series of multimedia programs to the another instance of the repeat recording schedule;
wherein the another instance of the repeat recording schedule for the target DVR system is a data component of the target DVR system.
21. One or more server computing devices, comprising:
means for receiving and storing data reflecting concurrent recording capabilities of a target DVR system associated with a user;
means for receiving input selecting a source DVR system associated with a user;
means for receiving an input selecting a target DVR system;
means for causing presentation of a user interface to a user, the user interface including a set of one or more selectable items, each selectable item of the set of selectable items corresponding to a repeat recording item of a repeat recording schedule for the source DVR system, each repeat recording item of the repeat recording schedule being associated with an identifier of a multimedia program series;
means for receiving input indicating selection of a particular selectable item in the set of selectable items;
means for identifying a particular multimedia program series from the one or more program guides associated with the target DVR system by searching the one or more program guides associated with the target DVR system based on an identifier of the multimedia program series associated with the repeated recording item corresponding to the particular selectable item;
means for determining, based on the data reflecting the concurrent recording capabilities of the target DVR system, that adding the particular series of multimedia programs to a repeat recording schedule for the target DVR system would cause a concurrent recording conflict, the means for announcing the concurrent recording conflict to a user in response to the determination.
22. The one or more server computing devices of claim 21, wherein determining that adding the particular series of multimedia programs to the repetitive recording schedule for the target DVR system will cause a concurrent recording conflict based on data reflecting concurrent recording capabilities of the target DVR system comprises: determining from one or more program guides associated with the target DVR system any overlap between episodes of the multimedia program series that are listed simultaneously in the repeat recording schedule and episodes of the particular multimedia program series.
23. One or more server computing devices, comprising:
means for receiving an input selecting a particular DVR system;
means for identifying a particular multimedia program series from the one or more program guides associated with the particular DVR system by searching the one or more program guides associated with the particular DVR system based on the identifier of the multimedia program series;
means for adding the particular multimedia program series to a server-side instance of a repeat recording schedule for the particular DVR system; and
means for synchronizing the server-side instance of the repeat recording schedule with another instance of the repeat recording schedule for the particular DVR system, thereby adding the particular series of multimedia programs to the another instance of the repeat recording schedule, the another instance of the repeat recording schedule for the particular DVR system being a data component of the particular DVR system.
24. The one or more server computing devices of claim 23, wherein after synchronization, the server-side instance of the repeat recording schedule comprises an ordered list of multimedia program identifiers and associated channel identifiers, and another instance of the repeat recording schedule comprises the same ordered list of multimedia program identifiers and associated channel identifiers.
25. The one or more server computing devices of claim 23, further comprising means for searching a program guide associated with the particular DVR system to identify one or more multimedia programs that satisfy the search criteria, wherein the one or more identified multimedia programs comprise the particular multimedia program.
26. The one or more server computing devices of claim 23, wherein the another instance of the repeat recording schedule for the particular DVR system is stored on a non-volatile storage medium of the particular DVR system.
27. The one or more server computing devices of claim 23, wherein the means for synchronizing the server-side instance of the repeat recording schedule with the another instance of the repeat recording schedule comprises means for establishing a network connection with the particular DVR system and sending data representing the particular multimedia program to the particular DVR system over the network connection.
28. The one or more server computing devices of claim 27, wherein the network connection is a Transmission Control Protocol (TCP) connection initiated by the particular DVR system.
29. The one or more server computing devices of claim 23, further comprising means for receiving and storing data reflecting the concurrent recording capabilities of the particular DVR system.
30. The one or more server computing devices of claim 23, further comprising means for receiving input indicating a recording quality at which the particular DVR system is adhered to when recording episodes of the particular multimedia program series on a repetitive basis.
31. The one or more server computing devices of claim 23, further comprising means for receiving an input selecting to cause the particular DVR system to record and store only new episodes of the particular multimedia program series.
32. The one or more server computing devices of claim 23, further comprising means for receiving an input selecting to cause the particular DVR system to record new episodes and replayed episodes of the particular multimedia program series.
33. The one or more server computing devices of claim 23, further comprising means for receiving an input selecting a maximum number of recorded episodes of the particular multimedia program series that the particular DVR system is to store.
34. The one or more server computing devices of claim 23, further comprising means for receiving input indicating a condition under which the particular DVR system will delete episodes of the particular multimedia program series that have been recorded and stored.
35. The one or more server computing devices of claim 23, wherein each episode of the particular multimedia programming series is presented on a corresponding channel, the one or more server computing devices further comprising means for receiving an input specifying a length of time before a predetermined start time of an episode of the particular multimedia programming series, the particular DVR system to begin recording the particular multimedia programming series on the corresponding channel on which the episode is presented.
36. The one or more server computing devices of claim 23, wherein each episode of the particular multimedia programming series is presented on a corresponding channel, the one or more server computing devices further comprising means for receiving an input specifying a length of time after a predetermined end time of an episode of the particular multimedia programming series, the particular DVR system continuing to record the particular multimedia programming series on the corresponding channel on which the episode is presented.
HK13108151.3A 2011-08-31 2013-07-11 Multimedia program recording schedule manager HK1181222B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/223,232 2011-08-31
US13/223,232 US9414109B2 (en) 2011-08-31 2011-08-31 Multimedia program recording schedule manager

Publications (2)

Publication Number Publication Date
HK1181222A1 HK1181222A1 (en) 2013-11-01
HK1181222B true HK1181222B (en) 2017-07-28

Family

ID=

Similar Documents

Publication Publication Date Title
US9854307B2 (en) Multimedia program recording schedule manager
US10142690B2 (en) Server-based program recording scheduling
US9038110B2 (en) System and method for viewing a TV program guide on a mobile device background
TWI441520B (en) Systems and methods for creating variable length clips from a media stream
CN101681371B (en) Multimedia Content Search and Record Arrangement System
EP1996994B1 (en) Recommended recording and downloading guides
US20080235587A1 (en) System and method for content distribution
US20240187697A1 (en) Real-time dvr programming
JP2004506352A (en) Remote television playback control
MX2012006302A (en) Method and apparatus for recording television content.
CN101252674A (en) Display method of network system, server device, terminal device, content guide
CN102835121A (en) Systems and methods for providing roaming video wanted list and roaming video preferences
JP2002354386A (en) Content management receiver, content management transmitter, and content management program
US20120090008A1 (en) Method and system for preselecting multimedia content
HK1181222B (en) Multimedia program recording schedule manager
AU2010100616A4 (en) Remote Content Download
WO2002013527A9 (en) Method and system for remote television replay control
AU2014101162A4 (en) Remote content download
AU2015100803A4 (en) Remote content download
AU2013101518B4 (en) Remote content download
HK1183356B (en) Multimedia content search and recording scheduling system
JP2005151514A (en) Internet-controlled televison recording service
HK1136665B (en) Multimedia content search and recording scheduling system