Network-wide remote parental control

A master or administrative device may be used to control and manage a particular media content lock on other devices within a particular network. When a new device is registered, the new device may be set-up to be configured so as to comply with the particular media content lock.

BACKGROUND

The ever-increasing amount and diversity of electronic media content may allow consumers the flexibility to access various content of interest. It may be difficult, however, for adult consumers to control and manage what type of content is accessed by minors under their charge.

SUMMARY

This Summary does not in any way limit the scope of the claimed subject matter.

In an aspect, a computer-implemented method is disclosed. The method may include detecting, by a computing system that is connected to a local area network, connection of a particular computing device to the local area network. The method may include determining whether a resource restriction profile that is associated with the particular computing device is available. The method may include sending when available information associated with a particular resource restriction profile to the particular computing device, wherein the information associated with the particular resource restriction profile designates at least one resource to be disabled by the particular computing device when exhibited by the particular computing device.

In an aspect, a computing system is disclosed. The computing system may include one or more processors and a memory communicatively coupled with and readable by the one or more processors. The memory may have stored thereon or therein processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to detect connection of a particular computing device to a network. The memory may have stored thereon or therein processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to determine whether a resource restriction profile that is associated with the particular computing device is available. The memory may have stored thereon or therein processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to send when available information associated with a particular resource restriction profile to the particular computing device, wherein the information associated with the particular resource restriction profile designates at least one resource to be disabled by the particular computing device when exhibited by the particular computing device.

In an aspect, a non-transitory processor-readable medium is disclosed. The non-transitory processor-readable medium may comprise processor-readable instructions configured to cause one or more processors to detect connection of a particular computing device to a home area network. The non-transitory processor-readable medium may comprise processor-readable instructions configured to cause one or more processors to determine whether a resource restriction profile that is associated with the particular computing device is available. The non-transitory processor-readable medium may comprise processor-readable instructions configured to cause one or more processors to send when available information associated with a particular resource restriction profile to the particular computing device, wherein the information associated with the particular resource restriction profile designates at least one resource to be disabled by the particular computing device when exhibited by the particular computing device.

DETAILED DESCRIPTION

The present disclosure is directed to or towards a parental control that prevents unauthorized access to particular media content, such as broadcast programming for example.

In a first example, referred to throughout as “Remote Parental Control with Reward Unlock,” authorized access to broadcast programming may be gained upon correct or at least sufficient answering of a particular question. In one example embodiment, the question may prompt a user to correctly solve a problem, such as a mathematical problem for example. In another example embodiment, the question may prompt a user to confirm completion of a particular task, such as a household chore for example. Other embodiments are possible.

In another example, referred to throughout as “Network-Wide Remote Parental Control,” a master or administrative device may be used to control and/or manage a particular media content lock on other devices within a particular network, such as a local area network for example. When a new device is registered, the new device is set-up to be configured so as to comply with the particular media content lock.

Although not so limited, an appreciation of the various aspects of the present disclosure may be gained from the following discussion in connection with the drawings.

Referring now toFIG. 1, a first example method100is shown in accordance with the present disclosure. In particular, the example method100may correspond to a high-level description of the “Remote Parental Control with Reward Unlock” concept of the present disclosure. In general, the example method100as described may be performed on or by at least one computing system or device in a networked computing environment. An example of such a computing system or device may include a television receiver and/or a server computer(s), such as discussed below in connection with at leastFIG. 3. An example of such a networked computing environment may include a content distribution system incorporating various aspects of a local area network and a satellite-based content distribution network, such as discussed below in connection with at leastFIG. 3. Other embodiments are possible.

The method100may include receiving (module102), by a computing system or device, a request from a device remote from the television receiver to set a “lock” to prevent unauthorized access to particular broadcast programming. For instance, in a parental control or parental controls scenario, a parent while commuting home from work in the afternoon may use their smartphone to remotely access a server, or a television receiver, to configure the television receiver such that their child when home from school in the afternoon cannot immediately turn on the television and start watching a show. Here, the device is “remote” because the request to set the lock is sent from the device to the television receiver over a network, such as the Internet for example. This is different than interacting with a particular computing device to set a parental control to limit access to certain features of that particular computing device. For example, this is different than installing a piece of software to a particular computing device, in which that piece of software control or limits access to one or more resources of that particular computing device. Although, such an implementation is not outside of the scope of the present disclosure.

Additionally, and as described in further detail below, the lock itself may be defined according to a particular scheme, to provide for a “granularity” in preventing unauthorized access to particular broadcast programming. For instance, it is contemplated that a “content-specific” parental control lock may prevent unauthorized viewing of a particular show, such as an instance of the show “South Park” for example. It is further contemplated that a “channel-specific” parental control lock may prevent unauthorized viewing of any program associated with a particular broadcast or network channel, such as all shows associated with the channel “MTV” for example. It is further contemplated that a “global” parental control lock may prevent unauthorized viewing of all broadcast programming received by the television receiver at any particular time when the global lock is “enabled.” Many other types of “locks” are possible, where a “type” of a particular lock may or may not be implementation specific.

The method100may further include receiving (module104), by the computing system or device, a request to access the particular broadcast programming; however, a lock is in place to prevent unauthorized access to the particular broadcast programming (see module102). For instance, continuing with the above-example parental control scenario, the child may attempt to turn on the television and start watching a show immediately upon returning home from school in the afternoon. For example, the child may use a remote control device to try and select the show “South Park” from within an EPG (Electronic Programming Guide) for immediate viewing. In this example, it is assumed that the lock that is set in place (see module102) is a lock defined so as to prevent unauthorized access to any instance of the show “South Park.” In one embodiment, the television receiver may detect the selection of the show “South Park” within the EPG and equate that selection as a request to access the particular programming as discussed in the context ofFIG. 1. Other embodiments are possible.

The method100may further include outputting (module106), by the computing system or device for presentation by a display device, a user interface that requests a response to a question that when answered correctly removes the lock or “unlocks” the lock that is set to prevent unauthorized access to the particular broadcast programming (see module102). For instance, continuing still with the above-example parental control scenario, in response to detecting or receiving the request to access the show “South Park” (see module104), the television receiver may output a user interface for display by the television that states the question: “Did you do the dishes?” In this example, the user interface may provide a pair of user-selectable icons “Yes” and “No” so that the child may respond to the question. In another example, the television receiver may output a user interface for display by the television that states the question: “What is the result of 8 multiplied by 8?” In this example, the user interface may provide a number of user-selectable icons including an icon associated with the number “56,” an icon associated with the number “64,” and an icon associated with the number “72,” so that the child may respond to the question.

In both of these examples, the child is afforded an opportunity to respond and select an answer that is “correct” or at least “sufficiently correct.” An example of a “sufficiently correct” answer may include responding “Yes” to the question “Did you do the dishes?” This answer may be considered “sufficiently correct” because, while “Yes” is probably the desired answer (e.g., the parent wants to make sure the child cleaned the dirty dishes before watching a television show), there appears to be no “right” or “wrong” answer to the question. This consideration may be addressed for example when a “picture” is uploaded to a server that would allow the parent to “see” that the dishes are substantially cleaned so that the parent is satisfied, which may allow the parent to unlock content. In contrast, an example of a “correct” answer may be viewed as selecting the icon associated with the number “64” in response to the question “What is the result of 8 multiplied by 8?” This answer may be considered “correct” because it may be understood that there is a “right” and a “wrong” answer to that particular question.

Such an implementation as discussed in connection withFIG. 1may be beneficial and/or advantageous in many respects. For example, in a parental control scenario, a minor may obtain a privilege as a reward for engaging in a productive and/or educational task. This may in one aspect be viewed as “nurturing” of the minor, whereby an adult may at least attempt to instill within the minor the importance of being active both in body and mind, as well as the concept of delayed gratification where, while perhaps not immediately appreciated, the child may enjoy a larger and possibly more significant future reward. Other advantages and/or benefits are possible. For example, such an implementation may increase the amount of interaction between a parent and a child. Still other advantages and/or benefits are possible. For example, a parent may stimulate their child to think about activities where they can help in house and/or to educate themselves and reward them sequentially. This may create a sense of responsibility and/or discipline. This may also create a sense of “nothing comes for free.”

Referring now toFIG. 2, a second example method200is shown in accordance with the present disclosure. In particular, the example method200may correspond to a high-level description of the “Network-Wide Remote Parental Control” concept of the present disclosure. In general, the example method200as described may be performed on or by at least one computing system or device in a networked computing environment. An example of such a computing system or device may include a television receiver and/or a server computer(s), such as discussed below in connection with at leastFIG. 3. An example of such a networked computing environment may include a content distribution system incorporating various aspects of a local area network and a satellite-based content distribution network, such as discussed below in connection with at leastFIG. 3. Other embodiments are possible.

