RELATED APPLICATIONSThis application claims the benefit of U.S. provisional application 61/160,262, filed on Mar. 13, 2009, entitled, “MULTIPLE ROOM-DIGITAL VIDEO RECORDING.” This application is also related to U.S. patent application Ser. No. ______, filed on Mar. 15, 2010, entitled, “PASSWORD CONTROL FOR MULTI-ROOM DIGITAL VIDEO RECORDER,” having docket number 60136.0161USU2, and U.S. patent application Ser. No. ______, filed on Mar. 15, 2010, entitled, “MULTI-USER FILE SYSTEM FOR MULTI-ROOM DIGITAL VIDEO RECORDING,” having docket number 60136.0160USU1. The aforementioned are incorporated herein by reference.
FIELD OF THE INVENTIONThis disclosure relates in general to the digital recording of content, and more particularly to multiple room-digital video recording.
BACKGROUNDOver the past few years, multi-service broadband communications companies have invested heavily in developing and improving on the delivery infrastructure. For example, the U.S. cable industry has made fiber optics a centerpiece of a massive, multi-billion dollar investment program that has brought new capabilities to millions of cable customers. As a result, cable customers are able to connect to a high-capacity network that is powered by fiber-optic transmission lines. The investment in fiber optic lines has allowed cable companies to introduce increasing sophisticated services and equipment, i.e., set-top boxes (STB). Such services include Internet services, digital and high-definition television, On Demand TV, digital phone services and more.
In addition, over the past three decades, various U.S. satellite services have come and gone or combined. Satellite television is television delivered from ground stations to communications satellites wherein the signal is relayed to a satellite dish and set-top box of a subscriber.
Spurred initially by demand for broadband Internet service, operators have more recently recognized that the enhanced bandwidth and increased reliability of their networks would lend themselves to delivery of an even greater array of value added, revenue generating consumer services. Recently, digital video recorders (DVRs) have enabled subscribers to take control of their television.
A DVR is a device that records video in a digital format. Such devices may be implemented in stand-alone set-top boxes, portable media players (PMP) and software for personal computers which enables video capture and playback. DVRs make the “time shifting” feature (traditionally done by a VCR) much more convenient, and also allow for “trick modes” such as pausing live TV, instant replay of interesting scenes, and chasing playback where a recording can be viewed before it has been completed. Most DVRs use the MPEG format for compressing the digitized video signals.
Equipment manufactures continue to add features to DVRs that will make it easier to watch TV shows when you want to, plus make the whole experience more active. Furthermore, self-contained data networks are increasingly common in new homes and they are readily deployable in others via off-the-shelf, consumer-friendly solutions. That availability has many consumers interested in new ways of using their media throughout their home such as listening to the music stored on their PC via their home audio system, viewing video and photos stored on their PC on any TV in their home, or watching video stored on their DVR system on a laptop in another room.
Consumers crave having their content freed from the limitations of place, enabling uninterrupted, consistent content-driven services regardless of location. However, consumers are unable to use their existing technology to locate content while surfing the web, pause playback, then continue viewing the content via their set top box on their television, and then pause again and complete the experience in yet another location. Further, content maintained on a consumer's DVR located in a living room is not accessible to any other set top box or PC located throughout the home.
Thus, it can be seen then that there is a need for a system, method and computer-readable media that provides device management for multiple room-digital video recording.
SUMMARY OF THE INVENTIONTo overcome the limitations described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, embodiments for providing device management for multiple room-digital video recording are disclosed.
The above-described problems are solved by using a trusted device list to manage the configuration of a plurality of media devices in a media network.
An embodiment includes a multi-room digital video recorder (MR-DVR) that includes memory for storing data and a processor, coupled to the memory, for providing capture and presentation of content, the processor provisioning a reset interface for resetting a control parameter to a default value and a resynchronization interface for initiating a setting of the control parameter to a new value.
In another embodiment, a multi-room media network is provided. The multi-room media network includes a network for providing device interconnectivity for receiving and sending data, a plurality of content control devices coupled to the network, wherein the plurality of content control devices include a multi-room digital video recorder (MR-DVR) for providing for capture and presentation of content received by the network and at least one non-DVR device, coupled to the MR-DVR, the at least one non-DVR device configured to communicate with the MR-DVR, wherein at least one non-DVR device includes a reset interface for resetting a control parameter on the at least one non-DVR to a default value, the MR-DVR includes a reset interface for resetting a control parameter on the MR-DVR and for resetting any at least one non-DVR device in communication with the MR-DVR to a default value, the MR-DVR further including a resynchronization interface for initiating a setting of the control parameter on the MR-DVR and the at least one non-DVR to a new value after the control parameter for the MR-DVR and the at least one non-DVR have been reset.
In another embodiment, a method for providing a multi-room media network is provided. The method includes providing a network for establishing device interconnectivity for receiving and sending data, providing a plurality of content control devices coupled to the network, wherein the providing a plurality of content control devices include providing a multi-room digital video recorder (MR-DVR) to capture and present content received by the network and providing at least one non-DVR device coupled to the MR-DVR to communicate with the MR-DVR, providing the plurality of content control devices with a reset interface for resetting a control parameter on the at least one non-DVR to a default value and providing the MR-DVR a resynchronization interface for initiating a setting of the control parameter on the plurality of content control devices after the control parameter for the content control devices have been reset.
A computer readable medium including executable instructions which, when executed by a processor, provides a multi-room media network is disclosed. The computer readable medium includes instructions executable by the processor for establishing a network for establishing device interconnectivity for receiving and sending data; configuring a plurality of content control devices coupled to the network, wherein the providing a plurality of content control devices include configuring a multi-room digital video recorder (MR-DVR) to capture and present content received by the network and configuring at least one non-DVR device coupled to the MR-DVR to communicate with the MR-DVR, creating a reset interface for the plurality of content control devices for resetting a control parameter on the at least one non-DVR to a default value and creating a resynchronization interface for the MR-DVR for initiating a setting of the control parameter on the plurality of content control devices after the control parameter for the content control devices have been reset.
These and various other advantages and features of novelty are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the disclosed embodiments, the advantages, and the objects obtained, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of the disclosed embodiments.
BRIEF DESCRIPTION OF THE DRAWINGSReferring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 is a simplified block diagram illustrating a cable television/services system architecture that serves as an exemplary operating environment for the present invention;
FIG. 2 is a diagram of a home having MR-DVR boxes according to an embodiment of the invention;
FIG. 3 is a block diagram showing the operation of the MR-DVR STBs according to an embodiment of the invention;
FIG. 4 illustrates a first configuration of MR-DVRs according to one embodiment of the invention;
FIG. 5 illustrates a second configuration of MR-DVRs according to an embodiment of the invention;
FIG. 6 illustrates a STB, such as a MR-DVR having memory for storing a trusted rights list according to an embodiment of the invention;
FIG. 7 illustrates a file that is stored for each recording on a DVR according to an embodiment of the invention;
FIG. 8 is a flow chart of a process for recording programs in a MR-DVR environment according to an embodiment of the invention;
FIG. 9 illustrates a dual directory structure according to an embodiment of the invention;
FIG. 10 is a block diagram of a MR-DVR network according to an embodiment of the invention; and
FIGS. 11a-dillustrate the management of content on an MR-DVR according to an embodiment of the invention.
DETAILED DESCRIPTIONEmbodiments of the present invention are directed providing device management for multiple room-digital video recording. A trusted device list is used to manage the configuration of a plurality of media devices in a media network.
FIG. 1 is a simplified block diagram illustrating a cable television/services system100 (hereafter referred to as “CATV”) architecture that serves as an exemplary operating environment for the present invention. Referring now toFIG. 1, digital and analog video programming, information content and interactive television services are provided via a hybrid fiber coax (HFC)network115 to atelevision set120 for consumption by a cable television/services system customer. As is known to those skilled in the art,HFC networks115 combine both optical fiber and coaxial cable lines. Typically, optical fiber runs from thecable head end110 to neighborhoods of 500 to 2,000 customers. Coaxial cable runs from the optical fiber feeders to each customer. According to embodiments of the present invention, the functionality of theHFC network115 allows for efficient bidirectional data flow between the client-side set-top box105 and the server-side application server140 of the present invention.
According to embodiments of the present invention, theCATV system100 is in the form of a distributed client-server computing system for providing video and data flow across the HFC network115 between server-side services providers (e.g., cable television/services providers) via a server-side head end110 and a client-side customer via a client-side set-top box (STB)105 functionally connected to a customer receiving device, such as thetelevision set120. As is understood by those skilled in the art,modem CATV systems100 may provide a variety of services across theHFC network115 including traditional digital and analog video programming, telephone services, high speed Internet access, video-on-demand, and information services.
On the client side of theCATV system100, digital and analog video programming and digital and analog data are provided to thecustomer television set120 via the set-top box (STB)105. Interactive television services that allow a customer to input data to theCATV system100 likewise are provided by theSTB105. As illustrated inFIG. 1, theSTB105 is a multipurpose computing device having a computer processor, memory and an input/output mechanism. The input/output mechanism receives input from server-side processes via theHFC network115 and from customers via input devices such as theremote control device128 and thekeyboard130. Theremote control device128 and thekeyboard130 may communicate with theSTB105 via a suitable communication transport such as theinfrared connection132. TheSTB105 also includes a video processor for processing and providing digital and analog video signaling to thetelevision set120 via acable communication transport134. A multi-channel tuner is provided for processing video and data to and from theSTB105 and the server-sidehead end system110, described below.
TheSTB105 also includes anoperating system122 for directing the functions of theSTB105 in conjunction with a variety of client applications126. For example, if aclient application125 requires a news flash from a third-party news source to be displayed on thetelevision120, theoperating system122 may cause the graphics functionality and video processor of theSTB105, for example, to output the news flash to thetelevision120 at the direction of the client application126 responsible for displaying news items.
Because a variety ofdifferent operating systems122 may be utilized by a variety of different brands and types of set-top boxes, amiddleware layer124 is provided to allow a given software application to be executed by a variety of different operating systems. According to an embodiment of the present invention, themiddleware layer124 may include a set of application programming interfaces (API) that are exposed to client applications126 andoperating systems122 that allow the client applications to communicate with the operating systems through common data calls understood via the API set. As described below, a corresponding middleware layer is included on the server side of theCATV system100 for facilitating communication between the server-side application server and the client-side STB105. According to one embodiment of the present invention, themiddleware layer142 of the server-side application server and themiddleware layer124 of the client-side STB105 format data passed between the client side and server side according to the Extensible Markup Language (XML).
The set-top box105 passes digital and analog video and data signaling to thetelevision120 via a one-way communication transport134. TheSTB105 may receive video and data from the server side of theCATV system100 via theHFC network115 through a video/data downlink and data via a data downlink. TheSTB105 may transmit data from the client side of theCATV system100 to the server side of theCATV system100 via theHFC network115 via one data uplink. The video/data downlink is an “in band” downlink that allows for digital and analog video and data signaling from the server side of theCATV system100 through theHFC network115 to the set-top box105 for use by theSTB105 and for distribution to thetelevision set120. As is understood by those skilled in the art, the “in band” signaling space operates at a frequency between 54 and 860 megahertz. The signaling space between 54 and 860 megahertz is generally divided into 6 megahertz channels in which may be transmitted a single analog signal or a greater number (e.g., up to ten) digital signals.
The data downlink and the data uplink, illustrated inFIG. 1, between theHFC network115 and the set-top box105 comprise “out of band” data links. As is understand by those skilled in the art, the “out of band” frequency range generally lies between zero and 54 megahertz. According to embodiments of the present invention, data flow between the client-side set-top box105 and the server-side application server140 is typically passed through the “out of band” data links. Alternatively, an “in band” data carousel may be positioned in an “in band” channel into which a data feed may be processed from the server-side application server140 through theHFC network115 to the client-side STB105. Operation of data transport between components of theCATV system100, described with reference toFIG. 1, is well known to those skilled in the art.
Referring still toFIG. 1, thehead end110 of theCATV system100 is positioned on the server side of the CATV system and includes hardware and software systems responsible for originating and managing content for distributing through theHFC network115 to client-side STBs105 for presentation to customers viatelevisions120. As described above, a number of services may be provided by theCATV system100, including, but not limited to, digital and analog video programming, interactive television services, telephone services, video-on-demand services, targeted advertising, and provision of information content.
Theapplication server140 is a general-purpose computing system operative to assemble and manage data sent to and received from the client-side set-top box105 via theHFC network115. As described above with reference to the set-top box105, theapplication server140 includes amiddleware layer142 for processing and preparing data from the head end of theCATV system100 for receipt and use by the client-side set-top box105. For example, theapplication server140 via themiddleware layer142 may obtain data from third-party services146 via theInternet140 for transmitting to a customer through theHFC network115 and the set-top box105. For example, a weather report from a third-party weather service may be downloaded by the application server via theInternet144. When theapplication server140 receives the downloaded weather report, themiddleware layer142 may be utilized to format the weather report for receipt and use by the set-top box105.
According to one embodiment of the present invention, data obtained and managed by themiddleware layer142 of theapplication server140 is formatted according to the Extensible Markup Language and is passed to the set-top box105 through theHFC network115 where the XML-formatted data may be utilized by a client application126 in concert with themiddleware layer124, as described above. As should be appreciated by those skilled in the art, a variety of third-party services data, including news data, weather data, sports data and other information content may be obtained by theapplication server140 via distributed computing environments such as theInternet144 for provision to customers via the HFC network115 and the set-top box105.
According to embodiments of the present invention, theapplication server140 obtains customer support services data, including billing data, information on customer work order status, answers to frequently asked questions, services provider contact information, and the like fromdata services160 for provision to the customer via an interactive television session. As illustrated inFIG. 1, the servicesprovider data services160 include a number of services operated by the services provider of theCATV system100 which may include data on a given customer.
Abilling system162 may include information such as a customer's name, street address, business identification number, Social Security number, credit history, and information regarding services and products subscribed to by the customer. According to embodiments of the present invention, thebilling system162 may also include billing data for services and products subscribed to by the customer for bill processing billing presentment and payment receipt.
Acustomer information database168 may include general information about customers such as place of employment, business address, business telephone number and demographic information such as age, gender, educational level, and the like. Thecustomer information database168 may also include information on pending work orders for services or products ordered by the customer. Thecustomer information database168 may also include general customer information such as answers to frequently asked customer questions and contact information for various service provider offices/departments. As should be understood, this information may be stored in a variety of disparate databases operated by the cable services provider.
Anelectronic mail system164 may contain information such as electronic mail addresses, high-speed Internet access subscription information and electronic mail usage data. Anauthentication system166 may include information such as secure user names and passwords utilized by customers for access to network services. As should be understood by those skilled in the art, the disparatedata services systems162,164,166,168 are illustrated as a collection of data services for purposes of example only. The example data services systems comprising thedata services160 may operate as separate data services systems, which communicate with a web services system (described below) along a number of different communication paths and according to a number of different communication protocols.
Referring still toFIG. 1, aweb services system150 is illustrated between theapplication server140 and the data services160. According to embodiments of the present invention, theweb services system150 serves as a collection point for data requested from each of the disparate data services systems comprising the data services160. According to embodiments of the present invention, when theapplication server140 requires customer services data from one or more of thedata services160, theapplication server140 passes a data query to theweb services system150. The web services system formulates a data query to each of the available data services systems for obtaining any required data for a requesting customer as identified by a set-top box identification associated with the customer. Theweb services system150 serves as an abstraction layer between the various data services systems and theapplication server140. That is, theapplication server140 is not required to communicate with the disparate data services systems, nor is theapplication server140 required to understand the data structures or data types utilized by the disparate data services systems. Theweb services system150 is operative to communicate with each of the disparate data services systems for obtaining necessary customer data. The customer data obtained by the web services system is assembled and is returned to theapplication server140 for ultimate processing via themiddleware layer142, as described above.
FIG. 2 is a diagram200 of a home having MR-DVR boxes according to an embodiment of the invention. InFIG. 2 acommunications system210 provides content to acommunications network220 for delivery of content to subscribers. One such subscriber may be a single-family residence, an apartment complex, a condominium complex, etc. InFIG. 2, a single-family residence230 is shown coupled to thecommunications network220. Content is provided to the single-family residence230 viasignal path232. A single-family residence230 may include several content control devices, such as DVRs/STBs240,244,246, for processing content signals delivered to the single-family residence230 viasignal path232 and for recording such content.Signal path232 is coupled to DVR/STB244. DVRs/STBs240,246 are coupled to the home network bywireless device280,284, respectively.Computer262 is coupled to the home network via wireless device286. DVR/STB244 may act as a gateway for the other devices, e.g., DVRs/STBs240,246 andcomputer262. However, the devices may be configured in alternate configurations, such as illustrated inFIGS. 4-5 below. Thewireless devices280,284,286 may be external or internal devices and may be integrated into the device using the connectivity provided by the wireless devices.
FIG. 3 is a block diagram300 showing the operation of the MR-DVR STBs according to an embodiment of the invention. InFIG. 3, a Business and Operations Support System (BSS/OSS)310, such as Infinys® ICOMS provided Convergys, provides subscriber account management. A Digital Network Control System (DNCS)360 is provided between the BSS/OSS310 and the hybrid fiber coaxnetwork370. TheDNCS360 provides management, monitoring, and control of the network's elements, including theSTBs340, and broadcast services provided to subscribers.
The BSS/OSS310 maintains subscribers' information in a database that is accessible via, for example, anavigation tool320. The navigation tool may include several user interfaces, such as a BSS/OSS UI322, a signaltesting system UI324,other systems UIs326. The interfaces provide service tools for service representatives to use during installation and maintenance activities.
Profile server330 is configured to communicate with thenavigation tool320, BSS/OSS310 andSTBs340. Communication may be implemented using socket connections. Theprofile server330 supports the setting of control parameters, such as multi-passwords, and maintains the trustedrights list350 for theSTBs340. Those of ordinary skilled in the art will understand that passwords are just one example of a control parameter and that other types of control parameters may be utilized. The trustedrights list350 will include information received from business data generating modules, such as a profile service, a billing system, etc. The trusted rights list is heavily dependent on the headend, but the dependency may be configurable. Nevertheless, any source can deliver the trusted rights list to the set-top box once obtained from theprofile server330.Profile server330 is designed to keep provisioning information for a simple, consistent, intuitive navigation (SCIN) application on eachSTB340. The SCIN application may be configured to allow subscribers to navigate data stored on a MR-DVR using just the up, down, left, right and A-B-C buttons on a remote. Data stored on a MR-DVR may include linear programming, video-on-demand (VOD) programming and content subscribers may have stored on a DVR. The trusted device list stored in theprofile server330 and in the DVR must be synchronized. Further, the trusted device list that is transferred between theprofile server330 and the DVR is encrypted.
A basic MR-DVR home network provisioning configuration includes one MR-DVR network, wherein STBs that belong to the MR-DVR network must be explicitly specified. Other devices are not allowed to access the network, even if the other devices are MoCA and UPnP capable. Multimedia over Coax Alliance (MoCA) provides standards to facilitate home networking on existing high speed coaxial cable. Cable meeting the standards can be used for data connections to televisions, set-top boxes, and other entertainment devices without the need for new connections. The goal is to be able to distribute high-quality multimedia content and high-speed data with high throughput. Universal Plug and Play (UPnP) is a set of networking protocols that allow devices to connect seamlessly and to simplify the implementation of networks in the home (data sharing, communications, and entertainment) and in corporate environments for simplified installation of computer components. UPnP achieves this by using UPnP device control protocols (DCP) built upon open, Internet-based communication standards.
STBs340 belonging to one MR-DVR network can only be specified after physical installation in customer's home. InFIG. 3,STBs340 represent both MR-DVRs and non-DVRs. Service representatives are able to enable/disable MR-DVR features from the headend. Further, a service representative is able to enable/disable a connection from aspecific STB340 to a DVR host. Only one DVR is allowed in the MR-DVR network basic configuration.
The trusteddevice list350 is a text file that uses a simple format to manage the MR-DVRs. There may bemultiple lines352, wherein each line stands for oneSTB340 installed in the household, whether or not they belong to the MR-DVR network. Four fields354-357, which are separated with whitespace, are provided in eachline352. Thefirst field354 is the RF MAC address of aSTB340. Thesecond field355 is the readable name of the STB. Thethird field356, <DVR_F>, is a Boolean type, wherein true means this line keeps information of a DVR box and false means this line keeps information of a non-DVR box. Thefourth field357, <OCHN_F>, is a Boolean type, wherein true means thisSTB340 belongs to the network and false means theSTB340 is a standalone box.
Theprofile server330, along with the trusteddevice list350, is used to manage all possible configuration scenarios. When a MR-DVR is initially installed, e.g., one MR-DVR box and two non-DVR boxes, the service representative is dispatched. The service representative may be carrying many MR-DVR boxes and non-DVR boxes. The service representative certifies the home using handheld MoCA test equipment to make sure the physical connections match the required home network specifications. The service representative installs one MR-DVR box and two non-DVR boxes and calls a representative at the central office with the MAC addresses of three boxes, including identification of the MAC address of the DVR box. The representative at the central office access the BSS/OSS system310 andprofile server330 via thenavigation tools320 to create the trusteddevice list350 that is maintained on theprofile server330. The field service representative boots the DVR, which pulls the trusteddevice list350 from theprofile server330. The MR-DVR boots up and checks a flag in the trusted device list to determine whether the MR-DVR is allowed into network mode; otherwise the MR-DVR is configured in isolated mode. Next, the non-DVRs are booted up. The non-DVRs talk to the MR-DVR in UPnP device discovery mode using its MAC address as an ID. The MR-DVR searches the stored trusted device list using the MAC address. If the MR-DVR finds the item, and the flag is set appropriately, the MR-DVR grants access from the non-DVR.
When a customer changes the default name of eachSTB340, the customer uses the SCIN UI on a non-DVR to change the name of thespecific STB340. A name change message is sent from the non-DVR to the MR-DVR. Using MAC address, the MR-DVR finds the appropriate line in the trusteddevice list350 and changes the name field. The DVR pushes back the trusteddevice list350 to theprofile server330. A service representative at the central office accesses the customer account using thenavigation tools320. The service representative at the central office pulls thename355 of thenew STB340 from theprofile server330 associated with itsMAC address354.
To eliminate one non-DVR from the MR-DVR network, a service representative at the central office set the appropriate flag on the non-DVR to false and saves the setting back in theprofile server330. Theprofile server330 pushes the trusteddevice list350 to the MR-DVR in the same household and the MR-DVR shuts down communication with the eliminatedSTB340.
To disable the MR-DVR network, the service representative at the central office sets the appropriate flag of the MR-DVR to false and saves the setting back in theprofile server330. Theprofile server330 pushes the trusteddevice list350 to the MR-DVR in the same household. The MR-DVR sees its own flag set to false and disables all MR-DVR networking activities.
Many computers may be configured to be Digital Living Network Alliance® (DLNA) certified and UPnP capable. A MoCA dongle may be installed on a computer so that computer can talk to a MR-DVR in UPnP messages. A computer with a MoCA dongle may be block from having access because the MR-DVR can see the computers request, but the DVR can determine that the computer is not in the trusted device list and thus the MR-DVR will not grant a connection requests from it.
To support extensibility to multiple DVRs, multiple lines may be provided for the MR-DVRs in the trusted device list. To support additional digital right management (DRM), more columns can be added to the trusted device list to support fine grained DRM schemes.
FIG. 4 illustrates a first configuration of MR-DVRs400 according to one embodiment of the invention. InFIG. 4, the MR-DVRs410,420,430 are setup in a flat model where each MR-DVR410,420,430 is connected to theheadend440 and each of the MR-DVRs410,420,430 is treated as a unique set-top box.
FIG. 5 illustrates a second configuration of MR-DVRs500 according to an embodiment of the invention. InFIG. 5, MR-DVRs510,520,530 are setup so that one MR-DVR520 acts as a gateway. In bothFIG. 4 andFIG. 5, premium content may pass through each of the MR-DVRs. In the gateway model ofFIG. 5, the gateway MR-DVR520 manages the home networking MR-DVR2510,530 with all the feature provisioning that goes through the gateway MR-DVR520. In addition to the unique ID associated with each MR-DVR510,520,530, each is given a user friendly name to identify each set-top box in the home network.
FIG. 6 illustrates a STB, such as a MR-DVR600, having memory for storing a trusted rights list according to an embodiment of the invention. InFIG. 6, a MR-DVR600 is coupled to aheadend680 for receiving content therefrom. In the MR-DVR, thememory610 of the MR-DVR600 is in communication withprocessor620. Thememory610 includes the trustedrights list630. The trustedrights list630 maintainsdata640 for the MR-DVR, such as flags and values may be provided in each line of the trustedrights list630. TheMAC address650 of the MR-DVR and thename652 selected for the MR-DVR are examples of some of the types ofdata640 that may be maintained in the trustedrights list630. ADVR flag654 may be set to identify the device as a MR-DVR andhome network flag656 may be set to identify that the DVR belongs to the home network. Additionalother fields658 may also be provided. Accordingly, any features that are relevant to home networking are extendable through the trusted rights list. For example, if aSTB600 is used as storage for storing computer files of the subscriber, and the subscriber wants to play MP3s from the computer, this set of features can be extended to the trustedrights list630. If aSTB600 is allowed to access the content from any third party device, such features may be extended through the trustedrights list630. Accordingly, features may be passed based on a field until constrained by the trustedrights list630. For minor use cases, the configuration is very straightforward. For example, the subscriber can change thedefault name652 of thedevice600. The subscriber can also change certain fields that do not affect the billing code. Thus, the trustedrights list630 provides the user the authority to change certain fields. However, most fields will probably be blocked to prevent the subscriber from changing certain features. The subscriber has access to only what is exposed to them through the user interface application, which is controlled by the service provider. The subscribers will not be able to upload their own application to theSTB600. Thus, all applications running on theSTB600 may be controlled solely by the service provider, even though additional features may be provided, such as playing MP3s on the home computer.
The trustedrights list630 is used to support the multi-room DVR functionality. The MR-DVR600 may be treated as the gateway of the home network based on the configuration of the trustedrights list630. The home network is implemented as a self matched domain and is dependent on theheadend680. However, the subscriber has many features that can be managed from the subscriber end. For example, the subscriber may decide when to record a program. Even if the connection to the headend660 is temporarily lost, the subscriber is still authorized to access recordings on the MR-DVR600. Thedata640 of the trustedrights list630 provides this capability to the subscriber and thus provides a stand alone management model.
Embodiments may also be implemented in combination with computer systems and program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. By way of example, computerreadable media690 can include computer storage media or other tangible media.Computer storage media690 includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage ofinformation692, such as computer readable instructions, data structures, program modules or other data. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
Embodiments implemented on computer-readable media690 may refer to a mass storage device, such as a hard disk or CD-ROM drive. However, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed or utilized by a processing device, e.g., server or communications network provider infrastructure.
By way of example, and not limitation, computer-readable media690 may include, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store the desired information and which can be accessed by a processing device.
As mentioned briefly above, a number of program modules and data files may be stored and arranged for controlling the operation of processing devices. Thus, one ormore processing devices620 may be configured to execute instructions that perform the operations of embodiments of the present invention.
It should also be appreciated that various embodiments of the present invention can be implemented (1) as a sequence of computer implemented acts or program modules running on a processing device and/or (2) as interconnected machine logic circuits or circuit modules within the processing devices. The implementation is a matter of choice dependent on the performance requirements. Accordingly, logical operations including related algorithms can be referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, firmware, special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.
Memory610 thus may store the computer-executable instructions that, when executed byprocessor620, cause theprocessor620 to implement a system as illustrated elsewhere in this detailed description of embodiments. However,memory610 may also be configured to provide the trusteddevice list630, which is processed byprocessor620.
FIG. 7 illustrates afile700 that is stored for each recording on a DVR according to an embodiment of the invention. The recordings are organized in a linear structure to enhance performance. Every recording has acontent field710 and aspecial index name720. Thespecial index name720 is stored in thehard drive directory730. Those skilled in the art will recognize thatFIG. 7 shows a linear field of data, but will understand that the present invention is not meant to be limited to such a configuration. Additional data structures and configurations may be implemented without departing from the scope of the present invention. For example, the metadata may be a link to separate data fields, the metadata may be non-contiguous with the special index name, etc. Nevertheless, providing support for a multi-user environment is important because there are typically many users in a home want access, and each of these users has different interests, different favorite ratings, and bookmarks that may be associated with their user profile. Further each of these users share the content. However, if every one records the same content on the hard drive multiple times, space will be exhausted. Thus, thecontent710 andmetadata740 must be managed to optimize the support of multiple users. Metadata may include user profile folders. Thecontent710 is stored in a linear format andstack layer metadata740 is also linked to thecontent710 to provide searchable information. However, such information does not support a user profile or multiple users. Thus, a file is configured with additional folders. Links in each user folder show recording ofcontent710.
FIG. 8 is aflow chart800 of a process for recording programs in a MR-DVR environment according to an embodiment of the invention. When a user wants to record a program, a search of the hard drive is first performed to determine whether another user has previously recorded thisprogram810. If a user previously recorded the program, a link is identified and provided to theiruser profile folder820. When the user logs in, the user can see that a file for that program has already been recorded830. Then, if the user wants to delete the recording, rather than comparing every user to determine whether the content is to be maintained, the link is deleted only in the folder of the user wanting to delete thecontent840.
Performing global searches also present a challenge. For example, if the user wants to perform a global search, the search not only looks at that user's profile, but also searches across the whole storage system. This kind of search criteria is very complex. Therefore, the hierarchy of the structure will be complex under each user. Accordingly, a two directory structure may be used.
FIG. 9 illustrates adual directory structure900 according to an embodiment of the invention. A first directory is thedefault directory910 that is stored in the hard drive of the MR-DVR. Thesecond directory920 is generated upon bootup and is stored in memory. Thememory directory920 is used to help improve the performance of the global search. Thememory directory920 only includes metadata, not program content because there is limited storage space. Themetadata960 in thememory directory920 is arranged in a different structure than the structure used in thedefault directory910 in the hard drive. The format of thehard drive directory910 supports one kind of search. A user may thus browse the contents that that user is interested in by accessing only the directory of that user on the hard drive. Thedefault directory910 includes acontent field920, a special index name930 andmetadata940. However, when a user wants to perform a global search, thememory directory920 is checked.
In a home network, a control parameter, such as a password, may be used as a mechanism to isolate each layer, e.g., the link layer, network layer, the physical layer, etc. in the seven layers of an OSI modem. Multiple password setting involves the use of multiple passwords, e.g., for different users, in the home network. Multimedia over Coax Alliance (MoCA®) is the enabling technology to provide multiple password setting, as well as other features that may be discussed herein. As discussed above, MoCA® is an open, industry driven initiative that is targeted at the cable industry to support home networking by promoting distribution of digital video and entertainment through existing coaxial cable in the home.
FIG. 10 is a block diagram of a MR-DVR network1000 according to an embodiment of the invention. InFIG. 10, the management of the MR-DVR network1000 will be described.FIG. 10 shows a network having an MR-DVRs1010 andnon-DVR STBs1020,1022. During a first time window, all users on the home network are located. Then, a reset of the passwords may be performed. When a connection is lost for some reason, the resynchronization process is treated as a new set-top box is being added, but the reset is performed on each set-top box. The passwords are resynchronized on the reset. Any set-top box that links to the DVR will be automatically reset. Any set-top box that is isolated, the reset needs to be activated on that set-top box.
The time window must give the user time to go from one room to another if necessary so that the user can communicate in some way to reset that device. The communication may be through a remote control, the pushing of a button on the device or other means. Thus, the reset purpose is to return to the default control parameter, e.g., password, so the devices have a baseline allowing them to talk to each other. Then, the devices share the connection and exchange information to synchronize their timing to obtain the new password. The devices are configured to change to the new password simultaneously so the service will not be interrupted.
When abox1030 is added, the subscriber accesses a user interface, e.g., on a MR-DVR, that allows the subscriber to give the command for adding abox1030. All theboxes1010,1020,1022,1030 are configured with areset mechanism1012,1026,1028,1032. An MR-DVR box1010 has aresynchronization mechanism1014 for initiating resynchronization. Non-DVR1020,1022 do not need a resynchronization mechanism because nobody intends to access content from thenon-DVR1020,1022, i.e., thenon-DVR1020,1022 does not store content. Thus, all theboxes1010,1020,1022,1030 have areset mechanism1012,1026,1028,1032 and only MR-DVR box1010 has both areset1012 and aresynchronization mechanism1014. As mentioned, these buttons may be implemented as a physical buttons, implemented in software, or implemented in some other manner. Each box may have access to a display for presenting a user interface for that box to the user. The user could perform the reset remotely if the box has a connection. However, the primary function of the reset processes is to allow the user to reset the boxes when the connection has been loss.
All the boxes have a default password, and the default password give the boxes a baseline communication. To change the boxes to a uniquely selected password, thereset mechanism1012 is activated at an MR-DVR box1010. The time window gives the user sufficient time to activate the reset mechanism on theother boxes1020,1022,1030. However, when thenew box1030 is added, thenew box1030 is connected to thenetwork1040. However, thenew box1030 cannot communicate with theother boxes1010,1020,1022 yet because thenew box1030 is the only one set with the default password. Thenew box1030 cannot receive content because it is not properly isolated and thus has no connection, even though thenew box1030 is configured with the default password. So, allboxes1010,1020,1022 are reset to the default password first. When the boxes are resynchronized, all the boxes will be configured with the unique password and will thus be able to communicate.
A longer time window occurs when the connection is lost. In this case, the first step is to reset all theboxes1010,1020,1022. For example, if abox1020 is still configured with the unique password and connected to the network, i.e., the MR-DVR1010 can see thisbox1020, the user can reset theseboxes1020 from the MR-DVR1010. However, the user must move to anyother box1022 because thisbox1022 does not have a connection and cannot be reset from the MR-DVR1010. Thus, the time window is set up so the user has time to reset the boxes that are not connected to thenetwork1040, i.e.,box1022 in this example. The time window may be configurable by the user.
When abox1022 loses a connection with theother boxes1022,1010 and the user is at thatbox1022, the user may be able to send a signal that allows theother boxes1022,1010 to reset to the default password. However, since thisbox1022 has lost its connection with theother boxes1010,1020, such a technique would be dependent on the headend. Because the connection between thisbox1022 and all of theother boxes1010,1020 has been lost, a path is needed to theother boxes1010,1020. Thus, communicating with the headend1050 is an option. Nevertheless, the reset and resynchronization discussed above do not require a headend1050. When a connection with a headend1050 exists, password management may be handled on the headend1050. Thus, without using headend1050, there is no way for the user to work from thebox1022 that has lost its connection to communicate to theother boxes1010,1022 to have them reset their passwords. The user must move back and forth between abox1022 that has lost its connection and theother boxes1010,1020.
Even if the connection to the headend is temporarily lost, the subscriber is still authorized to reset the password. For example, where the password is set in the broadband home network, the DSL or the cable modem in the home network may be managed independently from the service provider. This allows features to be setup and the subscriber to manage the network. Still, in most instances the home network will be managed by both the headend and the subscriber thereby providing bi-directional management.
FIGS. 11a-dillustrate the management of content on an MR-DVR1100 according to an embodiment of the invention. As described above, the trusted rights list is used to manage the storage of DVR content on a Host DVR for viewing on client receivers. However, the implementation of the management of content is not meant to be limited to any single type of configuration. Rather, the trusted rights list may be configured to provide different ways of managing content. Moreover, those skilled in the art will recognize that the methods for managing content described with reference toFIGS. 11a-dare not meant to be exhaustive or limiting.
The trusted rights list allows the storage of one content item with more than one user requesting recording and the recorded item may be recorded with different record options by different users, e.g., pre-roll, delete rules, priority, etc. The recorded list may be viewed with user filtering including filtering the list in a linear list of files or grouped according to folders. Moreover, the content list is viewable by an UPnP client that is not a STB provided by the service provider.
To only maintain one actual recording of a program, but allow more than one user to have an interest or link to it, the relationship and management of the data must be controlled.FIG. 11ashows afirst method1110 for providing enhanced metadata that is attached to the recording. For example, the metadata that contains the program name etc. may also be used to hold information on the users that have requested, viewed or deleted the event. Therefore,FIG. 11ashows theroot directory1112 that includes a folder for Episode1 ofFiends1114. Episode1 ofFiends1114 has been recorded by User11116 and User21118. Episode2 ofFiends1120 was recorded only byUser21122.Movies11124 was recorded byUser11126. Charlie'sAngles1128 was recorded byUser21129. Thus, thefirst method1110 shown inFIG. 11ahas the advantage of only one file is need to manage each recording. However, this arrangement does not help with UPnP display in the future. Further, all files need to be processed to build a display tree, which may take a long time and may produce no results.
FIG. 11billustrates asecond method1130 for managing content according to an embodiment of the invention. InFIG. 11b, the metadata may be provided with a symbolic link to the user metadata.FIG. 11bshows theroot directory1132 includes a folder forProgram Recording Data1134 and a folder forUser Specific Data1142.Program Recording Data1134 shows Episode11136 ofFiends1134 has been recorded by User11137 and User21138. Episode21140 ofFiends1134 was recorded only by User21141. TheUser Specific Data1142 shows data specific to User11143. User1 recorded Episode1 ofFiends1144. Separately, theUser Specific Data1142 shows data specific toUser21145.User21145 recorded Episode1 ofFiends1146 and Episode2 ofFiends1147.
Thus,FIG. 11bshows how the metadata may be split between common recording information and user specific data. The user specific data may be placed in a directory structure that allows easy navigating of the user's content. This method makes a recording request and linking it to content a simple procedure and simplifies the handling of user metadata. However, multiple files and links are needed to manage each recording. Further, this arrangement does not help with UPnP display in the future. Also, all files need to be processed to build a display tree that may produce in no results.
FIG. 11cillustrates athird method1150 for managing content according to an embodiment of the invention. InFIG. 11c, user metadata is organized for quick display by program centric organization. In theroot directory1152, a folder forFiends1154 is provided. TheFiends folder1154 includes links for two episodes1156,1158. Also under theroot directory1152 is a folder for Movies withSans Pen1160. In the folder for Movies withSans Pen1160, two links tomovies1162,1164 are provided. A Charlie's Angles link1166 is also provided under theroot directory1152. With the user metadata separated, the data may be ordered by user or by grouping. This option helps with UPnP display in the future by providing a view structure and makes a recording request and linking it to content simple. Further, the handling of user metadata on pre-roll is simplified. However, multiple files and links still need to be managed for each recording. Also, all files need to be processed to build a display tree that may produce in no results.
FIG. 11dillustrates afourth method1170 for managing content according to an embodiment of the invention. InFIG. 11d, user metadata may be organized for quick display by user centric organization.FIG. 11dshows a root directory having two branches or folders, User11174 and User1190. Under User11174, folders forFiends1176 and Movies withSans Penn1182 are provided. Under theFiends folder1176, User11174 has recorded twoEpisodes1178,1180. Under Movies withSans Penn1182, the user has recorded twomovies1184,1186. Under User21190, the folder forFiends1192 includes a link for only thefirst Episode1194. However, User21190 has also recorded Charlie'sAngles1196. Again, the separation of the user metadata allows the data to be ordered by user or by grouping. As shown inFIG. 11d, the program metadata may be stored in a user based directory structure with the metadata then stored in a program centric way under the user directory. This option helps with UPnP display in the future by providing a view structure. All files do not need to be processed to build display tree, which may produce a quicker response. The making of a recording request and linking it to content is simple. Further, the handling of user metadata on a pre-roll case is simplified. However, multiple files and links are still needed to manage each recording. Also, for the user default, more searching is required.
The foregoing description of the exemplary embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not with this detailed description, but rather by the claims appended hereto.