Methods and systems for implementing parental controls

Methods and systems for a media guidance application that provides advanced parental control features such as allowing parents to establish parental controls in a dynamic and individualized manner and allowing parents to track and/or limit the amount of time that a child views media content of a particular type.

BACKGROUND

In conventional systems, users may access media content from a plurality of sources. In some cases, media content from a particular source or of a particular type may not be appropriate for all viewers. For example, media content featuring violence may not be appropriate for children under a particular age. To prevent viewers from viewing objectionable content, many media systems include parental control features. Such parental control features often allow a user (e.g., a parent of a child) to block media content based on one or more criteria (e.g., a source of the media content, a content rating of the media content, etc.). While such systems are helpful in blocking media content of a particular type, such systems do not allow for the flexibility needed to differentiate content in a dynamic, individualized manner, nor do such systems allow for limiting a viewer's expose to media content to a predetermined length of time (e.g., two hours a week).

SUMMARY

Accordingly, methods and systems are disclosed herein for a media guidance application that provides advanced parental control features. As described herein, these advanced parental control features may allow parents to establish parental controls in a dynamic and individualized manner. Moreover, these advanced parental control features may allow parents to track and/or limit the amount of time that a child views media content of a particular type.

For example, the media guidance application may access information in a user profile associated with a user to determine criteria for use in determining whether or not a media asset is being consumed for entertainment or educational purposes. As the criteria are based on information in a user profile, the criteria may change as the information in a user profile changes. For example, if the information indicates that a user is currently in culinary school, the criteria for educational programming may include whether or not the media asset relates to cooking. Moreover, if the information is updated (e.g., after the user leaves culinary school and enrolls in an engineering program), the criteria for educational programming may now include whether or not the media asset relates to engineering. Likewise, the criteria for entertainment programming may now include all programming other than media assets related to engineering (including media assets related to cooking). By determining the criteria for different program types based on information in a user profile, the media guidance application may provide dynamic and individualized parental control features, as opposed to parental control features that are based on static generic criteria such as source or content rating.

The media guidance application may also track and/or limit the amount of time spent consuming one or more types of media content. For example, the media guidance application may provide statistical analysis of the programming choices of a child in order to alert a parent of the amount of educational media asset consumed by a child relative to the amount of non-educational media assets. By providing a statistical analysis of the programming choices of the child, the media guidance application provides an intuitive snapshot of the media assets consumed by the child, relieving the parent of the burden of a manual analysis. Moreover, by providing this information in an intuitive format, a parent may more competently assess and/or modify a child's programming choices.

In another example, the media guidance application may relieve a first user (e.g., a parent) of the burden of continually monitoring the statistical analysis (e.g., a ratio) of the programming choices of a second user (e.g., a child) by establishing one or more threshold analyses (e.g., a threshold ratio) that the media guidance application may automatically compare to the statistical analysis of the programming choices of the second user. For example, in response to determining that the ratio of education programming to entertainment programming for the second user is lower than that of the peers of the second user, the media guidance application may block the second user from consuming entertainment programming and/or alert the first user.

In some aspects, a media guidance application (e.g., implemented on a user device) may retrieve a first criterion for a first program type. For example, the media guidance application may retrieve a user profile from memory, in which the user profile indicates an educational or professional interest for a first user. For example, information in the user profile may indicate the current educational or professional goals of the first user. The media guidance application may process this information to generate criteria for a first program type (e.g., educational programs). The media guidance application may also retrieve a second criterion for a second program type. For example, the media guidance application may process information in the user profile to generate criteria for a second program type (e.g., non-educational programs). For example, whereas information about a current occupation, a current school curriculum, or a business opportunity may be used to generate the first criterion, other information (e.g., social media posts, media viewing history, etc.) may be used to generate criteria for the second program type.

The media guidance application may then detect a media asset being consumed by the first user and compare the media asset to the first criterion and the second criterion. For example, the media guidance application may apply parental controls in response to detecting that the first user is consuming media assets. When applying the parental controls, the media guidance application may compare media assets being consumed by a user (or data about those media assets) to the criteria corresponding to different program types to determine whether or not the media asset corresponds to a particular program type. For example, the media guidance application may continuously compare media assets to the ever-changing information in the user profile to categorize media content in a dynamic and individualized manner.

The media guidance application may then, in response to determining that the media asset corresponds to the first criterion, add a time value corresponding to a play length of the media asset to a first counter amount, in which the first counter amount indicates a total amount of time the first user consumed media assets of the first program type. For example, after categorizing media content in a dynamic and individualized manner, the media guidance application may track the amount of time the first user spends consuming media content of a particular type. For example, the media guidance application may notify a second user (e.g., a parent of the first user) in response to determining that the first counter amount equals or exceeds a threshold amount (e.g., a maximum amount of time that the second user allows the first user to consume media content of the particular type). For example, the second user may then determine whether or not to block the media content. In some embodiments, the media guidance application may provide other motivational mechanisms related to the threshold amount. For example, the media guidance application may generate, for display, to the first user a recommendation for an activity (e.g., completing homework, exercising, etc.) and, in response to determining that the first user has completed the activity, increasing the threshold amount (e.g., allowing the first user to consume more media content of a particular type).

The media guidance application may then retrieve a second counter amount from memory, in which the second counter amount indicates the total amount of time the first user consumed media assets of the second program type. For example, the first counter may track the amount of time that the first user has consumed educational media content and the second counter may track the amount of time that the first user has consumed non-educational media content.

The media guidance application may then generate for display a statistical analysis of a relationship between the first counter amount and the second counter amount. For example, the statistical analysis of the relationship between the first counter amount and the second counter amount may be a ratio of the amount of time the first user spent consuming educational media content to the amount of time the first user spent consuming non-educational media content. By generating the statistical analysis of a relationship between the first counter amount and the second counter amount, the media guidance application may provide a second user (e.g., a parent) with information upon which the second user can easily understand the viewing habits of the first user (e.g., a child). For example, the media guidance application may store the statistical analysis for review by the second user and/or transmit the statistical analysis to another device for review by the second user.

In some embodiments, the media guidance application may determine a program type for all available media content in order to provide additional features to the first user. For example, the media guidance application may receive, from the first user, a user input requesting media content of the first program type (e.g., educational media content), and, in response to the user input, generate for display a listing for the media asset.

In some embodiments, the media guidance application may identify the first user, and, in response to identifying the first user, search a database of counter amounts associated with the first user to determine the first counter amount and the second counter amount. For example, the media guidance application may store user profiles and counters that are individualized for a plurality of users. Through the use of one or more user authentication mechanisms, the media guidance application may determine which user is currently consuming media content and retrieve/update only the user profile and/or counters corresponding to that user.

In some embodiments, the media guidance application may publish the statistical analysis. For example, the media guidance application may post the statistical analysis to a social media network in order to motivate the first user to view media content of a particular type (e.g., educational media content).

In some aspects, the media guidance application may determine a statistical analysis of a relationship between a first program type and a second program type for a first user. For example, the media guidance application may determine a first ratio of a total amount of time the first user consumed media assets of the first program type (e.g., entertainment) to a total amount of time the first user consumed media assets of the second program type (e.g., education).

The media guidance application may access a social network. For example, the media guidance application may access a database of information corresponding to a user group of the first user's peers. For example, by using information related to the peers of the first user, the media guidance application may develop parental controls that are in line with the social norms and mores of the users.

The media guidance application may locate a user group on the social network associated with the first user. For example, the media guidance application may retrieve contacts (e.g., “friends”) of an account (e.g., a social network profile) for the first user on the social network (e.g., in order to ensure that the users in the user group share the same social norms and mores as the first user). In another example, the media guidance application may match demographic information of the first user to demographic information for each user of the user group (e.g., to ensure that the users in the user group are of the same age as the first user). In another example, the users in the user group may be selected by the second user (e.g., in order to ensure that the threshold analysis is based on users that are approved by a parent of the first user).

The media guidance application may determine a threshold analysis of a relationship between the first program type and the second program for an average user of the user group. For example, the threshold analysis may be a second ratio of a total amount of time the average user of the user group consumed media assets of the first program type to a total amount of time the average user of the user group consumed media assets of the second program type.