The method200may include detecting (module202), by a computing system or device, connection of a particular computing device to a particular network. For instance, the computing system or device may as part of a discovery process detect connection of a smartphone to a particular local area network, such as a home area network, for example. In this example, upon detecting connection of the smartphone to the local area network, the computing system or device may determine whether or not a particular file or profile that is associated with the smartphone is available. Here, it is assumed that if or when a particular file or profile that is associated with the smartphone is available, then that smartphone is registered with the computing system or device to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure. Likewise, it is assumed that if a particular file or profile that is associated with the smartphone is not available or unavailable, then that smartphone is not registered with the computing system or device to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure.

The method200may include determining (module204), by the computing system or device, whether or not a particular file or profile, referred to in one embodiment as a “resource restriction profile,” that is associated with the particular computing device detected as connecting or connected to the particular network (see module202) is available. For instance, the computing system or device may query a repository or database to determine whether the smartphone of the above-example scenario is registered with the computing system or device to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure. Such a feature or process may be implemented in any number of ways.

For example, the smartphone itself may have a unique identification parameter that may be discovered by the computing system or device when the smartphone connects to the local area network. A particular resource restriction profile when existing may then be matched to the smartphone based on the unique identification parameter. In another example, a user credential such as a username and/or password, for example, that is used by a user to access features and/or functionality of the smartphone may be discovered by the computing system or device when the smartphone connects to the local area network. A particular resource restriction profile when existing may then be matched to the smartphone based on the user credential. Many other methods may be used to determine whether or not a particular file or profile that is associated with the particular computing device detected as connecting to the network is available.

The method200may include sending (module206), by the computing system or device, information associated with a particular file or profile to the particular computing device when available (see module204). For instance, the computing system or device may send to the smartphone of the above-example an associated particular resource restriction profile, or at least data contained within the associated particular resource restriction profile, where the particular resource restriction profile may in some cases designate at least one resource to be disabled by the smartphone when that resource is exhibited by the smartphone.

In the context of a parental control or a parental control scenario, the particular resource may be a resource that a parent wishes a child not have immediate access to, for whatever reason. Here, the smartphone may have a dedicated interface and/or software module configured to identify the particular resource that a parent wishes a child not have immediate access to, and disable and/or at least prevent or limit immediate access to the particular resource. It is contemplated that the dedicated interface and/or software module may be configured such that the same has access to resources of the smartphone both on a hardware level and software level in or at any degree of abstraction as desired. For example, the dedicated interface and/or software module may interact directly with an operating system of the smartphone. In another example, the dedicated interface and/or software module may sit above the operating system and interact directly with an executing mobile application. Still other examples are possible as well

Further, the particular resource may be any type of hardware or software resource of the smartphone. For example, the particular resource may be a communications resource (e.g., texting, email, phone, etc.) that a parent wishes a child not have immediate access to. In another example, the particular resource may be a software or mobile application resource (e.g., Angry Birds, Internet browser, iTunes, etc.) that a parent wishes a child not have immediate access to. In still another example, the particular resource may be a specific social media resource (e.g., Facebook, Twitter, Snapchat, etc.) that a parent wishes a child not have immediate access to. Still other examples are possible.

The method200may include sending (module208), by the computing system or device to an administrative device, a notification indicating that a particular file or profile that is associated with the particular computing device detected as connecting or connected to the particular network is not available (see module204). An administrator may use the notification then to proceed with registering the particular computing device with the computing system or device to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure. For instance, the notification may inform a parent that the smartphone of the above-example scenario, which may be assumed to be used or owned by a child in this example, has not yet been is registered with the computing system or device to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure. As described in further detail below, the parent may then proceed to define a particular file or profile that is associated with the smartphone accordingly.

Such an implementation as discussed in connection withFIG. 2may be beneficial and/or advantageous in many respects. For example, in a parental control scenario, many typical media content lock mechanisms may work only with a particular device, such as a Set-Top-Box, tablet computer, etc. However, with features and/or aspects of the “Network-Wide Remote Parental Control” of the present disclosure, all devices (e.g., respective resources of all devices) in a given network may be “locked,” and access may only be allowed or permitted when “parental control” allows it. For example, when broadcast programming associated with the show “South Park” is blocked from being output by a television receiver, another “lock” may be put in place or defined such that when a child or minor finds the same content by other means, such as on “YouTube” using a smartphone for example, content associated with the show “South Park” that may be typically accessed via “YouTube” may be blocked as well. Other advantages and/or benefits are possible as well. For example, network wide remote parental control may allow centralization of the setup, and may prevent children to take alternative source to watch or play parental guided programming or games. Still other advantages and/or benefits are possible as well.

Further benefits and/or advantages associated with the “Remote Parental Control with Reward Unlock” and “Network-Wide Remote Parental Control” concepts of the present disclosure may be understood in light of the following description with reference toFIGS. 3-11.

For example, referring now toFIG. 3an example media content distribution system300is shown in which aspects of the present disclosure may be implemented. For brevity, the system300is depicted in a simplified and conceptual form, and may generally include more or fewer systems, devices, networks, and/or other components as desired. Further, number and type of features or elements incorporated within the system300may or may not be implementation-specific, and at least some of the aspects of the system300may be similar to a cable television distribution system, an IPTV (Internet Protocol Television) content distribution system, and/or any other type of media or content distribution system.

The example system300may include a service provider302, a satellite uplink304, a plurality of orbiting (e.g., geosynchronous) satellites306a-c, a satellite dish308, a PTR (Primary Television Receiver)310, a plurality of STRs (Secondary Television Receivers)312a-b, a plurality of televisions314a-c, a plurality of computing devices316a-b, and at least one access control server322. In the present example, the PTR310and the access control server322each may at least include an instance of a RAC (Resource Access Control) module318. In general, the RAC module318may in one aspect be configured to implement one or more features associated with the “Remote Parental Control with Reward Unlock” and the “Network-Wide Remote Parental Control” of the present disclosure. Further, while particular instances of the RAC module318as shown inFIG. 3(i.e., RAC module318a, RAC module318b) may be configured substantially the same, certain features of the respective instances of the RAC module318may be specific to the type of device each of those instances are associated with. In this manner, certain features of the respective instances of the RAC module318may or may not be implementation specific, as discussed in further detail below.

The system300may also include at least one network320that establishes a bi-directional communication path for data transfer between and among the PTR310, STRs312a-b, televisions314a-c, computing devices316a-b, and access control server322of the example system300. In some embodiments, the network320may further establish a bi-directional communication path for data transfer between the PTR310and the service provider302. The network320is intended to represent any number of terrestrial and/or non-terrestrial network features or elements. For example, the network320may incorporate or exhibit any number of features or elements of various wireless and/or hardwired packet-based communication networks such as, for example, a WAN (Wide Area Network) network, a HAN (Home Area Network) network, a LAN (Local Area Network) network, a WLAN (Wireless Local Area Network) network, the Internet, a cellular communications network, or any other type of communication network configured such that data may be transferred between and among respective elements of the example system300.

The PTR310, and the STRs312a-b, as described throughout may generally be any type of television receiver, such as a STB (Set-Top-Box) for example. In another example, the PTR310, and the STRs312a-b, may exhibit functionality integrated as part of or into a television, a DVR, a computer such as a tablet computing device, or any other computing system or device, as well as variations thereof. Further, the PTR310and the network320, together with the STRs312a-band televisions314a-c, and possibly the computing devices316a-band access control server(s)322, may form at least a portion of a particular home computing network, and may each be respectively configured so as to enable communications in accordance with any particular communication protocol(s) and/or standard(s) including, for example, TCP/IP (Transmission Control Protocol/Internet Protocol), DLNA/DTCP-IP (Digital Living Network Alliance/Digital Transmission Copy Protection over Internet Protocol), HDMI/HDCP (High-Definition Multimedia Interface/High-bandwidth Digital Content Protection), etc. Other embodiments are possible. For example, one or more of the various elements or components of the example system300may be configured to communicate in accordance with the MoCA® (Multimedia over Coax Alliance) home entertainment networking standard. Other embodiments are possible.

In practice, the satellites306a-cmay each be configured to receive uplink signals324a-bfrom the satellite uplink304. In this example, the uplink signals324a-bmay contain one or more transponder streams of particular data or content, such as particular television channel, that is supplied by the service provider302. For example, each of the respective uplink signals324a-bmay contain various media content such a plurality of encoded HD (High Definition) television channels, various SD (Standard Definition) television channels, on-demand programming, programming information, and/or any other content in the form of at least one transponder stream, and in accordance with an allotted carrier frequency and bandwidth. In this example, different media content may be carried using different ones of the satellites306a-c. Further, different media content may be carried using different transponders of a particular satellite (e.g., satellite306a); thus, such media content may be transmitted at different frequencies and/or different frequency ranges. For example, a first and second television channel may be carried on a first carrier frequency over a first transponder of satellite306a, and a third, fourth, and fifth television channel may be carried on second carrier frequency over a first transponder of satellite306b, or, the third, fourth, and fifth television channel may be carried on a second carrier frequency over a second transponder of satellite306a, and etc.

