Parental controls customization and notification
A method, system, and computer readable medium are provided for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. The computer receives a user request to perform a blocked online action. The computer provides information about the pending request to the administrator and receives request resolution information from the administrator. The computer updates the administrator controls used to filter the user's online actions in accordance with the request resolution information.
Latest Microsoft Patents:
This application is a divisional of U.S. patent application Ser. No. 10/187,408, filed Jun. 28, 2002, priority from the filing date of which is hereby claimed under 35 U.S.C. § 120.
FIELD OF THE INVENTIONThis invention is generally related to the field of computer software and more specifically to a method and system for controlling access across a network.
BACKGROUNDWhile the Internet can provide a tremendous amount of information about a wide variety of subjects, the Internet can also pose dangers, especially for children. Parents want their children to have access to the many educational resources that can be found on the Internet. At the same time, parents want to prevent their children from accessing the many Web sites that contain violence, pornography, and other material inappropriate for children. Even more so, parents want to protect their children from child predators that use the Internet to lure children from chat rooms to in-person meetings.
In 1998, the Children's Online Privacy Protection Act (“COPPA”) was passed to prohibit Web sites from gathering personal information from children under the age of 13 without parental consent. While COPPA is a significant and positive step toward protecting children's privacy when on the Internet, there are many other dangers on the Internet that COPPA fails to address. COPPA does not protect children from viewing inappropriate material on Web sites. COPPA also does not protect children from communicating with strangers that could be child predators on the Internet.
Conventional computer technology provides a few steps that parents can take to protect their children from material and individuals that may be harmful. One type of conventional computer technology for protecting children is blocking software that blocks access to certain sites that have been predetermined as inappropriate or which contain key words, such as profanity or sex-related words. Blocking software comes in different forms, such as stand-alone software packages, resources on the Internet, and as an online service that allows parents to limit access to certain sites and features, such as e-mail, instant messages, or certain content. Popular online services are provided by Internet service providers such as MSN the Microsoft Network® provided by Microsoft Corporation of Redmond, Wash. In order to determine which sites and content are most appropriate for children, child-specific search engines, ratings, and review sites have been emerging. Search engines and directories yield only those sites that have been determined appropriate for children. Of course, such search engines and blocking software do not automatically protect children from all inappropriate content.
While conventional computer technology can aid parents in controlling the content their child can access on the Internet, the conventional computer technology is not perfect. The blocking software or online services often miss inappropriate sites and block appropriate sites. It would be advantageous for parents and children to communicate about the online controls and to enable parents to customize the online controls for children based on those communications. Therefore, there exists a need for children and parents to communicate regarding the parental controls, with the ability for parents to customize the parental controls based on that communication.
SUMMARYThis summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The present invention satisfies the aforementioned needs by providing a method and system for parental controls customization and notification. Generally described, the parental controls customization and notification method and system enable a user (e.g., a child) and an administrator in a network environment (e.g., a parent) to interactively customize the administrator controls used to filter the user's online actions. Controls are the filter settings employed to control the actions of the users.
One aspect of the present invention provides a computer-implementable method for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. The computer receives a user request for consent to perform a blocked online action. The computer provides information about the pending request to an administrator and receives request resolution information from the administrator. The computer updates the administrator controls used to filter a user's online actions with the request resolution information.
Another aspect of the present invention provides a computer-implementable method for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. When the computer receives a request from a user for consent to perform a blocked online action, the computer determines if an administrator is present and, if an administrator is present, receives the administrator's identification. In response to receiving the administrator's identification, the computer authenticates the administrator without denying the user's access to the network environment. After authenticating the administrator, the computer presents the user's request to the administrator and determines if the administrator accepts the user's request. If the administrator accepts the user's request, the computer updates the administrator controls for the user to allow the previously blocked action.
Yet another aspect of the present invention provides a computer-implementable method for enabling a user and an administrator in a network to interactively customize administrator controls used to filter the user's online actions. The computer tracks and stores the user's allowed and blocked online actions. The computer generates a history summary report from the stored information and provides the history summary report to the administrator. If the computer receives an administrator request to block the user from performing an action indicated as being allowed in the history summary report, the computer updates the administrator controls used to filter a user's online actions to include blocking the action.
An additional aspect of the present invention provides a computer-readable medium having computer-executable instructions for enabling a user and an administrator in a network environment to interactively customize the administrator controls used to filter the user's online actions. When executed, the instructions cause the computer to respond to a user request to perform a blocked online action by providing information about the pending request to an administrator. In response to the computer receiving request resolution information from the administrator, the computer updates the administrator controls used to filter a user's online actions with the request resolution information.
Another aspect of the present invention provides a computer-readable medium having computer-executable instructions for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. When executed the instructions cause the computer to respond to receiving a request from the user to perform a blocked online action by determining if the administrator is present. If the administrator is present, the computer responds to receiving the administrator's identification by authenticating the administrator without denying the user's access to the network environment. After authenticating the administrator, the computer presents the user's request to the administrator and determines if the administrator accepts the user's request. If the administrator accepts the user's request, the computer updates the administrator controls for the user to allow the previously blocked action.
A further aspect of the present invention provides a computer-readable medium having computer-executable instructions for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. When executed, the instructions perform a process that includes tracking and storing the user's allowed and blocked online actions. The process includes generating a history summary report for the user by generating a history summary report from the stored information and providing the history summary report to the administrator. In response to the computer receiving an administrator request to block the user from performing an action indicated as being allowed in the history summary report, the process includes updating the administrator controls used to filter a user's online actions to include blocking the action.
A further aspect of the present invention provides a computer-readable medium having a data structure stored thereon for use in enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. The preferred form of the data structure includes a data element indicative of request identification information, a data element indicative of user identification information, a data element indicative of administrator identification information, a data element indicative of information about blocked online action, and a data element indicative of request status information. The data structure is used to create an entry in a consent database for a request to modify the administrator controls used to filter a user's online actions.
Another aspect of the present invention provides a computer system for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter a user's online actions. The computer system includes a setting database component for storing information about the administrator controls used to filter a user's online actions and an administrator control component. Preferably, the administrator control component is operable to receive a user request to perform a blocked online action, provide information about the pending request to an administrator, receive request resolution information from the administrator, and update the administrator controls for the user in the setting database with the request resolution information.
Another aspect of the present invention provides a computer system for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. The computer system includes a setting database component for storing information about the administrators controls used to filter the user's online actions and an administrator control component. Preferably, the administrator control component is operable to receive a request from a user to perform a blocked online action, determine if an administrator is present and, if an administrator is present, receiving the administrator's identification. In response to receiving the administrator's identification, the administrator control component authenticates the administrator without denying the user's access to the network environment. After authenticating the administrator, the administrator control component presents the user's request to the administrator and determines if the administrator accepts the user's request. If the administrator accepts the user's request, the administrator controls for the user are updated to allow the previously blocked action.
Another aspect of the present invention provides a computer system for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions. The computer system includes a setting database component for storing information about the administrators controls being used to filter the user's online actions and an administrator control component. Preferably, the administrator control component is operable to track and store the user's allowed and blocked online actions, generate a history summary report from the stored information, and provide the history summary report to the administrator. In response to receiving an administrator request to block the user from performing a first action indicated as being allowed in the history summary report, the administrative control component updates the administrator controls for the user to include blocking the first action.
DESCRIPTION OF THE DRAWINGSThe foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
As briefly described above, the present invention provides methods, systems, and computer readable media for customizing parental controls.
The invention is implementable in numerous other general purposes or special computing environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for implementing the invention include, but are not limited to, personal computers, server computers, laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems, or the like.
The many components of a personal computer system 600 that a client and server computer may consist of are illustrated in
The system memory 630 includes computer storage media in the form of volatile and/or nonvolatile memory, such as read-only memory (ROM) 631 and random-access memory (RAM) 632. A basic input/output system 633 (BIOS) contains basic routines that help to transfer information between elements within the computer 610, such as program modules that are immediately accessible to and/or presently being operated on by processing unit 620. By way of example, and not limitation,
The computer 610 may also include other removable/nonremovable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, discussed above and illustrated in
As discussed earlier, one embodiment of the present invention operates in a networked environment using logical connections to one or more remote computers, such as a remote computer. The remote computer may be a personal computer, a server, a router, a network PC, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the computer 610, although only a memory storage device 681 has been illustrated in
When used in a LAN networking environment, the computer 610 is connected to the LAN 671 through a network interface or adapter 670. When used in a WAN networking environment, the computer 610 typically includes a modem 672 or other means for establishing communications over the WAN 673, such as the Internet. The modem 672, which may be internal or external, may be connected to the system bus 621 via the user-input interface 660 or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 610, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
The term “Internet” refers to a collection of networks and routers capable of communicating with one another. A representative section of the Internet 100 is shown in
With reference to
After the user has connected to the Internet 100, the user is directed to the parental control server 204 and logs onto the parental control server 204. The user identifies himself to the parental control server 204 by providing identification information, such as a username and a password. The parental control server 204 authenticates the user utilizing authenticating processes well-known by those of ordinary skill in the art. The parental control server 204 then queries the setting database 206 for the parental controls for the user. In the illustrated embodiment, the setting database 206 includes the allow/block list, which includes a list of parentally controlled actions. The allow/block list includes an allow list of the actions allowed by the parent. The allow/block list also includes a block list of the actions blocked by the parent. Thus the allow/block list includes customized parental controls for the user logging into the client 202. After querying the setting database 206, the parental control search results, including the allow/block list for the user, are provided to the parental control server 204.
In an alternative embodiment of the present invention, the parental control server 204 uses filter 210 in addition to the allow/block list to determine whether or not the user should be allowed to perform action A. The filter may be an inappropriate word filter, for example. Alternatively, the parental control server 204 may download all or a portion of a filter, such as filter 210 and all or a portion of the allow/block list to the client 202. In such an embodiment of the invention, the client 202 will apply the downloaded portions of filter 210 and the allow/block list to determine whether action A should be allowed. If filter 210 does not block action A and if action A is not found in the block list, action A is allowed as illustrated in
At decision block 908, a test is made to determine if the user would like to submit a request for consent from the administrator to perform the blocked online action. If at decision block 908, it is determined that the user does not want to submit the consent request, routine 900 cycles back to decision block 904 and the above steps are repeated. If at decision block 908, it is determined that a user request for consent was received, routine 900 proceeds to block 910 where information related to the request is collected. In one embodiment of the present invention, routine 900 collects the data related to the request that was described above with reference to data structure 700 shown in
After collecting the data related to the request at block 910, routine 900 proceeds to block 912 and creates an entry in consent database 208 for the request. In one embodiment, routine 900 creates the entry using the data structure 700 described above with reference to
After displaying the pending request to the administrator at block 1108, routine 1100 proceeds to decision block 1110 where a test is made to determine if the administrator accepts the pending request. If at decision block 1110, it is determined that the administrator accepted the pending request, routine 1100 proceeds to block 1112. At block 1112, routine 1100 updates the consent database 208 to indicate that the request was accepted. After updating the consent database 208 to indicate the request was accepted in block 1112, routine 1100 proceeds to block 1114. At block 1114, routine 1100 sends the user notification of the accepted request. Those of ordinary skill in the art will appreciate that notifications may be sent utilizing any of the various methods for exchanging messages over a network known in the art, such as e-mail and instant messaging. After sending the user notification of the accepted request at block 1114, routine 1100 proceeds to block 1122 to customize controls, which is described below with reference to
If at decision block 1110, it is determined that the administrator did not accept the pending request, routine 1100 proceeds to decision block 1116 where a test is made to determine if the administrator denies the pending request. If at decision block 1116, it is determined that the administrator did not deny the pending request, routine 1100 cycles back to decision block 1104 and the above described steps are repeated. If at decision block 1116, it is determined that the administrator denied the pending request, routine 1100 proceeds to block 1118 and updates the consent database 218 to indicate that the request was denied. After updating the consent database 208 to indicate that the request was denied, routine 1100 proceeds to block 1120. At block 1120, routine 1100 sends the user notification that the request was denied by the administrator. For example, the user may be sent an e-mail or instant message indicating that the request was denied. After sending the user notification of the denied request in block 1120, routine 1100 proceeds to block 1122 to perform a customize controls. As described above, an alternative embodiment notifies the user of the resolved request when the user is detected logging on. After sending the user notification of the denied request in block 1120, routine 1100 proceeds to block 1122 to customize controls, which is described below with reference to
If, at decision block 1210, it is determined that the newly resolved request was not accepted, routine 1200 proceeds to block 1216. At block 1216, routine 1200 adds the requested action to the user's block list. An alternative embodiment of the present invention does not add the action associated with the denied request from the user to the user's block list if the user was already blocked from performing the action. After adding the requested action to the user's block list at block 1216, routine 1200 proceeds to block 1218. At block 1218, the user is sent notification that the request was denied and routine 1200 is completed.
If at decision block 1310, it is determined that the administrator did not accept the user's request, routine 1300 proceeds to block 1318. At block 1318, routine 1300 adds a requested action to the user's block list. An alternative embodiment of the present invention does not add the action associated with the denied request from the user to the user's block list if the user was already blocked from performing the action. As described above, other embodiments of the present invention download all or a portion of the user's allow/block list to the user's client computer. Downloading all or part of the user's allow/block list may enhance performance and provide more effective controls at a lower level on the user's client computer. After adding the requested action to the user's block list in block 1318, routine 1300 proceeds to block 1320, where the administrator is logged out. After logging out the administrator at block 1320, routine 1300 proceeds to block 1322, where the user is blocked from performing the requested action. Routine 1300 is completed at block 1324.
If at decision block 1406, it is determined that the administrator is not to receive the history summary report, routine 1400 cycles back to decision block 1404 and the above described steps are repeated. If at decision block 1406, it is determined that the administrator is to receive the history summary report, routine 1400 proceeds to block 1408. At block 1408, routine 1400 tracks the user's actions while the user is online. After tracking the user's online actions at block 1408, routine 1400 proceeds to block 1410 where the user's history summary information is stored. After storing the user's history summary information at block 1410, routine 1400 proceeds to decision block 1412.
At decision block 1412, a test is made to determine if it is time to generate the history summary report. In one embodiment of the present invention, the history summary report is generated periodically. In another embodiment, the history summary report is generated when it has been seven days or more since the last history summary report was generated. If at decision block 1412, it is determined that it is not time to generate the history summary report, routine 1400 cycles back to decision block 1404 and the steps described above are repeated. If at decision block 1412, it is determined to be time to generate the history summary report, routine 1400 proceeds to block 1414 and obtains stored history summary information. After obtaining the history summary information at block 1414, routine 1400 proceeds to block 1416 and generates the history summary report.
Returning to
After displaying the user's history summary information to the administrator at block 1508, routine 1500 proceeds to decision block 1510. At decision block 1510, a test is made to determine if a request has been received from the administrator to modify the controls that filter the user's online actions. If at decision block 1510, it is determined that the administrator does not wish to modify the controls, routine 1500 cycles back to decision block 1504 and the above-described steps are repeated. If at decision block 1510, it is determined that a request has been received from the administrator to modify the controls, routine 1500 proceeds to block 1512. At block 1512, routine 1500 collects data related to the administrator's request. After collecting data related to the administrator's request at block 1512, routine 1500 proceeds to block 1514. At block 1514, routine 1500 creates an entry in the consent database 208 that responds to the administrator's request. After creating the entry in the consent database 208 that responds to the administrator's request at block 1514, routine 1500 cycles back to decision block 1504 and the above-described steps are repeated.
After querying the consent database 208 for a new administrator request at block 1606, routine 1600 proceeds to decision block 1608. At decision block 1608, a test is made to determine if any new administrator requests were found in the consent database 208. If at decision block 1608, it is determined that no new administrative request was found in the consent database 208, routine 1600 cycles back to decision block 1604 and the above-described steps are repeated. If at decision block 1608, it is determined that a new administrator request was found in the consent database 208, routine 1600 proceeds to decision block 1610. At decision block 1610, a test is made to determine if the new administrator request is for allowing the user to perform a previously blocked action.
If at decision block 1610, it is determined that the new administrator request is to allow the user to perform a previously blocked action, routine 1600 proceeds to block 1612. At block 1612, routine 1600 adds the action associated with the administrator's request to the user's allow list. In other embodiments of the present invention, all or a portion of the user's allow list is downloaded to the user's client computer for improved performance and more effective control at a lower level on the user's client computer. By adding the action to the user's allow list, the user's controls are customized to allow the user to perform the previously blocked action. After adding the action to the user's allow list at block 1612, routine 1600 cycles back to decision block 1604 and the above-described steps are repeated.
If at decision block 1610, it is determined that the new administrator request was not for allowing the user to perform a previously blocked action, routine 1600 proceeds to block 1614. At block 1614, the action associated with the administrator request is added to the user's block list. By adding the action to the user's block list, the controls for filtering the user's online actions are customized to not allow the user to perform an action that was previously allowed, as indicated in the history summary information displayed to the administrator. After adding the action to the user's block list in block 1614, the user will no longer be allowed to perform the online action associated with the administrator's request. After adding the action associated with the administrators request to the user's block list, routine 1600 cycles back to decision block 1604 and the above-described steps are repeated.
While the above description of the present invention has been described as a interactions between a child user and a parent administrator of a network, the present invention is not limited to any specific user and administrator relationship. For example, the relationship can be an employee and employer relationship. The parental control system provides the advantages of enabling an administrator (parent/employer) and user (child/employee) to interactively customize the controls that are used for filtering the user's actions across a network.
With reference once again to
To execute a .NET platform application, the compiled IL is interpreted, or “just-in-time” compiled, by the URT into native machine instructions. The native machine instructions can then be directly executed by the CPU. The Microsoft .NET platform also includes a base library that comprises a large set of class libraries and services. These libraries and services provide access to the features of the URT, and other high-level services, so that software developers do not have to code the same services repeatedly. Although the present invention may be applicable with regard to a .NET platform implementation, the present invention may also be implemented in alternative platform environments.
While the illustrative embodiments of the invention have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention. For example, one skilled in relevant art will appreciate that the parental control system may incorporate interfaces conforming to the simple object access protocol (“SOAP”) and the like. All such claims are considered to be within the scope of the present invention.
Claims
1. A computer-readable medium having computer-executable instructions for enabling a user and an administrator in a network environment to interactively customize administrator controls used to filter the user's online actions, the instructions when executed perform a process comprising:
- (a) tracking and storing the user's allowed and blocked online actions;
- (b) generating a history summary report from the stored information; and
- (c) providing the history summary report to the administrator; and (d) in response to receiving an administrator request to block the user from performing a first action indicated as being allowed in the history summary report, updating the administrator controls for the user to include blocking the first action.
2. The computer-readable medium of claim 1, further comprising, in response to receiving an administrator request to allow a second action indicated as being blocked in the history summary report, updating the administrator controls for the user to include allowing the second action.
3. The computer-readable medium of claim 1, wherein the instructions when executed also prevent the user from modifying the stored history summary information.
4. The computer-readable medium of claim 1, wherein the instructions when executed also clear the stored information after generating the history summary report.
5. The computer-readable medium of claim 1 wherein the history summary report is periodically generated.
6. The computer-readable medium of claim 1, wherein the history summary report is generated in response to receiving an administrator request for the history summary report.
7. The computer-readable medium of claim 1, wherein the history summary report includes information about one of:
- (a) web sites the user was allowed to visit;
- (b) web sites the user was blocked from visiting;
- (c) electronic mail sent by the user;
- (d) electronic mail that the user was blocked from sending;
- (e) buddies with whom said user was allowed to have instant messenger conversations;
- (f) buddies with whom said user was blocked from having instant messenger conversations;
- (g) files the user was allowed to download;
- (h) files the user was blocked from downloading;
- (i) the user's amount of time online;
- j) applications the user was allowed to run;
- (k) applications the user was blocked from running;
- (l) applications the user was allowed to install;
- (m) applications the user was blocked from installing;
- (n) movies the user was allowed to view;
- (o) movies the user was blocked from viewing;
- (p) games the user was allowed to play;
- (q) games the user was allowed to play;
- (q) shared resources the user was allowed to access; and
- (r) shared resources the user was blocked from accessing.
8. The computer-readable medium of claim 1, wherein the history summary report information is sorted by the frequency of the user's online activity.
9. The computer-readable medium of claim 1, wherein the user is the administrator's child.
10. The method of claim 1, wherein said history summary report includes an option for reviewing an online action in the history summary report.
11. The computer-readable medium of claim 10, wherein the instructions when executed also navigate to a Web site in response to the administrator selecting the option for reviewing an online action included in the history summary report.
12. The computer-readable medium of claim 10, wherein the instructions when executed also send an electronic mail message in response to the administrator selecting the option for reviewing an online action in the history summary report.
13. The computer-readable medium of claim 10, wherein the instructions when executed also send an instant message in response to the administrator selecting the option for reviewing an online action in the history summary report.
14. The computer-readable medium of claim 10, wherein the instructions when executed also download a file in response to the administrator selecting the option for reviewing an online action in the history summary report.
15. The computer-readable medium of claim 1, further comprising storing information about the administrator request to block the user from performing the first action and information about the administrator request to allow the second action in a consent database.
16. The computer-readable medium of claim 15, wherein the consent database resides in the network environment.
17. The computer-readable medium of claim 15, wherein the instructions when executed also:
- detect the user logging onto the network environment;
- search the consent database for a new administrator request; and
- if a new administrator request is found, download at least a portion of the administrator controls to the user's local computer.
18. The computer-readable medium of claim 17, wherein if a new administrator request is found, the instructions when executed also notify the user of the new administrator request.
Type: Application
Filed: Mar 14, 2006
Publication Date: Jul 20, 2006
Applicant: Microsoft Corporation (Redmond, WA)
Inventors: Ashvin Mathew (Kirkland, WA), Craig Beilinson (Bellevue, WA), Christopher Evans (Sammamish, WA), Harry Fravert (Redmond, WA), Ahmad Safa (Sammamish, WA), Linda Hong (Kirkland, WA), Victor Tan (Kirkland, WA), Laurel Abbott (Kirkland, WA)
Application Number: 11/374,809
International Classification: H04L 9/32 (20060101); G06F 15/16 (20060101); G06K 9/00 (20060101); G06F 17/30 (20060101);