The media guidance application may compare the statistical analysis to the threshold analysis. For example, the media guidance application may determine whether or not the statistical analysis exceeds the threshold analysis (e.g., whether a ratio of a total amount of time the first user consumed media assets of the first program type to a total amount of time the first user consumed media assets of the second program type exceeds that of a ratio of a total amount of time the average user of the user group consumed media assets of the first program type to a total amount of time the average user of the user group consumed media assets of the second program type.

The media guidance application may then perform one or more actions based on the comparison. For example, the media guidance application may block the first program type or alert a second user (e.g., a parent of the first user) based on the comparison. For example, in response to determining that a ratio of a total amount of time the first user consumed media assets of the first program type to a total amount of time the first user consumed media assets of the second program type exceeds that of a ratio of a total amount of time the average user of the user group consumed media assets of the first program type to a total amount of time the average user of the user group consumed media assets of the second program type, the media guidance application may automatically block the first user from consuming any more media assets of the first program type.

In some embodiments, the media guidance application may determine the threshold analysis in real time or on a periodic basis in order to ensure that the threshold analysis is current. For example, the threshold analysis may differ based on a month (e.g., whether or not school is in session), a time of year (e.g., summer versus winter), or on a particular day (e.g., a weekend day versus a school day).

In some embodiments, the media guidance application may also modify the threshold analysis based on information received from a data source selected by the second user. For example, a parent may wish to receive updates on the progress of a child at school or at a part-time job. If the parent notices that the child is performing well at school or at a job, the parent may wish to allow a child to have a higher ratio of entertainment programs to education programs. In contrast, if the parent notices that the child is performing poorly at school or at a job, the parent may wish to allow a child to have a lower ratio of entertainment programs to education programs.

It should be noted that the systems, methods, apparatuses, and/or aspects described above may be applied to, or used in accordance with, other systems, methods, apparatuses, and/or aspects.

DETAILED DESCRIPTION

Methods and systems are disclosed herein for a media guidance application that provides advanced parental control features. As described herein, these advanced parental control features may allow parents to establish parental controls in a dynamic and individualized manner. Moreover, these advanced parental control features may allow parents to track and/or limit the amount of time that a child views media content of a particular type.

As referred to herein, a “media guidance application,” or simply a “guidance application” is an application that allows users to efficiently navigate content selections and easily identify content that they may desire through an interface. Media guidance applications may take various forms depending on the content for which they provide guidance. One typical type of media guidance application is an interactive television program guide. Interactive television program guides (sometimes referred to as electronic program guides) are well-known guidance applications that, among other things, allow users to navigate among and locate many types of content or media assets. Interactive media guidance applications may generate graphical user interface screens that enable a user to navigate among, locate and select content.

The media guidance application may access information in a user profile associated with a user to determine criteria for use in determining whether or not a media asset is being consumed for entertainment or educational purposes. As referred to herein, the terms “media asset” and “content” should be understood to mean an electronically consumable user asset, such as television programming, as well as pay-per-view programs, on-demand programs (as in video-on-demand (VOD) systems), Internet content (e.g., streaming content, downloadable content, Webcasts, etc.), video clips, audio, content information, pictures, rotating images, documents, playlists, websites, articles, books, electronic books, blogs, advertisements, chat sessions, social media, applications, games, and/or any other media or multimedia and/or combination of the same. Guidance applications also allow users to navigate among and locate content. As referred to herein, the term “multimedia” should be understood to mean content that utilizes at least two different content forms described above; for example, text, audio, images, video, or interactivity content forms. Content may be recorded, played, displayed or accessed by user equipment devices, but can also be part of a live performance.

As referred to herein, a “user profile” refers to a collection of information about a particular user. The information may include any information needed to determine the educational, non-educational, professional, non-professional, and/or any other interest of a user. For example, the information contained in the user profile may include demographic, geographic, or other information about the user or a group to which the user belongs. In another example, the information may be related to media content consumed by a user such as a viewing history, purchase history, recommendations, “liked” content, etc. In yet another example, the information may relate to activities of the user such as the current job, school, area of study, calendar information, etc. In yet another example, the information in the user profile may include responses from the user to queries about the user's interests. This information may then be processed by the media guidance application to determine criteria for categorizing media content.

As referred to herein, a “criterion” or “criteria” may be any characteristic or group of characteristics that distinguishes one group of media assets from another. For example, a criterion may relate to a genre, source, subject matter, and/or any other media guidance data related to the media asset. As referred to herein, the phrase “media guidance data” or “guidance data” should be understood to mean any data related to content or data used in operating the guidance application. For example, the guidance data may include program information, guidance application settings, user preferences, user profile information, media listings, media-related information (e.g., broadcast times, broadcast channels, titles, descriptions, ratings information; parental control ratings, critic's ratings, etc.; genre or category information, actor information; logo data for broadcasters' or providers' logos, etc.; media format (e.g., standard definition, high definition, 3D, etc.); advertisement information (e.g., text, images, media clips, etc.)), on-demand information, blogs, websites, and any other type of guidance data that is helpful for a user to navigate among and locate desired content selections.

For example, if one group of media assets is related to education, a criterion for including a media asset in that group may be whether or not the media asset relates to the educational interests of the user. For example, media assets featuring subject matter that corresponds to the educational interest, media assets associated with a curriculum of an educational program, and/or media assets provided by an educational source may all meet this criteria. In contrast, media assets featuring subject matter that corresponds to the non-educational interest, media assets not associated with a curriculum of an educational program, and/or media assets provided by a non-educational source may all fail to meet this criteria.

In another example, if one group of media assets is related to a profession of a user, a criterion for including a media asset in that group may be whether or not the media asset relates to the professional interests of the user. For example, media assets featuring subject matter that corresponds to the current or future employment of the user, media assets associated with a job training program, and/or media assets provided by an employer may all meet this criteria. In contrast, media assets featuring subject matter that corresponds to the non-professional interest, media assets not associated with a job training program, and/or media assets not provided by an employer may all fail to meet this criteria.

The media guidance application may continuously, or according to a predetermined schedule, update the criteria used to categorize media assets. The criteria may change as the information in a user profile changes. For example, if the information indicates that a user is currently employed as a mechanic, the criteria for professional programming may include whether or not the media asset relates to automobiles. Moreover, if the information is updated (e.g., after the user leaves the mechanic job to open a restaurant), the criteria for professional programming may now include whether or not the media asset relates to food. By determining the criteria for different program types based on information in a user profile, the media guidance application may provide dynamic and individualized parental control features, as opposed to parental control features than are based on static generic criteria such as source or content rating.

The media guidance application may categorize media assets into a plurality of categories which is not limited to an particular number or type. For example, in addition to the educational and professional categories discussed above, the media guidance application may include any other program types. The individual program type may be as varied as the criterion and/or criteria upon which they are based.

As users consume media assets, the media guidance application may continually determine what program types have been consumed. For example, the media guidance application may include a counter or other tracking mechanism that is updated as a user views media content. The counter may track the number of media assets of a particular type, the total length of all media assets of a particular type, etc. For example, the counter may track the number of media assets of a particular type that a user has consumed and/or the length of time a user has spent consuming media assets of a particular type.

The media guidance application may additionally or alternatively receive information for remote locations that includes information used to categorize programs. For example, the media guidance application may weigh the characteristics of different media assets in order to put the media assets into one program category or another. For example, the media guidance application may determine to what degree a particular media asset is educational (e.g., either based on a qualitative or quantitative metric). The degree to which the media asset is educational may factor into how the media guidance application adjusts a counter for educational programs.

For example, the media guidance application may compare the age of a user, the profession of the user, etc. to metadata about a particular media asset. For example, every time the user views a particular media asset, the media guidance application may adjust the educational and entertainment “points” associated with the user account for the user.

For example, the media guidance application may adjust a counter associated with a first program type for a first user (e.g., a two-year-old child) differently than a counter associated with a second user (e.g., a teenager) after each user views a media asset because the educational and/or entertainment value of that media asset to the users is different. For example, the media guidance application may consider a media asset featuring basic math to be of more educational value to the first user than the second user.

The media guidance application may also track and/or limit the amount of time spent consuming one or more types of media content. For example, the media guidance application may provide statistical analysis of the programming choices of a child in order to alert a parent of the amount of educational media asset consumed by a child relative to the amount of non-educational media assets. By providing a statistical analysis of the programming choices of the child, the media guidance application provides an intuitive snapshot of the media assets consumed by the child, relieving the parent of the burden of a manual analysis. Moreover, by providing this information in an intuitive format, a parent may more competently assess and/or modify the child's programming choices.

As referred to herein, a “statistical analysis” may refer to any collection, analysis, interpretation, presentation, and organization of data. For example, a statistical analysis of a statistical analysis of a relationship between the first counter amount and the second counter amount may include a ratio, a graph, a fraction, percentage, and/or any other expression.

In some embodiments, the media guidance application may be implemented on a user device. As referred to herein, the phrase “user equipment device,” “user equipment,” “user device,” “electronic device,” “electronic equipment,” “media equipment device,” or “media device” should be understood to mean any device for accessing the content described above, such as a television, a Smart TV, a set-top box, an integrated receiver decoder (IRD) for handling satellite television, a digital storage device, a digital media receiver (DMR), a digital media adapter (DMA), a streaming media device, a DVD player, a DVD recorder, a connected DVD, a local media server, a BLU-RAY player, a BLU-RAY recorder, a personal computer (PC), a laptop computer, a tablet computer, a WebTV box, a personal computer television (PC/TV), a PC media server, a PC media center, a hand-held computer, a stationary telephone, a personal digital assistant (PDA), a mobile telephone, a portable video player, a portable music player, a portable gaming machine, a smart phone, or any other television equipment, computing equipment, or wireless device, and/or combination of the same. In some embodiments, the user equipment device may have a front-facing screen and a rear-facing screen, multiple front screens, or multiple angled screens.

In some embodiments, the user equipment device may have a front-facing camera and/or a rear-facing camera. On these user equipment devices, users may be able to navigate among and locate the same content available through a television. Consequently, media guidance may be available on these devices, as well. The guidance provided may be for content available only through a television, for content available only through one or more of other types of user equipment devices, or for content available both through a television and one or more of the other types of user equipment devices. The media guidance applications may be provided as on-line applications (i.e., provided on a website), or as stand-alone applications or clients on user equipment devices.

The media guidance application may also access storage circuitry to retrieve the criteria. For example, the media guidance application may retrieve a user profile from memory, in which the user profile indicates an educational or professional interest for a first user. For example, information in the user profile may indicate the current educational or professional goals of the first user. The media guidance application may process this information to generate criteria for a first program type (e.g., educational programs). The media guidance application may also retrieve a second criterion for a second program type. For example, the media guidance application may process information in the user profile to generate criteria for a second program type (e.g., non-educational programs). For example, whereas information about a current occupation, a current school curriculum, or a business opportunity may be used to generate the first criterion, other information (e.g., social media posts, media viewing history, etc.) may be used to generate criteria for the second program type.

The media guidance application may then detect a media asset being consumed by the first user and compare the media asset to the first criterion and the second criterion. For example, the media guidance application may apply parental controls in response to detecting that the first user is consuming media assets. When applying the parental controls, the media guidance application may compare media assets being consumed by a user (or data about those media assets) to the criteria corresponding to different program types to determine whether or not the media asset corresponds to a particular program type. For example, the media guidance application may continuously compare media assets to the ever-changing information in the user profile to categorize media content in a dynamic and individualized manner.

For example, the media guidance application may determine that a user has accessed and/or selected a media listing as shown inFIG. 1.FIG. 1shows an illustrative display screen that may be used to provide media guidance data. The display screen shown inFIG. 1may be implemented on any suitable user equipment device or platform. While the display ofFIG. 1is illustrated as full screen displays, they may also be fully or partially overlaid over content being displayed. A user may indicate a desire to access content information by selecting a selectable option provided in a display screen (e.g., a menu option, a listings option, an icon, a hyperlink, etc.) or pressing a dedicated button (e.g., a GUIDE button) on a remote control or other user input interface or device. In response to the user's indication, the media guidance application may provide a display screen with media guidance data organized in one of several ways, such as by time and channel in a grid, by time, by channel, by source, by content type, by category (e.g., movies, sports, news, children, or other categories of programming), or other predefined, user-defined, or other organization criteria.

FIG. 1shows an illustrative grid of a program listings display100arranged by time and channel that also enables access to different types of content in a single display. Display100may include grid102with: (1) a column of channel/content type identifiers104, where each channel/content type identifier (which is a cell in the column) identifies a different channel or content type available; and (2) a row of time identifiers106, where each time identifier (which is a cell in the row) identifies a time block of programming. Grid102also includes cells of program listings, such as program listing108, where each listing provides the title of the program provided on the listing's associated channel and time. With a user input device, a user can select program listings by moving highlight region110. Information relating to the program listing selected by highlight region110may be provided in program information region112. Region112may include, for example, the program title, the program description, the time the program is provided (if applicable), the channel the program is on (if applicable), the program's rating, and other desired information.

Grid102may provide media guidance data for non-linear programming including on-demand listing114, recorded content listing116, and Internet content listing118. A display combining media guidance data for content from different types of content sources is sometimes referred to as a “mixed-media” display. Various permutations of the types of media guidance data that may be displayed that are different than display100may be based on user selection or guidance application definition (e.g., a display of only recorded and broadcast listings, only on-demand and broadcast listings, etc.). As illustrated, listings114,116, and118are shown as spanning the entire time block displayed in grid102to indicate that selection of these listings may provide access to a display dedicated to on-demand listings, recorded listings, or Internet listings, respectively. In some embodiments, listings for these content types may be included directly in grid102. Additional media guidance data may be displayed in response to the user selecting one of the navigational icons120. (Pressing an arrow key on a user input device may affect the display in a similar manner as selecting navigational icons120.)

Advertisement124may provide an advertisement for content that, depending on a viewer's access rights (e.g., for subscription programming), is currently available for viewing, will be available for viewing in the future, or may never become available for viewing, and may correspond to, or be unrelated to, one or more of the content listings in grid102. Advertisement124may also be for products or services related or unrelated to the content displayed in grid102. Advertisement124may be selectable and provide further information about content, provide information about a product or a service, enable purchasing of content, a product, or a service, provide content relating to the advertisement, etc. Advertisement124may be targeted based on a user's profile/preferences, monitored user activity, the type of display provided, or on other suitable targeted advertisement bases.

In some embodiments, the media guidance application may, in response to determining that a currently viewed and/or selected media asset corresponds to a first criterion, add a time value corresponding to a play length of the media asset to a first counter amount, in which the first counter amount indicates a total amount of time the first user consumed media assets of the first program type. For example, after categorizing media content in a dynamic and individualized manner, the media guidance application may track the amount of time the first user spends consuming media content of a particular type. For example, the media guidance application may notify a second user (e.g., a parent of the first user) in response to determining that the first counter amount equals or exceeds a threshold amount (e.g., a maximum amount of time that the second user allows the first user to consume media content of the particular type). For example, the second user may then determine whether or not to block the media content. In some embodiments, the media guidance application may provide other motivational mechanisms related to the threshold amount. For example, the media guidance application may generate for display, to the first user, a recommendation for an activity (e.g., completing homework, exercising, etc.) and in response to determining that the first user has completed the activity, increasing the threshold amount (e.g., allowing the first user to consume more media content of a particular type).

As referred to herein, a “threshold” refers to a data point used by the media guidance application to trigger an action. For example, the threshold may constitute a particular value (e.g., an amount, a length of time, etc.). In some embodiments, the threshold may refer to a statistical analysis of a relationship between different data sets. For example, in some embodiments, the media guidance application may compare a length of time that a user has consumed media assets of a particular type to a threshold amount to determine whether or not to trigger an action (e.g., blocking programming, alerting another user, etc.). Alternatively or additionally, the media guidance application may compare a statistical analysis of a relationship between a first program type and a second program type for a first user to a threshold analysis to determine whether or not to trigger an action (e.g., blocking programming, alerting another user, etc.). For example, the threshold analysis may constitute data describing a statistical analysis of a relationship between a first program type and a second program type for a different user or users.

For example, in some embodiments, the “threshold” may be based on a group of users. For example, the media guidance application may retrieve data on how much programming of a given program type other users are consuming. The media guidance application may then use this information and/or may generate a statistical analysis of that information.

In some embodiments, the media guidance application may also modify the threshold based on information received from one or more data sources. For example, the particular threshold used for any one comparison may be keyed to information other than the viewing habits of a particular user or users. For example, the media guidance application may retrieve data that indicates whether or not a user has performed a particular activity and/or the level of proficiency of the user at that activity.

In some embodiments, the media guidance application may allow a user (e.g., a parent) to select the activities and/or data sources that are used to modify a threshold. For example, a parent may wish to receive updates on the progress of a child at school or at a part-time job. Accordingly, the media guidance application may access a data source of school progress information (e.g., a database of test scores for a child). If the parent notices that the child is performing well at school or at a job, the parent may wish to allow a child to have a higher ratio of entertainment programs to education programs. Accordingly, the media guidance application may automatically or in response to a user input modify the thresholds used in any one comparison.

As referred herein, the term “in response to” refers to initiated as a result of. For example, a first action being performed in response to another action may include interstitial steps between the first action and the second action. As referred herein, the term “directly in response to” refers to “caused by.” For example, a first action being performed directly in response to another action may not include interstitial steps between the first action and the second action.

In some embodiments, the media guidance application may retrieve a second counter amount from memory, in which the second counter amount indicates a total amount of time the first user consumed media assets of the second program type. For example, the first counter may track the amount of time that the first user has consumed educational media content and the second counter may track the amount of time that the first user has consumed non-educational media content.

Another display arrangement for providing media guidance is shown inFIG. 2. Video mosaic display200includes selectable options202for parental controls for individual users (e.g., “Joe,” “Sally,” “Steve,” “Dad,” and “Mom”) and a group of users (e.g., “Family). In display200, option204is selected, thus providing parental control information and a statistic analysis for a first user (e.g., “Joe”). In display200the content may include graphical images including cover art, still images from the content, video clip previews, live video from the content, or other types of content that indicate to a user the content being described by the media guidance data in the listing. Each of the graphical listings may also be accompanied by text to provide further information about the content associated with the listing. In some embodiments, the media guidance application may allow a second user (e.g., a parent) to access display200to obtain a statistical analysis and/or edit parental controls related to a first user (e.g., a child).

The media guidance application provides window206, which includes current statistics related to what media content has been consumed by the first user. For example, window206includes a ratio of education programming viewed by the first user to entertainment programming, includes the amount of time remaining that the first user may consume media content from different categories, and a graph indicating the viewing consumption of the user.

The media guidance application also provides other windows. For example, window208provides an option for searching for media assets that correspond to a particular program type. For example, the media guidance application may allow a use to search for media assets that correspond to a particular criterion and/or filter available media listings by that criterion.

Window210provides an option for updating a user profile. For example, the media guidance application may receive user input indicating the current educational or professional interests. Alternatively or additionally, the media guidance application may allow a user to upload a curriculum, resume, calendar, etc. that includes information from which the media guidance application may automatically determine a criterion for a particular category. The media guidance application may also receive selections and/or descriptions of requested program types.

In some embodiments, window210may allow a user to enter one or more inputs that describe what thresholds should be applied to a particular user and/or what data should be used to generate a threshold. For example, the media guidance application may receive a user input authorizing the media guidance application to retrieve school and/or work progress information. The media guidance application may then use that information to modify one or more thresholds.

The media guidance application may also allow a user to select particular settings related to a threshold. For example, the media guidance application may select a user group, demographic, or particular users that may be used to generate a threshold analysis (e.g., as described inFIG. 10below).

The media guidance application may also allow a user to enter settings for how often or when a threshold is computed. For example, the media guidance application may receive a user input to dynamical (e.g., in a real-time and/or continuous basis) determine a threshold. For example, the media guidance application may determine the threshold in real time or on a periodic basis in order to ensure that the threshold is current. For example, the threshold may differ based on a month (e.g., whether or not school is in session), a time of year (e.g., summer versus winter), or on a particular day (e.g., a weekend day versus a school day).

Window212provides options for earning more minutes of viewing time for a particular program type. For example, the media guidance application may provide other motivational mechanisms related to the threshold amount. For example, the media guidance application may generate, for display, to the first user a recommendation for an activity (e.g., completing homework, exercising, etc.) and in response to determining that the first user has completed the activity, increasing the threshold amount (e.g., allowing the first user to consume more media content of a particular type).

In some embodiments, the media guidance application may publish the statistical analysis. For example, the media guidance application may post the statistical analysis or other information available in display200to a social media network in order to motivate the first user to view media content of a particular type (e.g., educational media content). For example, the media guidance application may retrieve a list of entities such as friends (e.g., a social network buddy list), contacts (e.g., retrieved from a phone/text message/e-mail account associated with the user), and/or public services (e.g., hospitals, police departments, schools, etc.) with known associations to the user or the community of the user and generate for display information (e.g., a post content) on a social network.

As used herein, a “social network,” refers to a platform that facilitates networking and/or social relations among people who, for example, share interests, activities, backgrounds, and/or real-life connections. In some cases, social networks may facilitate communication between multiple user devices (e.g., computers, televisions, smartphones, tablets, etc.) associated with different users by exchanging content from one device to another via a social media server. As used herein, a “social media server” refers to a computer server that facilitates a social network. For example, a social media server owned/operated/used by a social media provider may make content (e.g., status updates, microblog posts, images, graphic messages, etc.) associated with a first user accessible to a second user that is within the same social network as the first user. In such cases, classes of entities may correspond to the level of access and/or the amount or type of content associated with a first user that is accessible to a second user.

In some embodiments, the media guidance application may use a social network to select a user group. As referred to herein, a “user group” refers to any grouping of users. For example, a user group may include users with a common characteristic (e.g., an age, geographic location, etc.) or may include users that were randomly or intentionally selected. In some embodiments, a user group may include information related to one or more users that is pulled and/or gathered from one or more sources. For example, a user group may include data that is provided as part of industry research, random polling, identified trends, etc., whether or not the information is attributed to an identifiable user.

In some embodiments, the media guidance application may present a dashboard that includes statistics with time, channel number, genre, educational value, entertainment value, professional value, etc. and others of the programs being watched. The media guidance application may also allow users to manage the viewing habits, set goals, set restrictions, set triggers to improve the quality of the programs other users (e.g., children) view. In addition, the media guidance application may alert a user (e.g., a parent) if, for a period of time, the set goals are not being met or under risk of not being met. The media guidance application may also send appropriate digests (e.g., via SMS, email, social networking and/or messaging tools, etc.) to routinely keep the user (e.g., a parent) up to date on the progress on certain goals.

Users may access content and the media guidance application (and its display screens described above and below) from one or more of their user equipment devices.FIG. 3shows a generalized embodiment of illustrative user equipment device300. More specific implementations of user equipment devices are discussed below in connection withFIG. 4. User equipment device300may receive content and data via input/output (hereinafter “I/O”) path302. I/O path302may provide content (e.g., broadcast programming, on-demand programming, Internet content, content available over a local area network (LAN) or wide area network (WAN), and/or other content) and data to control circuitry304, which includes processing circuitry306and storage308. Control circuitry304may be used to send and receive commands, requests, and other suitable data using I/O path302. I/O path302may connect control circuitry304(and, specifically, processing circuitry306) to one or more communications paths (described below). I/O functions may be provided by one or more of these communications paths, but are shown as a single path inFIG. 3to avoid overcomplicating the drawing.

A user may send instructions to control circuitry304using user input interface310. User input interface310may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touchpad, stylus input, joystick, voice recognition interface, or other user input interfaces. Display312may be provided as a stand-alone device or integrated with other elements of user equipment device300. For example, display312may be a touchscreen or touch-sensitive display. In such circumstances, user input interface310may be integrated with or combined with display312. Display312may be one or more of a monitor, a television, a liquid crystal display (LCD) for a mobile device, amorphous silicon display, low temperature polysilicon display, electronic ink display, electrophoretic display, active matrix display, electro-wetting display, electrofluidic display, cathode ray tube display, light-emitting diode display, electroluminescent display, plasma display panel, high-performance addressing display, thin-film transistor display, organic light-emitting diode display, surface-conduction electron-emitter display (SED), laser television, carbon nanotubes, quantum dot display, interferometric modulator display, or any other suitable equipment for displaying visual images. In some embodiments, display312may be HDTV-capable. In some embodiments, display312may be a 3D display, and the interactive media guidance application and any suitable content may be displayed in 3D. A video card or graphics card may generate the output to the display312. The video card may offer various functions such as accelerated rendering of 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connect multiple monitors. The video card may be any processing circuitry described above in relation to control circuitry304. The video card may be integrated with the control circuitry304. Speakers314may be provided as integrated with other elements of user equipment device300or may be stand-alone units. The audio component of videos and other content displayed on display312may be played through speakers314. In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers314.

User equipment device300may also incorporate or be accessible to detection module316. Detection module316may further include various components (e.g., a video detection component, an audio detection component, object recognition module, a global positioning system component, a motion detecting component, etc.). In some embodiments, detection module316may include components that are specialized to generate particular information (e.g., identifying a user currently interacting with the media guidance application).

In some embodiments, detection module316may include a content recognition module. The content recognition module may use object recognition techniques such as edge detection, pattern recognition, including, but not limited to, self-learning systems (e.g., neural networks), optical character recognition, on-line character recognition (including, but not limited to, dynamic character recognition, real-time character recognition, intelligent character recognition), and/or any other suitable technique to monitor the movements (or lack thereof) of one or more users. For example, the media application may receive data in the form of a video of the user. The video may include a series of frames. For each frame of the video, the media application may use a content recognition module or algorithm to identify the facial features of a user.

In some embodiments, the content recognition module or algorithm may also include speech recognition techniques, including, but not limited to, Hidden Markov Models, dynamic time-warping, and/or neural networks (as described above) to translate spoken words into text and/or processing audio data. The content recognition module may also combine multiple techniques to determine the interaction of a user and/or the content of a media asset. For example, the media guidance application may determine whether or not a user is speaking and/or about what the user is speaking. For example, the media guidance application may interpret voice commands and/or identify a user based on voice authorization features.

It should be noted that detection module316may, in some embodiments, be located on a separate device in communication with the device upon which a media guidance application (and control circuitry304) is implemented. For example, in some embodiments, detection module316may communicate with user device300via a communications network (e.g., communications network414(FIG. 4)).

The guidance application may be implemented using any suitable architecture. For example, it may be a stand-alone application wholly implemented on user equipment device300. In such an approach, instructions of the application are stored locally (e.g., in storage308), and data for use by the application is downloaded on a periodic basis (e.g., from an out-of-band feed, from an Internet resource, or using another suitable approach). Control circuitry304may retrieve instructions of the application from storage308and process the instructions to generate any of the displays discussed herein. Based on the processed instructions, control circuitry304may determine what action to perform when input is received from input interface310. For example, movement of a cursor on a display up/down may be indicated by the processed instructions when input interface310indicates that an up/down button was selected.

User equipment device300ofFIG. 3can be implemented in system400ofFIG. 4as user television equipment402, user computer equipment404, wireless user communications device406, or any other type of user equipment suitable for accessing content, such as a non-portable gaming machine. For simplicity, these devices may be referred to herein collectively as user equipment or user equipment devices, and may be substantially similar to user equipment devices described above. User equipment devices, on which a media guidance application may be implemented, may function as a stand-alone device or may be part of a network of devices. Various network configurations of devices may be implemented and are discussed in more detail below.

A user equipment device utilizing at least some of the system features described above in connection withFIG. 3may not be classified solely as user television equipment402, user computer equipment404, or a wireless user communications device406. For example, user television equipment402may, like some user computer equipment404, be Internet-enabled allowing for access to Internet content, while user computer equipment404may, like some television equipment402, include a tuner allowing for access to television programming. The media guidance application may have the same layout on various different types of user equipment or may be tailored to the display capabilities of the user equipment. For example, on user computer equipment404, the guidance application may be provided as a website accessed by a web browser. In another example, the guidance application may be scaled down for wireless user communications devices406.

In system400, there is typically more than one of each type of user equipment device but only one of each is shown inFIG. 4to avoid overcomplicating the drawing. In addition, each user may utilize more than one type of user equipment device and also more than one of each type of user equipment device.

System400includes content source416and media guidance data source418coupled to communications network414via communication paths420and422, respectively. Paths420and422may include any of the communication paths described above in connection with paths408,410, and412. Communications with the content source416and media guidance data source418may be exchanged over one or more communications paths, but are shown as a single path inFIG. 4to avoid overcomplicating the drawing. In addition, there may be more than one of each of content source416and media guidance data source418, but only one of each is shown inFIG. 4to avoid overcomplicating the drawing. (The different types of each of these sources are discussed below.) If desired, content source416and media guidance data source418may be integrated as one source device. Although communications between sources416and418with user equipment devices402,404, and406are shown as through communications network414, in some embodiments, sources416and418may communicate directly with user equipment devices402,404, and406via communication paths (not shown) such as those described above in connection with paths408,410, and412.

In a third approach, users of user equipment devices inside and outside a home can use their media guidance application to communicate directly with content source416to access content. Specifically, within a home, users of user television equipment402and user computer equipment404may access the media guidance application to navigate among and locate desirable content. Users may also access the media guidance application outside of the home using wireless user communications devices406to navigate among and locate desirable content.

FIGS. 5 and 6present an algorithm for the media guidance application (e.g., via control circuitry304(FIG. 3)) to generate a statistical relationship based on media asset consumption in accordance with some embodiments of the disclosure. In some embodiments this algorithm may be encoded on to non-transitory storage medium (e.g., storage device308(FIG. 3)) as a set of instructions to be decoded and executed by processing circuitry (e.g., processing circuitry306(FIG. 3)). Processing circuitry may in turn provide instructions to other sub-circuits contained within control circuitry304(FIG. 3), such as the tuning, video generating, encoding, decoding, encrypting, decrypting, scaling, analog/digital conversion circuitry, and the like.

The flowchart inFIG. 5describes an algorithm for the media guidance application (e.g., via control circuitry304(FIG. 3)) to generate statistical relationship based on media asset consumption in accordance with some embodiments of the disclosure.

At step502, the media guidance application begins an algorithm to generate statistical relationship based on media asset consumption In some embodiments, this may be done either directly or indirectly in response to a user action or input (e.g., from signals received by control circuitry304(FIG. 3) or user input interface310(FIG. 3)). For example, the algorithm may begin directly in response to control circuitry304(FIG. 3) receiving signals from user input interface310(FIG. 3), or control circuitry304(FIG. 3) may prompt the user to confirm their input using a display (e.g., by generating a prompt to be displayed on display312(FIG. 3)) prior to running the algorithm.

At step504, the media guidance application (e.g., via control circuitry304(FIG. 3)) proceeds to retrieve the next criterion from memory. In some embodiments control circuitry304may receive a single primitive data structure that represents the value of the next criterion. In some embodiments the value may be stored as part of a larger data structure, and control circuitry304(FIG. 3) may retrieve the value by executing appropriate accessor methods to retrieve the value from the larger data structure.

At step506, the media guidance application (e.g., via control circuitry304(FIG. 3)) proceeds to compare the value of the criterion to a value for data related to the media asset. In some embodiments, the value of data related to the media asset may be stored (e.g., on storage device308(FIG. 3)) prior to beginning the algorithm. In some embodiments, the value of data related to the media asset may also be retrieved for each and every criterion. In some embodiments, control circuitry304(FIG. 3) may directly compare the value of the criterion with the value of the data related to the media asset by accessing the values respectively from memory and performing a value comparison. In some instances, control circuitry304(FIG. 3) may call a comparison function (e.g., for object-to-object comparison) to compare the value of the criterion with the value of the data related to the media asset.

At step508, the media guidance application (e.g., via control circuitry304(FIG. 3)) compares the values of the criterion and the value of the data related to the media asset to determine if the value of criterion is equal to the value of the data related to the media asset. If the condition is satisfied, the media guidance application proceeds to step510; if the condition is not satisfied, the media guidance application proceeds to step512instead.

At step510, the media guidance application (e.g., via control circuitry304(FIG. 3)) will execute a subroutine to increase counter amount corresponding to the criterion based on the condition at step508being satisfied. For example, the media guidance application may increase the number of the counter by one (e.g., indicating that the user has consumed a media asset of the particular type). In another example, the media guidance application may determine the play length of the media asset and increase the counter by that amount (e.g., indicating the amount of time the user has consumed media assets of the particular type). After the subroutine is executed, the media guidance application proceeds to step512.

At step512, the media guidance application (e.g., via control circuitry304(FIG. 3)) determines whether or not all criteria are accounted for. If the condition is satisfied, the algorithm may proceed to step514; if the condition is not satisfied, the media guidance application proceeds to step504instead and retrieves the next criterion from memory.

At step514, the media guidance application (e.g., via control circuitry304(FIG. 3)) will execute a subroutine to generate statistical relationship based on the condition of step512being satisfied. For example, the media guidance application may generate for display window206(FIG. 2).

It is contemplated that the descriptions ofFIG. 5may be used with any other embodiment of this disclosure. In addition, the descriptions described in relation to the algorithm ofFIG. 5may be done in alternative orders or in parallel to further the purposes of this disclosure. For example, conditional statements and logical evaluations, such as those at508and512, may be performed in any order or in parallel or simultaneously to reduce lag or increase the speed of the system or method. As a further example, in some embodiments several criteria and/or media assets may be evaluated in parallel, using multiple logical processor threads, or the algorithm may be enhanced by incorporating branch prediction. Furthermore, it should be noted that the algorithm ofFIG. 5may be implemented on a combination of appropriately configured software and hardware, and that any of the devices or equipment discussed in relation toFIGS. 3-4could be used to implement one or more portions of the algorithm.

The pseudocode inFIG. 6describes an algorithm to generate a statistical relationship based on media asset consumption in accordance with some embodiments of the disclosure. It will be evident to one skilled in the art that the algorithm described by the pseudocode inFIG. 6may be implemented in any number of programming languages and a variety of different hardware, and that the style and format should not be construed as limiting, but rather a general template of the steps and procedures that would be consistent with code used to implement some embodiments of this disclosure.

At line601, media guidance application (e.g., via control circuitry304(FIG. 3)) may run a subroutine to initialize variables and prepare to generate a statistical relationship based on media asset consumption, which begins on line605. For example, in some embodiments media guidance application (e.g., via control circuitry304(FIG. 3)) may copy instructions from non-transitory storage medium (e.g., storage device308(FIG. 3)) into RAM or into the cache for processing circuitry306(FIG. 3) during the initialization stage. Additionally, in some embodiments the value of data related to a media asset being used for comparison, or a tolerance level for determining if two values are essentially equivalent, may be retrieved, set, and stored at601.

At line605, media guidance application (e.g., via control circuitry304(FIG. 3)) may receive a criteria. In some embodiments these criteria may be retrieved from memory (e.g., storage device308(FIG. 3)) or a user input (e.g., received via user input interface310(FIG. 3)). Control circuitry304may receive a value for a criterion by receiving, for example, a pointer to an array of values of the criteria. In another example, control circuitry304may receive an object of a class, such as an iterator object containing elements of the criteria.

At line606, media guidance application (e.g., via control circuitry304(FIG. 3)) may iterate through the various criteria, if only a single instance is available, the loop will only execute once. This loop may be implemented in multiple fashions depending on the choice of hardware and software language used to implement the algorithm ofFIG. 6; for example, this may be implemented as part of a “for” or “while” loop.

At line607, media guidance application (e.g., via control circuitry304(FIG. 3)) will store the value of a criterion into a temporary variable “A.” In some embodiments the value of the criterion will be stored as part of a larger data structure or class, and the value of the criterion may be obtained through appropriate accessor methods. In some embodiments, the value of the criterion may be converted from a string or other non-numeric data type into a numeric data type by means of an appropriate hashing algorithm. In some embodiments, control circuitry304may call a function to perform a comparison of the value of the criterion to the value of data related to the media asset. In some embodiments, the criterion may be encoded as a primitive data structure, and rather than using a temporary variable, the criterion may be directly used in the comparisons at lines609and611.

At line608, media guidance application (e.g., via control circuitry304(FIG. 3)) will store the value of the data related to the media asset into a temporary variable “B.” Similar to the criterion, in some embodiments the value of the data related to variable will be stored as part of a larger data structure or class, and the value of data related to the media asset may be obtained through accessor methods. In some embodiments, the value of data related to the media asset may be converted from a string or other non-numeric data type into a numeric data type by means of an appropriate hashing algorithm, or the data related to the media asset may be a primitive data structure, and may be directly used in the comparisons at lines609and611.

At line609, media guidance application (e.g., via control circuitry304(FIG. 3)) compares the value of A to the value of B to see if they are essentially equivalent. This is achieved by subtracting the value of B from A, taking the absolute value of the difference, and then comparing the absolute value of the difference to a predetermined tolerance level. In some embodiments, the tolerance level may be a set percentage of either A or B. In some embodiments, the tolerance level may be a fixed number. For example, setting the tolerance level to a set multiple of machine epsilon may allow for the algorithm to account for small rounding errors that may result from the use of floating point arithmetic. In some embodiments, the tolerance level may be set to zero, or the condition inside the IF statement may be replaced with a strict equivalence between A and B.

At line610, media guidance application (e.g., via control circuitry304(FIG. 3)) will execute a subroutine to increase counter amount corresponding to the criterion if the condition in line609is satisfied. In some embodiments, this may be achieved by processing circuitry306(FIG. 3) sending the appropriate signals to control circuitry304(FIG. 3).

At line612, media guidance application (e.g., via control circuitry304(FIG. 3)) may run a termination subroutine after the algorithm has performed its function. For example, in some embodiments, control circuitry304(FIG. 3) may destruct variables, perform garbage collection, free memory or clear the cache of processing circuitry306(FIG. 3).

It will be evident to one skilled in the art that the algorithm described by the pseudocode inFIG. 6may be implemented in any number of programming languages and a variety of different hardware, and the particular choice and location of primitive functions, logical evaluations, and function evaluations are not intended to be limiting. It will also be evident that the code may be refactored or rewritten to manipulate the order of the various logical evaluations, perform several iterations in parallel rather than in a single iterative loop, or to otherwise manipulate and optimize run-time and performance metrics without fundamentally changing the inputs or final outputs.

FIGS. 7 and 8present an algorithm for media guidance application (e.g., via control circuitry304) to generate a statistical relationship using a database containing data related to media assets in accordance with some embodiments of the disclosure. Similar to the algorithms described byFIGS. 5 and 6, in some embodiments, this algorithm may be encoded on to non-transitory storage medium (e.g., storage device308(FIG. 3)) as a set of instructions to be decoded and executed by processing circuitry (e.g., processing circuitry306(FIG. 3)). Processing circuitry may in turn provide instructions to other sub-circuits contained within control circuitry304(FIG. 3), such as the tuning, video generating, encoding, decoding, encrypting, decrypting, scaling, analog/digital conversion circuitry, and the like.

The flowchart inFIG. 7describes an algorithm for a media guidance application (e.g., via control circuitry304(FIG. 3)) to search a database and generate a statistical relationship in accordance with some embodiments of the disclosure.

At step702, the media guidance application (e.g., via control circuitry304(FIG. 3)) begins a routine to search a database to retrieve criteria of program types. In some embodiments, this may be done either directly or indirectly in response to a user action or input (e.g., from signals received by control circuitry304(FIG. 3) or user input interface310(FIG. 3)).

At step704, the media guidance application (e.g., via control circuitry304(FIG. 3)) retrieves the next criterion from memory (e.g., storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)). In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may retrieve a single primitive data structure that represents the value of the next criterion. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may retrieve the value from a larger class or data structure.

At step706, the media guidance application (e.g., via control circuitry304(FIG. 3)) accesses a database containing data related to a media asset. For example, the media guidance application may access a database that lists various characteristics about the media asset. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may store this database locally (e.g., on storage device308(FIG. 3)) prior to beginning the algorithm. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may also access the database by using communications circuitry to transmit information across a communications network (e.g., communications network414(FIG. 4)) to a database implemented on a remote storage device (e.g., media guidance data source418(FIG. 4)).

At step708, the media guidance application (e.g., via control circuitry304(FIG. 3)) searches database tables for entries matching the criterion. In some embodiments, this may be done by comparing an identifier, for example a string or integer representing the criterion, that matches the types of identifiers used inside the database. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may submit a general query to the database for table entries matching the criterion, and the media guidance application (e.g., via control circuitry304(FIG. 3)) may receive a list of indices or a data structure containing a portion of the database contents. In some embodiments, the database may implement a junction table that in turn cross-references entries from other databases. In this case, the media guidance application (e.g., via control circuitry304(FIG. 3)) may retrieve indices from a first database that, in turn, can be used to retrieve information from a second database. Although, the media guidance application (e.g., via control circuitry304(FIG. 3)) is described as interacting with a single database for purposes of clarity, it is understood that the algorithm ofFIG. 7may be implemented using multiple independent or cross-referenced databases.

At step710, the media guidance application (e.g., via control circuitry304(FIG. 3)) determines if there is database entry that matches the criterion. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may receive a signal from the database indicating that there are no matching entries. In some embodiments, control circuitry304may instead receive a list of indices or data structures with a NULL or dummy value. If the media guidance application (e.g., via control circuitry304(FIG. 3)) identifies that there are database entries matching the criterion, the media guidance application (e.g., via control circuitry304(FIG. 3)) proceeds to step712, otherwise the media guidance application (e.g., via control circuitry304(FIG. 3)) proceeds to step714.

At step712, media guidance application (e.g., via control circuitry304(FIG. 3)) will execute a subroutine to increase counter amount corresponding to criterion. Afterwards, the media guidance application (e.g., via control circuitry304(FIG. 3)) may proceed to step714where it is determined if there are additional database entries to compare the criterion to. For example, the media guidance application (e.g., via control circuitry304(FIG. 3)) may compare the criterion to multiple database entries to determine whether or not any of the entries match the criterion. At step714, the media guidance application (e.g., via control circuitry304(FIG. 3)) will execute a subroutine to generate a statistical relationship.

It is contemplated that the descriptions ofFIG. 7may be used with any other embodiment of this disclosure. In addition, the descriptions described in relation to the algorithm ofFIG. 7may be done in alternative orders or in parallel to further the purposes of this disclosure. For example, the media guidance application (e.g., via control circuitry304(FIG. 3)) may submit multiple queries to the database in parallel, or it may submit multiple queries to a plurality of similar databases in order to reduce lag and speed the execution of the algorithm. As a further example, although step712and step716are described as being mutually exclusive, both exact entries and similar entries may be processed for a single instance of the criterion. To further this purpose, in some embodiments, step710and step714may be performed in parallel by control circuitry304. Furthermore, it should be noted that the algorithm ofFIG. 7may be implemented on a combination of appropriately configured software and hardware, and that any of the devices or equipment discussed in relation toFIGS. 3-4could be used to implement one or more portions of the algorithm.

The pseudocode inFIG. 8describes an algorithm to search a database and generate a statistical relationship in accordance with some embodiments of the disclosure. It will be evident to one skilled in the art that the algorithm described by the pseudocode inFIG. 8may be implemented in any number of programming languages and a variety of different hardware, and that the style and format should not be construed as limiting, but rather a general template of the steps and procedures that would be consistent with code used to implement some embodiments of this disclosure.

At line801, the media guidance application (e.g., via control circuitry304(FIG. 3)) may run a subroutine to initialize variables and prepare to retrieve criteria of program types, which begins on line805. For example, in some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may copy instructions from non-transitory storage medium (e.g., storage device308(FIG. 3)) into RAM or into the cache for processing circuitry306(FIG. 3) during the initialization stage.

At line805, the media guidance application (e.g., via control circuitry304(FIG. 3)) may receive criteria for program types. In some embodiments, this criteria may be retrieved from memory (e.g., storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)) or be based on a user input (e.g., received via user input interface310(FIG. 3)).