The satellites306a-cmay further be configured to relay the uplink signals324a-bto the satellite dish308as downlink signals326a-b. Similar to the uplink signals324a-b, each of the downlink signals326a-bmay contain one or more transponder streams of particular data or content, such as various encoded and/or at least partially electronically scrambled television channels, on-demand programming, etc., in accordance with an allotted carrier frequency and bandwidth. The downlink signals326a-b, however, may not necessarily contain the same or similar content as a corresponding one of the uplink signals324a-b. For example, the uplink signal324amay include a first transponder stream containing at least a first group or grouping of television channels, and the downlink signal326amay include a second transponder stream containing at least a second, different group or grouping of television channels. In other examples, the first and second group of television channels may have one or more television channels in common. In sum, there may be varying degrees of correlation between the uplink signals324a-band the downlink signals326a-b, both in terms of content and underlying characteristics.

Continuing with the example implementation scenario, the satellite dish308may be provided for use to receive television channels (e.g., on a subscription basis) provided by the service provider302, satellite uplink304, and/or satellites306a-c. For example, the satellite dish308may be configured to receive particular transponder streams, or downlink signals326a-b, from one or more of the satellites306a-c. Based on the characteristics of the PTR310and/or satellite dish308, however, it may only be possible to capture transponder streams from a limited number of transponders concurrently. For example, a tuner of the PTR310may be configured to tune to a single transponder stream from a transponder of a single satellite at a time.

Additionally, the PTR310, which is communicatively coupled to the satellite dish308, may subsequently select via tuner, decode, and relay particular transponder streams to the television314cfor display thereon. For example, the satellite dish308and the PTR310may, respectively, be configured to receive, decode, and relay at least one premium HD-formatted television channel to the television314c. Programming or content associated with the HD channel may generally be presented “live,” or from a recording as previously stored on, by, or at the PTR310. In this example, the HD channel may be output to the television314cin accordance with the HDMI/HDCP content protection technologies. Other embodiments are possible. For example, in some embodiments, the HD channel may be output to the television314cin accordance with the MoCA® (Multimedia over Coax Alliance) home entertainment networking standard. Still other embodiments are possible.

Further, the PTR310may select via tuner, decode, and relay particular transponder streams to one or both of the STRs312a-b, which may in turn relay particular transponder streams to a corresponding one of the television314aand the television314afor display thereon. For example, the satellite dish308and the PTR310may, respectively, be configured to receive, decode, and relay at least one television channel to the television314aby way of the STR312a. Similar to the above-example, the television channel may generally be presented “live,” or from a recording as previously stored on the PTR310, and may be output to the television314aby way of the STR312ain accordance with a particular content protection technology and/or networking standard. Other embodiments are possible.

Still further, the satellite dish308and the PTR310may, respectively, be configured to receive, decode, and relay at least one premium television channel to one or both of the computing devices316a-b. Similar to the above-examples, the television channel may generally be presented “live,” or from a recording as previously stored on the PTR310, and may be output to one or both of the computing devices316a-bin accordance with a particular content protection technology and/or networking standard. Other embodiments are possible.

Referring now toFIG. 4, a simplified block diagram of the PTR310ofFIG. 3is shown in accordance with the present disclosure. In some embodiments, at least one of the STRs312a-bmay be configured in a manner similar to that of the PTR310. In other embodiments, at least one of the STRs312a-bmay be configured to exhibit a reduced functionality as compared to the PTR310, and may depend at least to a certain degree on the PTR310to implement certain features or functionality. In this example, the STRs312a-bmay be referred to as a “thin client.”

For brevity, the PTR310is depicted in a simplified and conceptual form, and may generally include more or fewer elements or components as desired in accordance with the present disclosure. For example, the PTR310is shown inFIG. 4to include the RAC module318as mentioned above in connection withFIG. 3. Additionally, although not explicitly shown inFIG. 4, the PTR310may include one or more logical modules configured to implement a television steaming media functionality that encodes video into a particular format for transmission over the Internet such as to allow users to remotely view and control a home cable, satellite, or personal video recorder system from an Internet-enabled computer with a broadband Internet connection. The Slingbox® by Sling Media, Inc. of Foster City, Calif., is one example of a product that implements such a functionality. Additionally, the PTR310may be configured to include any number of other various components or logical modules that are implemented in hardware, software, firmware, or any combination thereof, and such components or logical modules may or may not be implementation-specific.

In some embodiments, the PTR310and/or the STRs312a-bcomprises of a STB. In addition to being in the form of an STB, at least the PTR310may be incorporated into another device, such as the television314cas shown inFIG. 3. For example, the television314cmay have an integrated television receiver that does not involve an external STB being coupled with the television314c. A STB may contain some or all of the components of the PTR310and/or may be able to perform some or all of the functions of the PTR310. Accordingly, instances in this document referring to a STB, and steps being performed by a STB, may also be performed, more generally, by the PTR310and/or STRs312a-b.

Referring still toFIG. 4, the PTR310may include at least one processor402, including a central processor402aand a control processor402b, a plurality of tuners404a-c, at least one network interface406, at least one non-transitory computer-readable storage medium408, at least one EPG database410, at least one television interface412, at least one NIT (Networking Information Table)414, at least one DVR database416, at least one user interface418, at least one PID filter420, at least one smart card422, at least one descrambling engine424, at least one PMT (Program Map Table)426, and at least one decoder428. In other embodiments of the PTR310, fewer or greater numbers of components may be present. Further, functionality of one or more components may be combined; for example, functions of the descrambling engine424may be performed by the central processor402a. Still further, functionality of components may be spread among additional components. For example, the PID filter420may be handled by hardware and/or software separate from the PMT426.

The processor402may include one or more specialized and/or general-purpose processors configured to perform processes such as tuning to a particular channel, accessing and displaying EPG information from the EPG database410, and/or receiving and processing input from a user. For example, processor402may include one or more processors dedicated to decoding video signals from a particular format, such as MPEG (Moving Picture Experts Group), for output and display on a television and for performing decryption.

The control processor402bmay communicate with the central processor402a. The control processor402bmay control the recording of television channels based on timers stored in the DVR database416. The control processor402bmay initiate recording of a television channel by sending a record command along with an indication of the television channel to be recorded to the central processor402a. The control processor402bmay not send a second record command, when additional recording is to begin at the same time, until an acknowledgement that recording of the first television channel has successfully been received and initiated by the central processor402a. The control processor402bmay also provide commands to the central processor402awhen recording of a television channel is to cease. In addition to providing commands relating to the recording of television channels, the control processor402bmay provide commands to the central processor402athat indicate television channels to be output to the decoder428for output to a presentation device, such as the television314cfor example.

The control processor402bmay also communicate with the network interface406and the user interface418. The control processor402bmay handle in-coming data from the network interface406and the user interface418. Additionally, the control processor402bmay be configured to output data via the network interface406.

The tuners404a-cmay be used to tune to television channels, such as television channels transmitted via satellite or cable, such as satellites306a-c. Each respective one of the tuner404a-cmay be capable of receiving and processing a single stream of data from a satellite transponder, or a cable RF channel, at a given time. As such, a single tuner may tune to a single transponder or, for a cable network, a single cable RF channel. Additionally, one tuner (e.g., tuner404a) may be used to tune to a television channel on a first transponder stream for display using a television, while another tuner (e.g., tuner404b) may be used to tune to a television channel on a second transponder for recording and viewing at some other time. Still another tuner (e.g., tuner404c) may be used to check various television channels to determine if they are available or not. If multiple television channels transmitted on the same transponder stream are desired, a particular tuner (e.g., tuner404a) may be used to receive the signal containing the multiple television channels for presentation and/or recording. The tuners404a-cmay receive commands from the central processor402a. Such commands may instruct the tuners404a-cwhich frequencies are to be used for tuning.

The network interface406may be used to communicate via an alternate communication channel with a television service provider. For example, the primary communication channel may be via satellite, which may be unidirectional to the STB, and the alternate communication channel, which may be bidirectional, may be via a network, such as the Internet. The PTR310may be able to communicate with the service provider302ofFIG. 3via a network, such as the Internet. This communication may be bidirectional. For example, data may be transmitted from the PTR310to the service provider302, and from the service provider302to the PTR310. The network interface406may be configured to communicate via one or more networks, such as the Internet, to communicate with the service provider302. Information may be transmitted and/or received via the network interface406.

The storage medium408may represent a non-transitory computer-readable storage medium. The storage medium408may include memory and/or a hard drive. The storage medium408may be used to store information received from one or more satellites and/or information received via the network interface406. The storage medium408may store information related to the EPG database410, the NIT414, and/or the DVR database416. Recorded television programs may be stored using the storage medium408. The storage medium408may be partitioned or otherwise divided such that predefined amounts of the storage medium408are devoted to storage of omnibus channel files and user-selected television programs.

The EPG database410may store information related to television channels and the timing of programs appearing on such television channels. The EPG database410may be stored using the storage medium408, which may be a hard drive. Information from the EPG database410may be used to inform users of what television channels or programs are popular and/or provide recommendations to the user. Information from the EPG database410may provide the user with a visual interface displayed by a television that allows a user to browse and select television channels and/or television programs for viewing and/or recording. Information used to populate the EPG database410may be received via the network interface406and/or via satellites, such as satellites306a-cofFIG. 3via the tuners404a-c. For instance, updates to the EPG database410may be received periodically via satellite. The EPG database410may serve as an interface for a user to control DVR functions of the PTR310, and/or to enable viewing and/or recording of multiple television channels simultaneously.

In addition to being used to provide users with information about scheduled programming, information from the EPG database410may be used to determine when television programs begin and end for the purposes of recording. For instance, when a channel-specific file is recorded that contains multiple television channels, the start and end of time of specific television programs within the channel-specific file may be based on the start and end times indicated in the EPG database410. Other data may be stored within the EPG database410that may be useful in managing channel-specific files, such as series identifiers and episode identifiers, which may be used by a television service provider to identify particular television programs.

The decoder428may serve to convert encoded video and audio into a format suitable for output to a display device. For instance, the decoder428may receive MPEG video and audio from the storage medium408, or the descrambling engine424, to be output to a television. MPEG video and audio from the storage medium408may have been recorded to the DVR database416as part of a previously-recorded television program. The decoder428may convert the MPEG video and audio into a format appropriate to be displayed by a television or other form of display device and audio into a format appropriate to be output from speakers, respectively.

The television interface412may serve to output a signal to a television, or another form of display device, in a proper format for display of video and playback of audio. As such, the television interface412may output one or more television channels, stored television programming from the storage medium408, such as television programs from the DVR database416and/or information from the EPG database410for example, to a television for presentation.

The NIT414may store information used by the PTR310to access various television channels. The NIT414may be stored using the storage medium408. Information used to populate the NIT414may be received via satellite, or cable, via the tuners404a-cand/or may be received via the network interface406from a service provider. As such, information present in the NIT414may be periodically updated. The NIT414may be locally-stored by the PTR310using the storage medium408. Information that may be present in the NIT414may include, for example: television channel numbers, a satellite identifier, a frequency identifier, a transponder identifier, an ECM (Entitlement Control Message) PID (Packet Identifier), one or more audio PIDs, and a video PID. A second audio PID of a channel may correspond to a SAP (Second Audio Program) program, such as in another language. In some embodiments, the NIT414may be divided into additional tables. For example, rather than the specific audio PIDs and video PIDs being present in the NIT414, a channel identifier may be present within NIT414which may be used to look up the audio PIDs and video PIDs in another table, such as the PMT426. For example, the PMT426may store information on audio PIDs and video PIDs for television channels that are transmitted on a transponder frequency.

Table 1 provides a simplified example of the NIT414for several television channels. It should be understood that in other embodiments, many more television channels may be represented in the NIT414. The NIT414may be at least periodically updated by a television service provider. As such, television channels may be reassigned to different satellites and/or transponders, and the PTR310may be able to handle this reassignment as long as the NIT414is updated.

Based on information in the NIT414, it may be possible to determine the proper satellite and transponder to which to tune for a particular television channel. In some embodiments, the NIT414may list a particular frequency to which to tune for a particular television channel. Once tuned to the proper satellite/transponder/frequency, the PMT PID may be used to retrieve a program management table that indicates the PIDs for audio and video streams of television channels transmitted by that transponder.

It should be understood that the values provided in Table 1 are for example purposes only. Actual values, including how satellites and transponders are identified, may vary. Additional information may also be stored in NIT414. The same PID may be reused on different transponders.

A DVR may permit a television channel to be recorded for a period of time. DVR functionality of the PTR310may be managed by the control processor402b. The control processor402bmay coordinate the television channel, start time, and stop time of when recording of a television channel is to occur. The DVR database416may store information related to the recording of television stations. The DVR database416may store timers that are used by the control processor402bto determine when a television channel should be tuned to and its programs recorded to the DVR database416. However, other embodiments are possible. For example, in some embodiments, the storage medium408may store timers. Timer files may be defined as a daily_schedule_db.dat file and a gloal_timer_db.dat file. In general, when a “new” timer is created, a “new” entry may be added into the daily_schedule_db.dat and gloal_timer_db.dat files, which may include all timer related information such as channel number, start time, duration, etc. Further, a limited amount of the storage medium408may be devoted to the DVR database416. Timers may be set by a service provider and/or one or more users of the PTR310.

DVR functionality of the control processor402bmay have multiple modes. For example, DVR functionality of the control processor402bmay be configured to record individual television programs selected by a user to the DVR database416. Using the EPG database410, a user may select a particular television program. Based on the date, time period, and television channel indicated by the EPG database410, the control processor402bmay record the associated television program to the DVR database416. In another example, the DVR database416may be used to store recordings of predefined periods of time on one or more television channels. These predefined periods of time may include one or more television programs. For example, primetime on a particular television network may be recorded each weekday night. Further, multiple television channels may be recorded for such predefined periods of time. Such recording of television channels for predefined periods of time may be defined by a television service provider (e.g., service provider302).

As an example of this second mode of DVR functionality, a television service provider may configure the PTR310to record television programming on multiple, predefined television channels for a predefined period of time, on predefined dates. For instance, a television service provider may configure the PTR310such that television programming may be recorded from 7 PM to 10 PM on the NBC, ABC, CBS, and FOX networks each weeknight. When a television program is selected for recording by a user and is also specified for recording by the television service provider, the user selection may serve as an indication to save the television program for an extended time, beyond the time which the predefined recording would otherwise be saved.

The user interface418may include a remote control, physically separate from PTR310, and/or one or more buttons on the PTR310that allows a user to interact with the PTR310. The user interface418may be used to select a television channel for viewing, view information from the EPG database410, and/or program a timer stored to the DVR database416wherein the timer may be used to control the DVR functionality of the control processor402b.

Referring back to tuners404a-c, television channels received via satellite, or cable, may contain at least some scrambled data. Packets of audio and video may be scrambled to prevent unauthorized users, such as nonsubscribers, from receiving television programming without paying the television service provider. When one of the tuners404a-cis receiving data from a particular transponder of a satellite, the transponder stream may be a series of data packets corresponding to multiple television channels. Each data packet may contain a PID, which, in combination with the NIT414and/or the PMT426, can be determined to be associated with particular television channel. Particular data packets, referred to as ECMs may be periodically transmitted. ECMs may be associated with another PID and may be encrypted; the PTR310may use the smart card422to decrypt ECMs. Decryption of an ECM may only be possible when the user (e.g., PTR310) has authorization to access the particular television channel associated with the ECM. When an ECM is determined to correspond to a television channel being stored and/or displayed, the ECM may be provided to the smart card422for decryption.

When the smart card422receives an encrypted ECM, the smart card422may decrypt the ECM to obtain some number of control words. In some embodiments, from each ECM received by the smart card422, two control words are obtained. In some embodiments, when the smart card422receives an ECM, it compares the ECM to the previously received ECM. When the two ECMs match, the second ECM is not decrypted because the same control words would be obtained. In other embodiments, each ECM received by the smart card422is decrypted; however, when a second ECM matches a first ECM, the outputted control words will match; thus, effectively, the second ECM does not affect the control words output by the smart card422. The smart card422may be permanently part of the PTR310or may be configured to be inserted and removed from PTR310.

The central processor402amay be in communication with the tuners404a-cand the control processor402b. The central processor402amay be configured to receive commands from the control processor402b. Such commands may indicate when to start/stop recording a television channel and/or when to start/stop causing a television channel to be output to a television. The central processor402amay control the tuners404a-c. The central processor402amay provide commands to the tuners404a-cthat instruct the tuners which satellite, transponder, and/or frequency to tune to. From the tuners404a-c, the central processor402amay receive transponder streams of packetized data. As previously detailed, some or all of these packets may include a PID that identifies the content of the packet.