At line806, the media guidance application (e.g., via control circuitry304(FIG. 3)) may iterate through the various instances of criteria; if only a single instance is available, the loop will only execute once. This loop may be implemented in multiple fashions depending on the choice of hardware and software language used to implement the algorithm ofFIG. 8; for example, this may be implemented as part of a “for” or “while” loop, in some programming languages. In some embodiments, it may be convenient to store the instances of criteria in a single class or encapsulated data structure that will perform the loop as part of an internal method.

At line807, the media guidance application (e.g., via control circuitry304(FIG. 3)) may query a database for entries matching a criterion. Depending on how the database is implemented and how the criterion is stored, an intermittent step may be required to convert the criterion into a form consistent with the database. For example, the media guidance application (e.g., via control circuitry304(FIG. 3)) may encode the criterion into a string or an integer using an appropriate hashing algorithm prior to being transmitted to the database by the media guidance application (e.g., via control circuitry304(FIG. 3)) as part of a query. In some embodiments, the criterion may be encoded as a primitive data structure, and the media guidance application (e.g., via control circuitry304(FIG. 3)) may submit the criterion as a query to the database directly. After querying the database, the media guidance application (e.g., via control circuitry304(FIG. 3)) may receive a set of database entries matching the criterion. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may receive these entries in the form of a data-structure, a set of indices of the database, or a set of indices of another cross-referenced database.