The central processor402amay be configured to create at least one PID filter420that sorts packets received from the tuners404a-cbased on the PIDs. When a tuner is initially tuned to a particular frequency, such as a particular transponder of a satellite, a PID filter may be created based on a PID of PMT data. The PID of PMT data packets may be known because it is stored as part of the NIT414. From the PMT data packets, the PMT426may be constructed by central processor402a. Table 2 provides an exemplary extract of a PMT. The PMT426may be specific to a particular transponder. As such, when tuning to a different transponder occurs, a new PMT may be created for the different transponder.

Accordingly, based on the information present in the PMT426, the audio and video PIDs for specific television channels may be identified. A television channel may have multiple audio PIDs due to a second audio program, which may be in a different language.

It should be understood that the values provided in Table 2 are for example purposes only. Actual values may vary. Additional information or less information may also be stored in the PMT426.

The PID filter420may be configured to filter data packets based on PIDs. In some embodiments, the PID filter420is created and executed by central processor402a. In other embodiments, separate hardware may be used to create and execute multiple PID filters. Depending on a television channel selected for recording/viewing, a PID filter may be created to filter the video and audio packets associated with the television channel, based on the PID assignments present in the PMT426. For example, when a transponder data stream includes multiple television channels, data packets corresponding to a television channel that is not desired to be stored or displayed by the user, may be ignored by PID filters. As such, only data packets corresponding to the one or more television channels desired to be stored and/or displayed may be filtered and passed to either the descrambling engine424or the smart card422; other data packets may be ignored. For each television channel, a stream of video packets, a stream of audio packets, one or both of the audio programs, and/or a stream of ECM packets may be present, each stream identified by a PID. In some embodiments, a common ECM stream may be used for multiple television channels. Additional data packets corresponding to other information, such as updates to the NIT414, may be appropriately routed by the PID filter420. At a given time, one or multiple PID filters may be executed by the central processor402a.

The descrambling engine424may use the control words output by the smart card422in order to descramble video and/or audio corresponding to television channels for storage and/or presentation. Video and/or audio data contained in the transponder data stream received by the tuners404a-cmay be scrambled. Video and/or audio data may be descrambled by descrambling engine424using a particular control word. Which control word output by the smart card422to be used for successful descrambling may be indicated by a scramble control identifier present within the data packet containing the scrambled video or audio. Descrambled video and/or audio may be output by the descrambling engine424to the storage medium408for storage in the DVR database416and/or to the decoder428for output to a television or other presentation equipment via the television interface412.

For simplicity, the PTR310ofFIG. 4has been reduced to a block diagram; commonly known parts, such as a power supply, have been omitted. Further, some routing between the various modules of PTR310has been illustrated. Such illustrations are for exemplary purposes only. The state of two modules not being directly or indirectly connected does not indicate the modules cannot communicate. Rather, connections between modules of the PTR310are intended only to indicate possible common data routing. It should be understood that the modules of the PTR310may be combined into a fewer number of modules or divided into a greater number of modules. Further, the components of the PTR310may be part of another device, such as built into a television. Also, while the PTR310may be used to receive, store, and present television channels received via a satellite, it should be understood that similar components may be used to receive, store, and present television channels via a cable network.

Referring now toFIG. 5, aspects of the example system300ofFIG. 3are shown in detail. More specifically,FIG. 5shows the PTR310and the computing device316aofFIG. 3. Other embodiments than those depicted inFIG. 5are possible. For example, in some embodiments, the RAC module318of the PTR310may be wholly or at least partially located on one or more other components of the example system300ofFIG. 3. For example, the RAC module318may be wholly or at least partially located on a particular one of the STRs312a-b. Further, the RAC module318may optionally be wholly or at least partially located on at least one access control server322, where the “option” is indicated inFIG. 5by intermittent line. Such an implementation may free particular computing resources of the PTR310, such that the PTR310may more efficiently perform various other tasks. Other advantages may be possible as well.

In practice, the RAC module318of the PTR310may be configured to output an administrative interface504to and for presentation by at least the computing device316a. The administrative interface504may enable an administrator to configure and/or manage aspects of the various parental control concepts of the present disclosure. For example, the administrative interface504may present various information related to television channels and the timing of programs or programming appearing on such television channels, such as programs or programming as received from one or more of the satellites306a-c.

For example, the administrative interface504may display channel information associated with a channel “2009,” where a “Show S1” may be listed as scheduled to appear on the channel 2009 during a particular time period “2-3 PM” of a particular day. The administrative interface504may further display channel information associated with a channel “2012,” where a “Movie M2” may be listed as scheduled to appear on the channel 2012 during a particular time period “3-5 PM” of the particular day. Other embodiments are possible. For example, more or fewer programs or programming may be listed within the administrative interface504. Further, programming listed within the administrative interface504may correspond to recorded content or “live” content. Still other embodiments are possible.

The administrative interface504may further present a first selectable icon506, a second selectable icon508, a third selectable icon510, and a notification window512. Such features may enable an administrator to configure and/or manage various aspects of the parental control concepts of the present disclosure.

For example, as shown inFIG. 5, an administrator may manipulate a cursor514using a pointing device (not shown) to select the first selectable icon506. In response, the RAC module318of the PTR310may be configured to output a first interface516to and for presentation within the administrative interface504. Here, the administrator may manipulate the cursor514within the first interface516to set a “lock” to prevent unauthorized access to particular broadcast programming. For example, as shown inFIG. 5, the administrator may manipulate the cursor514to set one of: a “content-specific” parental control lock; a “channel-specific” parental control lock; and a “global” parental control lock.

In example embodiments, a content-specific programming lock mode may correspond to a lock that restricts access to broadcast programming associated with a particular broadcast program. For example, the administrator may manipulate the cursor514within the administrative interface504to “select” (e.g., as shown by stipple shading inFIG. 5) the “Movie M2,” and then manipulate the cursor514within the first interface516to select the content-specific programming lock indicator within the first interface516to set a lock that prevents unauthorized viewing of the “Movie M2.”

Further, a channel-specific programming lock mode may correspond to a lock that restricts access to all broadcast programming associated with a particular broadcast channel or station. For example, the administrator may manipulate the cursor514within the administrative interface504to “select” the indicator “2012” (e.g., as shown by stipple shading inFIG. 5) associated with the channel 2012, and then manipulate the cursor514within the first interface516to select the channel-specific programming lock indicator within the first interface516to set a lock that prevents unauthorized viewing of all content associated with or broadcast on the channel 2012. For example, this lock may prevent unauthorized viewing of at least the “Movie M1” and the “Movie M2” as shown listed inFIG. 5.

Further, a global programming lock mode may correspond to a lock that restricts access to all broadcast programming as received at or by the PTR310. For example, the administrator may manipulate the cursor514within the administrative interface504to “select” the indicator “Ch.” (e.g., as shown by stipple shading inFIG. 5) to indicate selection of “all” available channels, and then manipulate the cursor514within the first interface516to select the global programming lock indicator within the first interface516to set a lock that prevents unauthorized viewing of all content as received at or by the PTR310. For example, this lock may prevent unauthorized viewing of at least the “News N1” and the “Show S1” and the “Show S2” and the “Show S3” and the “Movie M1” and the “Movie M2” as shown listed inFIG. 5.

The administrator may further manipulate the cursor514within the first interface516to set a password or access code that when used may remove or otherwise disable an existing lock that prevents unauthorized access to particular broadcast programming. For example, as shown inFIG. 5, the administrator may manipulate the cursor514within the first interface516to set a password “LOCKED!” that when used may remove, disable, or otherwise “unlock” an existing lock that prevents unauthorized access to particular broadcast programming. In general, the access code or password may be sent to a particular user by the administrator so that the particular user may remove, disable, or otherwise “unlock” an existing lock. For example, the administrator may manipulate a cursor514within the administrative interface504to select the second selectable icon508to send the access code or password to a particular user. An example of a particular user using an access code or password sent by an administrator is described in further detail below in connection with at leastFIG. 6.

As mentioned above, the administrative interface504may further present a third selectable icon510and a notification window512. In example embodiments, an administrator may manipulate the cursor514to select the third selectable icon510. In response, the RAC module318of the PTR310may be configured to output a second interface518to and for presentation within the administrative interface504. Here, the administrator may manipulate the cursor514within the second interface518to define various information within at least one configuration file520. For example, as shown inFIG. 5, the administrator may manipulate the cursor514to define “Name” (e.g., “My Child”) and “Age” (e.g., “8 years old”) of one or more systems users. The administrator may further manipulate the cursor514to set a particular question or questioning mode that is associated with an existing lock that prevents unauthorized access to particular broadcast programming. In example embodiments, one question mode may correspond to a “Mental Task” question mode, and another question mode may correspond to a “Physical Task” mode. The administrator may further manipulate the cursor514to set a particular “custom” question (e.g., “Did you clean your room?”). Features and/or aspects associated with the file520and the notification window512, and how at least the file520and the notification window512are incorporated and used within the parental control concepts of the present disclosure are discussed in connection withFIG. 6.

For example, referring now toFIG. 6, further aspects of the example system300ofFIG. 3are shown in detail. More specifically,FIG. 6shows the PTR310and the television314cofFIG. 3. Other embodiments than those depicted inFIG. 6are possible. For example, in some embodiments, the RAC module318of the PTR310may be wholly or at least partially located on one or more other components of the example system300ofFIG. 3. For example, the RAC module318may be wholly or at least partially located on a particular one of the STRs312a-b. Further, the RAC module318may optionally be wholly or at least partially located on at least one access control server322, where the “option” is indicated inFIG. 6by intermittent line. Such an implementation may free particular computing resources of the PTR310, such that the PTR310may more efficiently perform various other tasks. Other advantages may be possible as well.

In practice, the PTR310may be configured to output an EPG602to and for presentation by at least the television314c. The EPG602may at least present various information related to television channels and the timing of programs or programming appearing on such television channels, such as television channels as received from one or more of the satellites306a-c. For example, the EPG602may display channel information associated with a channel “2009,” where a show “Show S1” may be listed as scheduled to appear on the channel 2009 during a particular time period “2-3” PM of a particular day. The EPG602may further display channel information associated with a channel “2012,” where a “Movie M2” may be listed as scheduled to appear on the channel 2012 during a particular time period “3-5 PM” of the particular day. Other embodiments are possible. For example, more or fewer programs or programming may be listed within the EPG602. Further, programming listed within the EPG602may correspond to recorded content or “live” content. Still other embodiments are possible.

In the example ofFIG. 6, and assuming that a current time is sometime during the time period 3-5 PM, a user may manipulate a cursor604using a pointing device (not shown) to select the “Movie M2” for immediate viewing on the television314c, as shown by stipple shading inFIG. 6. Here, however, it is assumed that an administrator has previously “set” a particular programming lock to prevent unauthorized viewing of the “Movie M2.” For example, an administrator may have previously set one of a content-specific parental control lock, a channel-specific parental control lock, or a global parental control lock to prevent unauthorized access or viewing of the “Movie M2,” in a manner as described above in connection withFIG. 5. In this example, it is further assumed that an administrator has previously accessed the second interface518to define various information within the file520, as mentioned above in connection withFIG. 5. Here, information as contained or otherwise defined within the second interface518may dictate or influence a “type” of user interface that is output by the RAC module318of the PTR310for display by the television314cin response to user selection of the movie “Movie M1-.” In general, a particular user interface may display a question that when answered correctly removes the lock or “unlocks” the lock that is set to prevent unauthorized access to the movie “Movie M2.”

For example, assuming that an administrator has previously accessed the second interface518and selected the “Physical Task” question mode to be associated with the existing lock defined to prevent unauthorized access to the “Movie M2,” the RAC module318may be configured to output a first user prompt606to and for presentation by the television314cin response to user selection of the “Movie M2” for immediate viewing. The first user prompt606may present a question “Did you clean your room?” along with a pair of user-selectable icons “Yes” and “No” so that the user may respond to the question. In this example, the question “Did you clean your room?” corresponds to the “custom” question defined by an administrator within the file520, discussed above in connection withFIG. 5. Other embodiments are possible.

In one embodiment, the user may further manipulate the cursor604within the first user prompt606to select the user-selectable icon “No” to indicate that the particular task has not been performed. In this case, an “access denied” message608may be presented with the first user prompt606and/or by or on the television314c. In another embodiment, the user may further manipulate the cursor604within the first user prompt606to select the user-selectable icon “Yes” to confirm that the particular task has been performed. The user may further manipulate the cursor604within the first user prompt606to access a text box610to send a message to the administrator “Yes, I picked up my room!” This message may be presented to the administrator within the notification window512of the administrative interface504(see e.g.,FIG. 5). Other embodiments are possible. For example, in some embodiments, an image such as a picture of the of the room may be uploaded and displayed within the notification window512, so the user may “see” that the room has in fact been “picked-up.” Since this message, along with selection of the user-selectable icon “Yes” to confirm that the particular task has been performed, is likely the desired answer to the posed question (e.g., a parent may want to make sure a child cleaned their room before watching a movie), the administrator may select the second selectable icon508to send an access code or password to the user, so that the user may remove, disable, or otherwise “unlock” the existing lock that prevents unauthorized access to the “Movie M2.”

For example, assuming that the administrator has selected the second selectable icon508to send an access code or password to the user, the RAC module318may be configured to output an access code prompt612to and for presentation by the television314c. In one embodiment, the access code prompt612may display the password “LOCKED!” and provide an access code text box614so that the user may enter the password “LOCKED!” to remove, disable, or otherwise “unlock” the existing lock that prevents unauthorized access to the “Movie M2.” Subsequently, the user may access the “Movie M2” for immediate viewing on or by the television314cas desired.

In another example, assuming that an administrator has previously accessed the second interface518and selected the “Mental Task” question mode to be associated with the existing lock defined to prevent unauthorized access to the “Movie M2,” the RAC module318may be configured to output a second user prompt616to and for presentation by the television314cin response to user selection of the “Movie M2” for immediate viewing. The second user prompt616may present a question “What is the square root of 64?” including an icon associated with the number “7,” an icon associated with the number “8,” and an icon associated with the number “9.” In this example, the question “What is the square root of 64?” may be automatically selected by the RAC module318for presentation within the second user prompt616based on one or more parameters. For example, the RAC module318may query the file520and select a mathematical problem considered to have a difficulty consistent with expected education and level of sophistication of a child or minor specified within the file520. For example, the RAC module318may determine that a child “8 years old” may be able to successfully solve the problem “What is the square root of 64?” Other embodiments are possible.

In one embodiment, the user may further manipulate the cursor604within the second user prompt616to select the icon associated with the number “7,” or the icon associated with the number “9.” Here, the answer is “incorrect,” and an “access denied” message618may be presented with the second user prompt616and/or by or on the television314c. Further, a “Try Again?” message620may be presented with the second user prompt616and/or by or on the television314c. In this example, the “Try Again?” message620may be a user-selectable icon that when selected activates the RAC module318to output another, different, mathematical question within the second user prompt616, so that the user may try again to gain authorized access to the to “Movie M2.” In one embodiment, this may be performed ad infinitum. In another embodiment, this may occur only for a predetermined number of times or tries before the user is “locked-out” from attempting to gain authorized access to the “Movie M2” for immediate viewing. In this example, the user may be allowed to try again following passage of a predetermined period of time (e.g., 5 minutes, 10 minutes, etc.). Other embodiments are possible.

In another embodiment, the user may further manipulate the cursor604within the second user prompt616to select the icon associated with the number “8.” Here, the answer is “correct,” and since selection of the icon associated with the number “8” represents a verification of correctly answering the question “What is the square root of 64?” the RAC module318may in one embodiment provide automatic and instantaneous authorized access to the “Movie M2,” so that the user may access the “Movie M2” for immediate viewing on or by the television314cas desired. Other embodiments are however possible. For example, in some embodiments, the second user prompt616may be configured similar to the first user prompt606discussed above, whereby a message may be presented within the notification window512and an administrator may then select the second selectable icon508to send a password as discussed above, so that the user may access the “Movie M2” for immediate viewing on or by the television314c. Likewise, the first user prompt606may configured similar to the second user prompt616discussed above so that the process is substantially automated, and does not require an administrator to send an access code and also a user to enter the access code so that the user may access the “Movie M2” for immediate viewing on or by the television314c.

Referring now toFIG. 7, a third example method700is shown in accordance with the present disclosure. In general, steps or modules of the method700as described may ultimately be implemented by or on the PTR310ofFIG. 3. Other embodiments are however possible. For example, one or more modules or steps of the method700may be implemented by or on one or more of the other respective devices or components within the system300, as described above in connection with at leastFIG. 3. Still other embodiments are possible.

At step702, a television receiver may receive a request to access particular broadcast programming. At step704, the television receiver may identify or determine a particular question mode that is or has been selected by an administrator to be associated with an existing lock defined to prevent unauthorized access to the particular broadcast programming. At step706, the television receiver may output for presentation by a display device a particular user prompt based on the particular question mode identified or determined at step704.