At line808, control circuitry304will determine if there are any database entries matching the criterion. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may determine this by checking if the database returned an empty data structure or a NULL value in response to the query in line807. If there are matching database entries the algorithm may proceed to line809. If there were no matching database entries, the media guidance application (e.g., via control circuitry304(FIG. 3)) may instead proceed to line812.

At line809, control circuitry304may retrieve one or more values of media asset from the database entries matching the criterion. For example, if the media guidance application (e.g., via control circuitry304(FIG. 3)) retrieves a list of indices after querying the database in line807, in some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may retrieve the database entries for the media asset located at the received indices. In some embodiments, the indices may point to a larger data structure contained within the database, and the media guidance application (e.g., via control circuitry304(FIG. 3)) may retrieve the values of media asset from within the data structure using appropriate accessor methods. In some embodiments, the media guidance application (e.g., via control circuitry304(FIG. 3)) may retrieve the values of the media asset and store them in a separate data structure locally (e.g., in storage308) prior to proceeding further. After retrieving the values of the media asset, the media guidance application (e.g., via control circuitry304(FIG. 3)) will proceed to line810.

At line810, the media guidance application (e.g., via control circuitry304(FIG. 3)) will execute a subroutine to use the values of the media asset and increase a counter amount corresponding to criterion using processing circuitry306(FIG. 3). Afterwards, the he media guidance application (e.g., via control circuitry304(FIG. 3)) may proceed to line815.