For example, at step702, the PTR310may detect user selection of the “Movie M2” for immediate viewing on the television314c, such as described above in connection withFIG. 6. Other embodiments are however possible. For example, it is envisioned that any means consistent with menu-driven navigation may be used to interact with an EPG, and thus detection of selection of particular broadcast programming may or may not be implementation specific. At step704, the PTR310may query the file520, and determine that one of the “Mental Task” question mode and the “Physical Task” question mode is defined or selected to be associated with an existing lock to prevent unauthorized access to the “Movie M2,” such as described above in connection withFIG. 5. At step706, the PTR310may output for display by the television314cthe first user prompt606when it is determined at step704that an activated question mode corresponds to the “Physical Task” question mode. In another example, the PTR310may output for display by the television314cthe second user prompt616when it is determined at704that an activated question mode corresponds to the “Mental Task” question mode. Continuing with this example herein, flow within the example method700may proceed according to a “Branch A” when the first user prompt606is output for display by the television314c, and according to a “Branch B” when the second user prompt616is output for display by the television314c.

With respect to “Branch A,” at step708, a determination may be made by the television receiver as to whether confirmation on completion of a physical task has been received. For example, the PTR310may detect that a user has manipulated the cursor604within the first user prompt606to select the user-selectable icon “Yes” to confirm that task “Did you clean your room?” has been performed, such as described above in connection withFIG. 6. Alternatively, the PTR310may detect that a user has manipulated the cursor604within the first user prompt606to select the user-selectable icon “No” to denote that task “Did you clean your room?” has not been performed.

Flow within the example method700may branch to step710upon a “Yes” determination at step708, and may branch to step712upon a “No” determination at step708.

At step710, the television receiver may output for presentation by a display device an access code or password so that user may access the particular programming for immediate viewing on or by the display device. For example, at step710, the PTR310may be configured to output an access code prompt612to and for presentation by the television314cwhere in one embodiment, the access code prompt612may display the password “LOCKED!” and provide an access code text box614so that the user may enter the password “LOCKED!” to remove, disable, or otherwise “unlock” the existing lock that prevents unauthorized access to the “Movie M2.” Subsequently, the user may access the “Movie M2” for immediate viewing on or by the television314cas desired. Other embodiments are possible.

At step712, the television receiver may output for presentation by a display device an indication that a “correct” answer has not been received, and that authorized access to the particular broadcast programming is denied. For example, the PTR310may be configured to output an “access denied” message608within the first user prompt606and/or by or on the television314cindicating that the existing lock that prevents unauthorized access to the “Movie M2” is still activated and that the user may not proceed access the “Movie M2” for immediate viewing on or by the television314cas desired. Other embodiments are possible.

With respect to “Branch B,” at step714, a determination may be made by the television receiver as to whether verification of correct answering of a particular logical question has been received. For example, the PTR310may detect that a user has manipulated the cursor604within the second user prompt616to select the icon associated with the number “8” which represents a verification of correctly answering the question “What is the square root of 64?” as discussed above in connection withFIG. 5. Alternatively, the PTR310may detect that a user has manipulated the cursor604within the second user prompt616to select the icon associated with the number “7,” or to select the icon associated with the number “9” which represents a verification of correctly answering the question “What is the square root of 64?” which does not represent a verification of correctly answering the question “What is the square root of 64?”

Flow within the example method700may branch to step716upon a “Yes” determination at step714, and may branch to step718upon a “No” determination at step710.

At step716, the television receiver may provide automatic and instantaneous authorized access to the particular broadcast programming. For example, the PTR310may in one embodiment provide automatic and instantaneous authorized access to the “Movie M2,” so that the user may access the “Movie M2” for immediate viewing on or by the television314c, as discussed above in connection withFIG. 5. Other embodiments are possible.

Beginning at step718, flow within the method700may branch in a loop between step718, step720, and step714where the television receiver may repeatedly output for display different, logical questions (step718) until a number of allowed questions is exceeded (step720), at which time process flow with the method700may branch to step712where the television receiver may output for presentation by a display device an indication that a “correct” answer has not been received, and that authorized access to the particular broadcast programming is denied. For example, at steps the PTR310may initially output for display within the second user prompt616the question “What is the square root of 64?” where when answered incorrectly the PTR310may repeatedly output for display within the second user prompt616another, different question where, following a predetermined number of incorrect answers, the PTR310may output the “access denied” message618within the second user prompt616and/or by or on the television314c. Other embodiments are possible.

Referring now toFIG. 8, further aspects of the example system300ofFIG. 3are shown in detail. More specifically,FIG. 8shows the network320and the access control server(s)322ofFIG. 3. In this example, the network320is shown comprising an IP network802and the Internet804. The network320is shown in this manner inFIG. 8for purposes of example only. As discussed above in connection withFIG. 3, the network320may represent any number of terrestrial and/or non-terrestrial network features or elements as desired, and those features may or may not be implementation specific.

A plurality of computing systems or devices806a-fare shown connected directly to the IP network802inFIG. 8. These devices are intended to represent any type of conceivable computer device that may access or otherwise connect to the IP network802, which may in one embodiment correspond to a LAN, such as a HAN. For example, the devices806a-fmay include a desktop computer (e.g., device806a), a personal data assistant (e.g., device806b), a smartphone (e.g., device806c), a television receiver (e.g., device806d), a laptop computer (e.g., device806e), a tablet computer (e.g., device8061), and many other different types of computing devices. Further, an administrator device808and the access control server322ofFIG. 3are shown connected directly to the Internet804inFIG. 8. Other embodiments are possible. For example, one or both of the administrator device808and the access control server322may be connected directly to the IP network802inFIG. 8.

Both the administrator device808and the access control server322may include a particular instance of the RAC module318as shown inFIG. 3. In particular, the administrator device808may include an RAC module318b, and the access control server322may include an RAC module318a. The RAC module318aand the RAC module318bmay be configured substantially the same. However, certain features of the RAC module318amay be different from the RAC module318b, and vice versa.

For example, the RAC module318aof the access control server322may be configured to detect connection of a particular computing device to the IP network802, such as each of the plurality of user computing systems or devices806a-f. For example, the RAC module318amay as part of a discovery process detect connection of the device806cto the IP network802. In this example, the RAC module318amay further be configured to determine whether or not a particular file or profile, referred to in one embodiment as a “resource restriction profile,” that is associated with the device806cdetected as connecting or connected to the IP network802is available. For example, the RAC module318amay query a repository or database of the access control server322to determine whether the device806cis registered with the access control server322to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure. Such a feature or process may be implemented in any number of ways.

For example, the device806citself may have a unique identification parameter that may be discovered by the RAC module318awhen the device806cconnects to the IP network802. A particular resource restriction profile when existing may then be matched to the device806aby the RAC module318abased on the unique identification parameter. In another example, a user credential such as a username and/or password, for example, that is used by a user to access features and/or functionality of the device806amay be discovered by the RAC module318awhen the device806cconnects to the IP network802. A particular resource restriction profile when existing may then be matched to the device806cby the RAC module318abased on the a user credential. Many other methods may be used to determine whether or not a particular file or profile that is associated with the device806c, for example, detected as connecting to the IP network802is available.

The RAC module318aof the access control server322may further be configured to send information associated with a particular file or profile to the device806cwhen available. For example, the RAC module318aof the access control server322may send to the device806can associated particular resource restriction profile, or at least data contained within the associated particular resource restriction profile, where the particular resource restriction profile may in some cases designate at least one resource to be disabled, or at least restrict access to, by the device806cwhen that resource is exhibited by the device806c.

For example, in the context of a parental control or a parental control scenario, the particular resource may be a resource that a parent wishes a child not have immediate access to. Here, the device806cmay have a dedicated interface and/or software module configured to identify the particular resource that a parent wishes a child not have immediate access to, and disable and/or at least prevent or limit immediate access to the particular resource, such as described in further detail below in connection withFIG. 9. It is contemplated that the dedicated interface and/or software module may be configured such that the same has access to resources of the device806c, both on a hardware level and software level in or at any degree of abstraction as desired. For example, the dedicated interface and/or software module may interact directly with an operating system of the device806c. In another example, the dedicated interface and/or software module may sit above the operating system and interact directly with an executing mobile application of the device806c. Still other examples are possible as well.

Further, the particular resource may be any type of hardware or software resource of the device806c. For example, the particular resource may be a communications resource (e.g., texting, email, phone, etc.) that a parent wishes a child not have immediate access to. In another example, the particular resource may be a software or mobile application resource (e.g., Angry Birds, Internet browser, iTunes, etc.) that a parent wishes a child not have immediate access to. In still another example, the particular resource may be a specific social media resource (e.g., Facebook, Twitter, Snapchat, etc.) that a parent wishes a child not have immediate access to. Still other examples are possible.

Continuing with the present example, the RAC module318of the access control server322may further be configured to send to the administrator device808a notification indicating that a particular file or profile that is associated with the device806cdetected as connecting or connected to the IP network802is not available. An administrator may use the notification then to proceed with registering the device806cwith the access control server322to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure. For instance, the notification may inform a parent that the device806cof the above-example scenario, which may be assumed to be used or owned by a child in this example, has not yet been is registered with the computing system or device to participate in a “Network-Wide Remote Parental Control” implementation according to the present disclosure. The parent may then proceed to define a particular file or profile that is associated with the device806caccordingly.

For example, referring now additionally toFIG. 9, aspects of the example system ofFIG. 8are shown in detail. More specifically,FIG. 9shows the device806c, the device806d, the administrator device808, and the access control server322ofFIG. 8. In practice, the RAC module318bof the administrator device808may be configured to output an administrator interface902to and for presentation by at least the administrator device808. The administrator interface902may enable an administrator to configure and/or manage aspects of the various parental control concepts of the present disclosure. For example, in one embodiment, the administrator interface902may enable an administrator to define a resource restriction profile904that may be associated with the device806cand the device806d. The profile904may in some cases designate at least one resource to be disabled, or at least restrict access to, by the device806cand the device806dwhen that resource is exhibited by the device806cand/or the device806dand the same are connected to the IP Network802. Other embodiments are possible. For example, the administrator interface902may enable an administrator to define a resource restriction profile that may be associated with one or more of any of the plurality computing systems or devices806a-f, or any computing systems or devices, that may be connected to the IP network802as shown inFIG. 8.

For example, an administrator may manipulate a cursor906to select and/or define various information within the profile904so that the device806cand the device806dmay disable, or at least restrict access to, particular hardware and/or software resources exhibited by the device806cand/or the device806dwhen connected to the IP network802. For example, an administrator may manipulate the cursor906to select and/or define one or more communications resources (e.g., texting, email, phone, etc.), one or more software or mobile application resources (e.g., Angry Birds, Internet browser, iTunes, etc.), one or more specific social media resources (e.g., Facebook, Twitter, Snapchat, etc.), one or more device-specific resources (e.g., camera, video recorder, notification or alert disable, etc.), and many others that the administrator may wish that a user of the device806cnot have immediate access to when connected to the IP network802. In another example, an administrator may manipulate the cursor906to select and/or define resources that the administrator may wish that a user of the device806dnot have immediate access to when connected to the IP network802.

For example, an administrator may manipulate the cursor906to select and/or define at least one of a “content-specific” parental control lock that may prevent unauthorized viewing of a particular show received by the device806d, a “channel-specific” parental control lock that may prevent unauthorized viewing of any program associated with a particular broadcast or network channel received by the device806d, and a “global” parental control lock that may prevent unauthorized viewing of all broadcast programming received by the device806dat any particular time when the global lock is “enabled” and the when the device806dis connected to the IP network802. Other embodiments are possible. For example, such a procedure may be performed as desired for any one of the plurality computing systems or devices806a-f, or any computing systems or devices, that may be connected to the IP network802as shown inFIG. 8.

Further, an administrator may manipulate the cursor906to select and/or define at least one user “Name,” at least one user “Age,” at least one device “ID,” and/or at least one user credential “Username/password,” within the profile904so that the RAC module318aof the access control server322may, for example, determine whether or not a particular resource restriction profile (e.g., profile904) that is associated with the device806cand/or the device806ddetected as connecting or connected to the IP network802is available. When such as match is made, the access control server322may send to the device806cand/or the device806dof the above-example the profile904, or at least data contained within the profile904, so that the device806cand/or the device806dmay disable or at least restrict access to any resource specified within the profile904.

For example, referring now toFIG. 10, a fourth example method1000is shown in accordance with the present disclosure. In general, steps or modules of the method1000as described may ultimately be implemented by or on a particular computing device connected to a particular network, such as the device806cor the device806das discussed above in connection with at leastFIG. 9. Other embodiments are however possible. For example, one or more modules or steps of the method1000may be implemented by or on one or more of the other respective devices or components within the system as described above in connection with at leastFIG. 3andFIG. 9. Still other embodiments are possible.

At step1002, a request may be received by or at a particular computing device to access a particular resource. For example, a user of the device806cofFIG. 9may attempt to access an instance of the game “Angry Birds” installed thereon by “tapping” a multi-touch screen of the device806c. In this example, the RAC module318cof the device806cmay detect the attempted access of the game “Angry Birds,” and at least temporarily prevent instantaneous access. Other embodiments are possible. For example, it is contemplated that any particular instance of the RAC module318may be configured so as to detect and at least temporarily prevent instantaneous access to one or more hardware and/or software resources of a particular computing device or system in accordance with the particular implementation of the computing device or system, and thus the RAC module318may be configured as desired so as to implement aspects of the parental control features of the present disclosure.

At step1004, a determination may be made as to whether there is an access restriction placed on the particular resource. For example, the device806cofFIG. 9may query a local database and/or the access control server322and determine whether or not a particular resource restriction profile that is associated with the device806cis available. Here, assuming that a particular resource restriction profile is available on the device806c, the access control server322may be configured to periodically or at least intermittently transfer a “most recent” version of the particular resource restriction profile so that the device806cmay have up-to-date configuration information regarding resources that are intended to be restricted in terms of immediate access. Additionally or alternatively, the device806cmay be configured to first query the access control server322when a network connection is available so that the device806cmay have up-to-date configuration information. Other embodiments are possible as well.

Flow within the example method1000may branch to step1006upon a “Yes” determination at step1004, and may branch to step1008upon a “No” determination at step1004. In particular, at step1006, the particular computing device may prevent access to the particular resource, and at step1008the particular computing device may allow access to the particular resource. For example, keeping with the above-example, the device806cofFIG. 9may prevent access to the game “Angry Birds” installed thereon at step1006, and may allow access to the to the game “Angry Birds” installed thereon at step1008.

FIG. 11shows an example computer system or device1100in accordance with the present disclosure. An example of a computer system or device includes an enterprise server, blade server, desktop computer, laptop computer, tablet computer, personal data assistant, smartphone, feature phone, gaming console, set-top-box, television receiver, and/or any other type of machine configured for performing calculations. The computer system1100may be wholly or at least partially incorporated as part of previously-described computing devices, such as the PTR310, STRs312a-b, televisions314a-c, devices316a-b, access control server(s)322, devices806a-f, and device808as described above. The example computer device1100may be configured to perform and/or include instructions that, when executed, cause the computer system1100to perform the method ofFIG. 1,FIG. 2,FIG. 7, andFIG. 10. Further, the example computer device1100may be configured to perform and/or include instructions that, when executed, cause the computer system1100to instantiate and implement functionality of the RAC module318described above.

The computer device1100is shown comprising hardware elements that may be electrically coupled via a bus1102(or may otherwise be in communication, as appropriate). The hardware elements may include a processing unit with one or more processors1104, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices1106, which can include without limitation a remote control, a mouse, a keyboard, and/or the like; and one or more output devices1108, which can include without limitation a presentation device (e.g., television), a printer, and/or the like.

The computer device1100might also include a communications subsystem1112, which can include without limitation a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device, and/or a chipset (such as a Bluetooth™ device, an 1102.11 device, a WiFi device, a WiMax device, cellular communication facilities (e.g., GSM, WCDMA, LTE, etc.), and/or the like. The communications subsystem1112may permit data to be exchanged with a network (such as the network described below, to name one example), other computer systems, and/or any other devices described herein. In many embodiments, the computer system1100will further comprise a working memory1114, which may include a random access memory and/or a read-only memory device, as described above.

As mentioned above, in one aspect, some embodiments may employ a computer system (such as the computer device1100) to perform methods in accordance with various embodiments of the invention. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system1100in response to processor1104executing one or more sequences of one or more instructions (which might be incorporated into the operating system1116and/or other code, such as an application program1118) contained in the working memory1114. Such instructions may be read into the working memory1114from another computer-readable medium, such as one or more of the storage device(s)1110. Merely by way of example, execution of the sequences of instructions contained in the working memory1114may cause the processor(s)1104to perform one or more procedures of the methods described herein.

Example forms of physical and/or tangible computer-readable media may include a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read instructions and/or code.

Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s)1104for execution. By way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer system1100.

The communications subsystem1112(and/or components thereof) generally will receive signals, and the bus1102then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory1114, from which the processor(s)1104retrieves and executes the instructions. The instructions received by the working memory1114may optionally be stored on a non-transitory storage device1110either before or after execution by the processor(s)1104.

Furthermore, the example embodiments described herein may be implemented as logical operations in a computing device in a networked computing system environment. The logical operations may be implemented as: (i) a sequence of computer implemented instructions, steps, or program modules running on a computing device; and (ii) interconnected logic or hardware modules running within a computing device.