At line811, the media guidance application (e.g., via control circuitry304(FIG. 3)) may determine if there are any database entries similar to the criterion. For example, the criterion may be represented by an object of a class. Control circuitry304may call a function to perform a fuzzy comparison (e.g., a comparison to identify similar objects of the class) by comparing specific fields of the class or by performing approximate string matching on data related to the criterion. If database entries similar to the criterion are found by the media guidance application (e.g., via control circuitry304(FIG. 3)) then the media guidance application (e.g., via control circuitry304(FIG. 3)) proceeds to line812. If the media guidance application (e.g., via control circuitry304(FIG. 3)) does not find matching entries (e.g., a query to the database returns a NULL value), the algorithm proceeds to line812and executes a subroutine to no increase the counter amount corresponding to the criterion.

At line814, the media guidance application (e.g., via control circuitry304(FIG. 3)) may execute a termination subroutine after the media guidance application (e.g., via control circuitry304(FIG. 3)) has performed its function and all instances of the criterion have been processed and checked against the database. For example, in some embodiments the media guidance application (e.g., via control circuitry304(FIG. 3)) may destruct variables, perform garbage collection, free memory or clear the cache of processing circuitry306(FIG. 3).

It will be evident to one skilled in the art that the algorithm described by the pseudocode inFIG. 8may be implemented in any number of programming languages and a variety of different hardware, and the particular choice and location of primitive functions, logical evaluations, and function evaluations are not intended to be limiting. It will also be evident that the code may be refactored or rewritten to manipulate the order of the various logical evaluations, perform several iterations in parallel rather than in a single iterative loop, or to otherwise manipulate and optimize run-time and performance metrics without fundamentally changing the inputs or final outputs. For example, in some embodiments the code may be re-written so the media guidance application (e.g., via control circuitry304(FIG. 3)) is instructed to evaluate multiple instances of criteria and submit multiple database queries simultaneously using a plurality of processors or processor threads. It is also understood that although the media guidance application is described as interacting with a single database, this is only a single embodiment described for illustrative purposes, and the media guidance application (e.g., via control circuitry304(FIG. 3)) ofFIG. 8. may interact with multiple independent or cross-referenced databases. For example, a database stored locally (e.g., on storage308) may index or cross-reference a database stored remotely (e.g., media guidance data source418), which may be accessible through any number of communication channels (e.g., communications network414). In some embodiments, this may allow the media guidance application (e.g., via control circuitry304(FIG. 3)) to utilize a look-up table or database front-end efficiently stored on a small local drive to access a larger database stored on a remote server on demand.

FIG. 9is a flowchart of an illustrative process for generating a statistical analysis of a relationship between the first counter amount and the second counter amount. It should be noted that process900or any step thereof could be performed on, or provided by, any of the devices shown inFIGS. 3-4. For example, process900may be executed by control circuitry304(FIG. 3) as instructed by a media guidance application implemented on user equipment402,404, and/or406(FIG. 4) in order to generate a statistical analysis of a relationship between the first counter amount and the second counter amount. In addition, one or more steps of process900may be incorporated into or combined with one or more steps of any other process or embodiment (e.g.,FIGS. 5-8 and 10).

At step902, the media guidance application retrieves (e.g., via control circuitry304(FIG. 3)) a first criterion (e.g., from storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)) for a first program type. For example, the media guidance application may retrieve a user profile from memory, in which the user profile indicates a entertainment interest for a first user. For example, information in the user profile may indicate a current media asset relates to a hobby of the first user. The media guidance application may process this information to generate criteria for a first program type (e.g., entertainment programs).

At step904, the media guidance application retrieves (e.g., via control circuitry304(FIG. 3)) a second criterion (e.g., from storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)) for a second program type. For example, the media guidance application may process information in the user profile to generate criteria for a second program type (e.g., health and safety programs).

At step906, the media guidance application detects (e.g., via control circuitry304(FIG. 3)) a media asset being consumed by the first user (e.g., via display100(FIG. 1)) and compares (e.g., via control circuitry304(FIG. 3)) the media asset to the first criterion and the second criterion at step908. For example, the media guidance application may apply parental controls in response to detecting that the first user is consuming media assets. When applying the parental controls, the media guidance application may compare (e.g., via control circuitry304(FIG. 3)) media assets being consumed by a user (or data about those media assets) to the criteria (e.g., retrieved from storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)) corresponding to different program types to determine whether or not the media asset corresponds to a particular program type. For example, the media guidance application may continuously compare media assets to the ever-changing information in the user profile to categorize media content in a dynamic and individualized manner.

At step910, the media guidance application, in response to determining that the media asset corresponds to the first criterion, adds (e.g., via control circuitry304(FIG. 3)) a time value corresponding to a play length of the media asset to a first counter amount (e.g., retrieved from storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)), in which the first counter amount indicates a total amount of time the first user consumed media assets of the first program type. For example, after categorizing media content in a dynamic and individualized manner, the media guidance application may track the amount of time the first user spends consuming media content of a particular type. For example, the media guidance application may notify a second user (e.g., a parent of the first user) in response to determining that the first counter amount equals or exceeds a threshold amount (e.g., a maximum amount of time that the second user allows the first user to consume media content of the particular type). For example, the second user may then determine whether or not to block the media content. In some embodiments, the media guidance application may provide other motivational mechanisms related to the threshold amount. For example, the media guidance application may generate, for display, to the first user a recommendation for an activity (e.g., completing homework, exercising, etc.) and in response to determining that the first user has completed the activity, increasing the threshold amount (e.g., allowing the first user to consume more media content of a particular type).

At step912, the media guidance application retrieves (e.g., via control circuitry304(FIG. 3)) a second counter amount from memory (e.g., storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)), in which the second counter amount indicates a total amount of time the first user consumed media assets of the second program type. For example, the first counter may track the amount of time that the first user has consumed educational media content and the second counter may track the amount of time that the first user has consumed non-educational media content.

At step914, the media guidance application generates (e.g., via control circuitry304(FIG. 3)) for display a statistical analysis of a relationship between the first counter amount and the second counter amount. For example, the statistical analysis of the relationship between the first counter amount and the second counter amount may be a ratio of the amount of time the first user spent consuming educational media content to the amount of time the first user spent consuming non-educational media content. By generating the statistical analysis of a relationship between the first counter amount and the second counter amount, the media guidance application may provide a second user (e.g., a parent) with information upon which the second user can easily understand the viewing habits of the first user (e.g., a child). For example, the media guidance application may store the statistical analysis for review by the second user and/or transmit the statistical analysis to another device for review by the second user.

In some embodiments, the media guidance application may determine (e.g., via control circuitry304(FIG. 3)) a program type for all available media content in order to provide additional features to the first user. For example, the media guidance application may receive, from the first user, a user input requesting media content of the first program type (e.g., educational media content), and, in response to the user input, generate for display a listing for the media asset.

In some embodiments, the media guidance application may identify (e.g., via control circuitry304(FIG. 3)) the first user (e.g., via detection module316(FIG. 3)), and, in response to identifying the first user, search a database of counter amounts associated with the first user (e.g., located at storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)) to determine the first counter amount and the second counter amount. For example, the media guidance application may store user profiles and counters that are individualized for a plurality of user. Through the use of one or more user authentication mechanisms, the media guidance application may determine which user is currently consuming media content and retrieve/update only the user profile and/or counters corresponding to that user.

In some embodiments, the media guidance application may publish (e.g., via control circuitry304(FIG. 3)) the statistical analysis. For example, the media guidance application may post the statistical analysis to a social media network in order to motivate the first user to view media content of a particular type (e.g., educational media content).

FIG. 10is a flowchart of an illustrative process for using a threshold analysis of a relationship between a first program type and a second program for an average user of a user group to determine parental controls for a first user. It should be noted that process1000or any step thereof could be performed on, or provided by, any of the devices shown inFIGS. 3-4. For example, process1000may be executed by control circuitry304(FIG. 3) as instructed by a media guidance application implemented on user equipment402,404, and/or406(FIG. 4) in order to determine parental controls for a first user. In addition, one or more steps of process1000may be incorporated into or combined with one or more steps of any other process or embodiment (e.g.,FIGS. 5-9).

At step1002, the media guidance application determines (e.g., via control circuitry304(FIG. 3)) a statistical analysis of a relationship between a first program type and a second program type for a first user. For example, the media guidance application may determine a first ratio of a total amount of time the first user consumed media assets of the first program type (e.g., entertainment) to a total amount of time the first user consumed media assets of the second program type (e.g., education).

At step1004, the media guidance application accesses (e.g., via I/O path302(FIG. 3)) a social network. For example, the media guidance application may access a database (e.g., located at storage308(FIG. 3) and/or any location accessible via communications network414(FIG. 4)) of information corresponding to a user group of the first user's peers. For example, by using information related to the peers of the first user, the media guidance application may develop parental controls that are in line with the social norms and mores of the users.

At step1006, the media guidance application locates (e.g., via control circuitry304(FIG. 3)) a user group on the social network associated with the first user. For example, the media guidance application may retrieve (e.g., via control circuitry304(FIG. 3)) contacts (e.g., “friends”) of an account (e.g., a social network profile) for the first user on the social network (e.g., in order to ensure that the users in the user group share the same social norms and mores as the first user). In another example, the media guidance application may match (e.g., via control circuitry304(FIG. 3)) demographic information of the first user to demographic information for each user of the user group (e.g., to ensure that the users in the user group are of the same age as the first user). In another example, the users in the user group may be selected (e.g., via control circuitry304(FIG. 3)) by the second user (e.g., in order to ensure that the threshold analysis is based on users that are approved by a parent of the first user).

At step1008, the media guidance application determines (e.g., via control circuitry304(FIG. 3)) a threshold analysis of a relationship between the first program type and the second program for an average user of the user group. For example, the threshold analysis may be a second ratio of a total amount of time the average user of the user group consumed media assets of the first program type to a total amount of time the average user of the user group consumed media assets of the second program type.

At step1010, the media guidance application may compare (e.g., via control circuitry304(FIG. 3)) the statistical analysis to the threshold analysis. For example, the media guidance application may determine (e.g., via control circuitry304(FIG. 3)) whether or not the statistical analysis exceeds the threshold analysis (e.g., whether a ratio of a total amount of time the first user consumed media assets of the first program type to a total amount of time the first user consumed media assets of the second program type exceeds that of a ratio of a total amount of time the average user of the user group consumed media assets of the first program type to a total amount of time the average user of the user group consumed media assets of the second program type.

At step1012, the media guidance application (e.g., via control circuitry304(FIG. 3)) blocks the first program type. Additionally or alternatively, the media guidance application may alert (e.g., via control circuitry304(FIG. 3)) a second user (e.g., a parent of the first user) based on the comparison. For example, in response to determining (e.g., via control circuitry304(FIG. 3)) that a ratio of a total amount of time the first user consumed media assets of the first program type to a total amount of time the first user consumed media assets of the second program type exceeds that of a ratio of a total amount of time the average user of the user group consumed media assets of the first program type to a total amount of time the average user of the user group consumed media assets of the second program type, the media guidance application may automatically block the first user from consuming any more media assets of the first program type.

In some embodiments, the media guidance application may determine (e.g., via control circuitry304(FIG. 3)) the threshold analysis in real time or on a periodic basis in order to ensure that the threshold analysis is current. For example, the threshold analysis may differ based on a month (e.g., whether or not school is in session), a time of year (e.g., summer versus winter), or on a particular day (e.g., a weekend day versus a school day).

In some embodiments, the media guidance application may also modify (e.g., via control circuitry304(FIG. 3)) the threshold analysis based on information received from a data source selected by the second user. For example, a parent may wish to receive updates on the progress of a child at school or at a part-time job. If the parent notices that the child is performing well at school or at a job, the parent may wish to allow a child to have a higher ratio of entertainment programs to education programs. In contrast, if the parent notices that the child is performing poorly at school or at a job, the parent may wish to allow a child to have a lower ratio of entertainment programs to education programs.

FIG. 11is a diagram of a relationship between a first program type and a second program. For example,FIG. 11shows relationship1100. In this case, relation1100indicates the amount of “points” that a user has received based on the amount of media content the user has consumed during a particular month (e.g., May). In some embodiments, relationship1100may appear in or be generated as a part of window206(FIG. 2)).

As shown inFIG. 11, relationship1100describes the relationship between educational points to entertainment points. For example, each educational point may constitute a minute of educational programming that the user consumed during the current time period. Likewise, each entertainment point may constitute a minute of entertainment programming that the user consumed during the current time period. Additionally or alternatively, the amount of points may be based on additional activities performed by a user (e.g., related to a proficiency in school, work, etc.).

As shown inFIG. 11, the media guidance application has generated a statistical relationship between the amount of educational points and the amount of entertainment points. For example, the media guidance application has determined a ratio between the amount of educational points and the amount of entertainment points. In the present case, the ratio corresponds to 2.4 (i.e., indicating how many times the first number contains the second).

FIG. 12is a diagram of a change in a relationship between a first program type and a second program as a function of time. For example,FIG. 12shows relationship1200. Relationship1200tracks the ratio of educational points to entertainment points (e.g., as described above inFIG. 11) over a larger time period. Furthermore, relationship1200graphically expresses the ratio over a period of time. For example,FIG. 1200includes a line that shows how the ratio has gone from 0.2 to 3 over a period of a few months.

In some embodiments, relationship1200may appear in window206(FIG. 2). Furthermore, a user (e.g., a parent) may use relationship1200to monitor the media consumption of another user (e.g., a child) over time. In some embodiments, relationship1200may indicate data points from repeated determinations of a statistical relationship of a first user and/or a comparison with a threshold relationship. For example, over a period of several months the statistical relationship and/or various thresholds may have been determined in a continuous manner. Based on the determinations, the media guidance application may generate relationship1200.