WO2000060434A1 - Method and system for controlling execution of computer programs - Google Patents

Method and system for controlling execution of computer programs Download PDF

Info

Publication number
WO2000060434A1
WO2000060434A1 PCT/US2000/008868 US0008868W WO0060434A1 WO 2000060434 A1 WO2000060434 A1 WO 2000060434A1 US 0008868 W US0008868 W US 0008868W WO 0060434 A1 WO0060434 A1 WO 0060434A1
Authority
WO
WIPO (PCT)
Prior art keywords
readable medium
computer
user
computer readable
control information
Prior art date
Application number
PCT/US2000/008868
Other languages
French (fr)
Inventor
Luis M. Huapaya
Scott R. Leatham
Gregory D. Swedberg
James E. Veres
Original Assignee
Microsoft Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to AU40681/00A priority Critical patent/AU4068100A/en
Publication of WO2000060434A1 publication Critical patent/WO2000060434A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Definitions

  • the present invention relates to computers. More particularly, the present invention relates to 5 controlling execution of applications on a computer.
  • the home computer is typically a desktop personal computer, although with greater processing power and storage capabilities, notebook computers and 10 even hand held devices may be ever more prevalent in the home.
  • the computer is a multi-purpose processing appliance that can be used by many to fulfill different needs. For instance, an adult can use the computer to maintain 15 financial or other personal information, perform online investing, perform work related tasks, etc. A school age child may use the computer for completing homework assignments, research or as a form of entertainment. Even preschoolers are being taught to use a computer
  • the computer can fulfill many needs for users of different ages, the applications stored or executed thereon are not typically appropriate for all users.
  • the computer can be a plausible 25 distraction to children, when other activities, such as studying is desired. It is usually impossible for a parent or other guardian to monitor what the computer is being used for throughout the day. In some households, the child may even have his or her own
  • a computer implemented method includes receiving requests related to executing a selected application; accessing a database having control information related to a computer user's ability to execute a category of applications; and providing an output indicating whether the selected application should be executed. Instructions or routines can be provided on a computer readable medium to implement the method.
  • a second aspect of the present invention includes a computer-implemented method that accesses a database having control information related to a computer user's ability to execute a category of applications. An output is provided indicating when an executing application should be at least hindered. Instructions or routines can be provided on a computer readable medium to implement this method.
  • BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of an exemplary computing environment for the present invention.
  • Fig. 2 is a block diagram illustrating aspects of the present invention.
  • Fig. 3 is a flow chart illustrating exemplary steps of the present invention.
  • FIG. 1 and the related discussion provide a brief, general description of a suitable computing environment in which the invention can be implemented.
  • program modules include routine programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types . Tasks performed by the programs and modules are described below and with the aid of block diagrams and flow charts. Those skilled in the art can implement the descriptions, block diagrams and flow charts as processor executable instructions, which can be written on any form of a computer readable medium.
  • the invention can be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • the invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules can be located in both local and remote memory storage devices .
  • an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional personal computer 10, including a processing unit 11, a system memory 12, and a system bus 13 that couples various system components including the system memory to the processing unit 11.
  • the system bus 13 can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures .
  • the system memory includes read only memory (ROM) 14 and a random access memory (RAM) 15.
  • ROM read only memory
  • RAM random access memory
  • a basic input/output system 16 (BIOS) containing the basic routine that helps to transfer information between elements within the personal computer 10, such as during start-up, is stored in ROM 14.
  • the personal computer 10 further includes a hard disk drive 17 for reading from and writing to a hard disk (not shown) , a magnetic disk drive 18 for reading from or writing to a removable magnetic disk 19, and an optical disk drive 20 for reading from or writing to a removable optical disk such as a CD ROM or other optical media.
  • the hard disk drive 17, magnetic disk drive 18, and optical disk drive 20 are connected to the system bus 13 by a hard disk drive interface 22, magnetic disk drive interface 23, and an optical drive interface 24, respectively.
  • the drives and the associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 10.
  • RAMs random access memory
  • ROM read only memory
  • a number of program modules can be stored on the hard disk, magnetic disk 19, optical disk 21, ROM 14 or RAM 15, including an operating system 65, one or more application programs 26, other program modules 67, and program data 28.
  • a user can enter commands and information into the personal computer 10 through input devices such as a keyboard 30, a handwriting tablet 31, a pointing device 32 and a microphone 33.
  • Other input devices can include a joystick, game pad, satellite dish, scanner, or the like.
  • serial port interface 36 that is coupled to the system bus 13, but can be connected by other interfaces, such as a sound card, a parallel port, a game port or a universal serial bus (USB) .
  • a monitor 37 or other type of display device is also connected to the system bus 13 via an interface, such as a video adapter 38.
  • personal computers typically include other peripheral output devices such as a speaker 35 and a printer (not shown) .
  • the personal computer 10 can operate in a networked environment using logic connections to one or more remote computers, such as a remote computer 39.
  • the remote computer 39 can be another personal computer, a server, a router, a network PC, a peer device or other network node, and typically includes many or all of the elements described above relative to the personal computer 10, although only a memory storage device 40 has been illustrated in FIG. 1.
  • the logic connections depicted in FIG. 1 include a local area network (LAN) 41 and a wide area network (WAN) 42.
  • LAN local area network
  • WAN wide area network
  • the personal computer 10 When used in a LAN networking environment, the personal computer 10 is connected to the local area network 41 through a network interface or adapter 43. When used in a WAN networking environment, the personal computer 10 typically includes a modem 44 or other means for establishing communications over the wide area network 42, such as the Internet.
  • the modem 44 which can be internal or external, is connected to the system bus 13 via the serial port interface 36.
  • program modules depicted relative to the personal computer 10, or portions thereof can be stored in the remote memory storage devices.
  • the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.
  • Fig. 2 schematically illustrates, in block diagram form, a parental control system or module 50 for controlling execution of applications on the computer 10.
  • the parental control module 50 receives requests 52 related to executing a selected application.
  • Parental control module 50 accesses a database 54 located on any of the storage devices described above.
  • the database 54 includes control information related to a computer user's ability to execute a category of applications. For instance, control information can include at least one of a time of day and a duration of execution for each of the categories of applications.
  • Parental control module 50 provides as an output 56 an indication as to whether the selected application forming the request 52 should be executed.
  • the output 56 can be used by the operating system of the computer 10 to permit the application to be started.
  • the application receives the output 56 and allows further operation, if permitted.
  • parental control module 50 monitors execution of a selected application and provides as output 56 an indication when the executing application should be terminated or at least hindered in order to encourage the computer user to stop execution.
  • Fig. 3 illustrates the general steps described above as well as other steps that can be performed in a specific embodiment.
  • parental control module 50 receives the request 52 related to executing a selected application.
  • Request 52 can originate from any one of a number of sources in various computer architectures. For instance, request 52 can originate from an application currently running on the computer 10, or from other computers communicating with computer 10 through a communications link such as a modem or a network. In one typical environment, request 52 originates from the operating system used to manage resources and data flow in the computer 10.
  • the operating system provides information indicating which application has been selected for execution.
  • an Application Programming Interface (“API") is used to pass the application's information between the operating system and parental control module 50.
  • APIs are well known communication mediums for passing information between applications and/or the operating system.
  • the information can be the name of the executable file for the selected application.
  • additional information can also be provided such as the location of the application in the computer 10 (e.g. the storage device and the folder or directory where the application is stored) , or on a remote computer connected to computer 10.
  • parental control module 50 communicates with an application manager module 66.
  • application manager module 66 is used to manage information stored in a database 68 related to applications that can be executed on computer 10. It should be noted that application manager module 66 is illustrated separately; however, if desired tasks performed by application manager module 66 can be incorporated into parental control module 50.
  • Database 68 stores information related to applications that can be executed on computer 10. Generally, the information stored in database 68 organizes or at least categorizes the applications. For example and without limiting the present invention, applications can be categorized as entertainment applications, educational applications, multimedia applications, reference applications, educational/ entertainment applications, financial applications, etc. If desired, categories can be subdivided. For instance, entertainment applications (e.g. games, etc.) can be categorized based on content such as the level of violence depicted, or other criteria. For example, the criteria can include a rating level from a third party such as the Entertainment Software Rating Board.
  • application manager module 66 accesses database 68 via 69 to ascertain the category of the selected application forming request 52.
  • Application manager module 66 provides as an output 70, the category of the selected application at step 72.
  • Application manager module 66 can also provide a "null" value, or other selected value, if the selected application belongs to the "unknown" category.
  • applications generally can be classified as “legacy” and “non-legacy” applications.
  • “legacy” refers to applications that cannot or will not honor requests from parental control module 50 to stop execution. This aspect is discussed below. In contrast,
  • Non-legacy applications refer to applications that accept and honor requests to stop execution.
  • Database 68 can store category information for both "legacy” and “non-legacy” applications.
  • the application is "registered” with application manager module 66, wherein category information is recorded in database 68.
  • the category information can be automatically included in database 68 upon installation of the application on computer 10.
  • the categories can be chosen by the software developer and read from the installation data. One or more categories may be considered relevant for each application. For instance, a software developer may consider a particular application to be both entertainment and entertainment/educational.
  • application manager module 66 or parental control module 50 can include editing routines with suitable user interfaces to allow the parent or guardian to override the initial categorizations .
  • database 68 can also include category information for applications that are not currently stored on, or registered with, computer 10. In this manner, if computer 10 is directed to execute an application, such as another legacy application that was unknown to the parent or guardian, parental control module 50 will obtain information about the application from database 68 for use in determining whether the application should be executed. Database 68 can be periodically updated with new information about new or old applications as desired. Updates to database 68 can be through any of the mass storage devices depicted in Fig. 1, or such information can be obtained remotely and downloaded, such as from the Internet .
  • parental control module 50 accesses database 54 and obtains control information as a function of the category information obtained from database 68.
  • control information in database 54 indicates whether or not a category of applications is executable. If the category of applications is executable, parental control module 50 may also obtain current time and date information 76 (Fig. 2) from suitable resources of computer 10 in order to ascertain if the selected application forming request 52 can be executed at the present time. If desired, database 54 can store information pertaining to the total time that computer 10 has been used to execute each category of applications. Parental control module 50 can then ascertain if any time remains for executing a specific category of applications. Step 74 generally denotes examination of the control information for the category information provided at step 72.
  • control parameters in the control information can vary from category to category, using various forms. For example, without limiting the present invention, some categories may be executable at any time of the day, while certain users may never execute other applications falling in other categories. Likewise, certain categories can be designated for execution only during certain times of the week or day. In addition to, or in the alternative, other parameters, such as duration of execution in a week or a day can also be set for each category of applications and used to control execution. Based on the control information for the category corresponding to request 52, the request to execute the selected application is denied at step 76, or permitted at step 78. It should be noted that if the request is denied, communication to the user can be performed using a number of techniques.
  • parental control module 50 can display a suitable dialogue box on the monitor 37 stating that the request has been denied and the reason for denial . If the request was denied based on an inappropriate time to execute the selected application, a suggested time that the user can return to the computer for execution can also be displayed. If desired, any or all of this information can be provided to the application forming the request 42 wherein the application displays the information to the user.
  • Another aspect of the present invention includes monitoring execution of a selected application and providing an output, based on the control information stored in database 54, indicating that the executing application should be terminated or at least hindered in order to encourage the computer user to stop execution.
  • applications can be classified into one of two categories “legacy” and “non-legacy” .
  • Non-legacy applications are designed to work with parental control module 50, and thus, will honor requests that the applications terminate execution.
  • Parental control module 50 can provide the request to terminate execution using any of a number of techniques. Based on the current time, the duration of execution or other control parameters, parental control module 50 can monitor these parameters with respect to control information for the category of the application executing.
  • parental control module 50 can provide a message request to the application to terminate execution.
  • the application receives the message request and informs the user that execution will be terminated with any relevant information saved for later use.
  • parental control module 50 can assess the relevant control information and provide time information to the executing application indicating when the execution should be automatically terminated. This time information can be provided initially when permission is granted, or during application execution.
  • parental control module 50 can take actions designed to at least hinder execution of the application, and thus, encourage the user to stop execution.
  • parental control module 50 can initiate temporary suspension of the application and display of a dialogue box requesting that the user terminate execution. If the user does not terminate execution within a selected time period, repeated display of the dialogue box and suspension of the executing application will frustrate the user and inhibit execution.
  • Another technique for hindering execution includes reducing the priority level of the application in a multi-processing environment where simultaneous applications can be executed. Using this technique, the legacy application runs slower in order to encourage the user to terminate the application.
  • the operating system can be instructed to terminate the executing application abruptly.
  • a dialogue box can be displayed warning the user that abrupt termination will occur in a selected time period, and thus in order to save relevant data, the application should be closed.
  • the computer user may not be in front of the monitor when the dialogue box warning of abrupt termination is displayed. Therefore, in order to prevent unnecessary loss of data, the time period before abrupt termination occurs begins with acknowledgement of the user to the warning such as by the user closing the dialogue box.
  • Database 54 can be organized to accommodate multiple users wherein control information related to execution of categories can be individually set for each user. In this manner, control information such as which applications are allowed to be executed, which types or rating levels of applications are allowed to be executed, when they can be executed and for how long each category of applications can be executed, is separately adjustable for each user. For example, a parent or guardian can be given full access to all applications, while a teenager is limited in content, duration and at what times during the day execution will be allowed.
  • a set of control information can be used by parental control module 50 when a particular individual has not been identified. This allows the computer to be used by the youngest child wherein a limited set of categories are allowed. Those individuals having the ability to log in would have a unique set of control information adjusted for their needs, presumably allowing more access to executable applications.
  • Suitable user interfaces are provided to allow the parent or guardian the ability to individually adjust the set of control information for each user. For example, if a child has performed particularly well in school, additional time can be provided to execute games on the computer.

Abstract

A computer implemented method includes receiving requests (52) related to executing a selected application; accessing a database (54) having control information related to a computer user's ability to execute a category of applications; and providing an output (56) indicating whether the selected application should be executed. Instructions or routines can be provided on a computer readable medium to implement the method.

Description

(54) Title: METHOD AND SYSTEM FOR CONTROLLING EXECUTION OF COMPUTER PROGRAMS
BACKGROUND OF THE INVENTION The present invention relates to computers. More particularly, the present invention relates to 5 controlling execution of applications on a computer.
Computers are now widely found in many homes. The home computer is typically a desktop personal computer, although with greater processing power and storage capabilities, notebook computers and 10 even hand held devices may be ever more prevalent in the home. In whatever form the computer may take, the computer is a multi-purpose processing appliance that can be used by many to fulfill different needs. For instance, an adult can use the computer to maintain 15 financial or other personal information, perform online investing, perform work related tasks, etc. A school age child may use the computer for completing homework assignments, research or as a form of entertainment. Even preschoolers are being taught to use a computer
20 for educational games.
Although the computer can fulfill many needs for users of different ages, the applications stored or executed thereon are not typically appropriate for all users. In addition, the computer can be a tempting 25 distraction to children, when other activities, such as studying is desired. It is usually impossible for a parent or other guardian to monitor what the computer is being used for throughout the day. In some households, the child may even have his or her own
30 computer, for example, in his or her room. Although conveniently placed for quiet and effective studying, monitoring by the parent or guardian is highly impractical . Password protection has been used in the past to limit access to a particular application. In yet other systems, an application could be restricted to a particular time of use. However, since new applications can be installed easily on a computer, these types of systems will not prevent a child from executing other programs, which the parent or guardian may not believe is appropriate.
There thus is an ongoing need to provide computer administrators, such as parents, guardians and teachers, the ability to control applications that are executed on a computer. Such a system would allow children to use the computer at appropriate times of the day and for appropriate subject matter without imposing continuous monitoring upon the administrator.
SUMMARY OF THE INVENTION A computer implemented method includes receiving requests related to executing a selected application; accessing a database having control information related to a computer user's ability to execute a category of applications; and providing an output indicating whether the selected application should be executed. Instructions or routines can be provided on a computer readable medium to implement the method.
A second aspect of the present invention includes a computer-implemented method that accesses a database having control information related to a computer user's ability to execute a category of applications. An output is provided indicating when an executing application should be at least hindered. Instructions or routines can be provided on a computer readable medium to implement this method. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of an exemplary computing environment for the present invention.
Fig. 2 is a block diagram illustrating aspects of the present invention.
Fig. 3 is a flow chart illustrating exemplary steps of the present invention.
DETAILED DESCRIPTION OF THE ILLUSTRATIVE EMBODIMENTS
Prior to a detailed discussion of the present invention, an overview of an exemplary operating environment may be helpful. FIG. 1 and the related discussion provide a brief, general description of a suitable computing environment in which the invention can be implemented. Although not required, the invention will be described, at least in part, in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routine programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types . Tasks performed by the programs and modules are described below and with the aid of block diagrams and flow charts. Those skilled in the art can implement the descriptions, block diagrams and flow charts as processor executable instructions, which can be written on any form of a computer readable medium. In addition, those skilled in the art will appreciate that the invention can be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices .
With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional personal computer 10, including a processing unit 11, a system memory 12, and a system bus 13 that couples various system components including the system memory to the processing unit 11. The system bus 13 can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures . The system memory includes read only memory (ROM) 14 and a random access memory (RAM) 15. A basic input/output system 16 (BIOS) , containing the basic routine that helps to transfer information between elements within the personal computer 10, such as during start-up, is stored in ROM 14. The personal computer 10 further includes a hard disk drive 17 for reading from and writing to a hard disk (not shown) , a magnetic disk drive 18 for reading from or writing to a removable magnetic disk 19, and an optical disk drive 20 for reading from or writing to a removable optical disk such as a CD ROM or other optical media. The hard disk drive 17, magnetic disk drive 18, and optical disk drive 20 are connected to the system bus 13 by a hard disk drive interface 22, magnetic disk drive interface 23, and an optical drive interface 24, respectively. The drives and the associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 10.
Although the exemplary environment described herein employs the hard disk, the removable magnetic disk 19 and the removable optical disk 21, it should be appreciated by those skilled in the art that other types of computer readable media, which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories
(RAMs) , read only memory (ROM) , and the like, can also be used in the exemplary operating environment.
A number of program modules can be stored on the hard disk, magnetic disk 19, optical disk 21, ROM 14 or RAM 15, including an operating system 65, one or more application programs 26, other program modules 67, and program data 28. A user can enter commands and information into the personal computer 10 through input devices such as a keyboard 30, a handwriting tablet 31, a pointing device 32 and a microphone 33. Other input devices (not shown) can include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 11 through a serial port interface 36 that is coupled to the system bus 13, but can be connected by other interfaces, such as a sound card, a parallel port, a game port or a universal serial bus (USB) . A monitor 37 or other type of display device is also connected to the system bus 13 via an interface, such as a video adapter 38. In addition to the monitor 37, personal computers typically include other peripheral output devices such as a speaker 35 and a printer (not shown) . The personal computer 10 can operate in a networked environment using logic connections to one or more remote computers, such as a remote computer 39. The remote computer 39 can be another personal computer, a server, a router, a network PC, a peer device or other network node, and typically includes many or all of the elements described above relative to the personal computer 10, although only a memory storage device 40 has been illustrated in FIG. 1. The logic connections depicted in FIG. 1 include a local area network (LAN) 41 and a wide area network (WAN) 42. Such networking environments are commonplace in offices, enterprise-wide computer network Intranets and the Internet.
When used in a LAN networking environment, the personal computer 10 is connected to the local area network 41 through a network interface or adapter 43. When used in a WAN networking environment, the personal computer 10 typically includes a modem 44 or other means for establishing communications over the wide area network 42, such as the Internet. The modem 44, which can be internal or external, is connected to the system bus 13 via the serial port interface 36. In a network environment, program modules depicted relative to the personal computer 10, or portions thereof, can be stored in the remote memory storage devices. As appreciated by those skilled in the art, the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.
Fig. 2 schematically illustrates, in block diagram form, a parental control system or module 50 for controlling execution of applications on the computer 10. Generally, in a first aspect of the present invention, the parental control module 50 receives requests 52 related to executing a selected application. Parental control module 50 accesses a database 54 located on any of the storage devices described above. The database 54 includes control information related to a computer user's ability to execute a category of applications. For instance, control information can include at least one of a time of day and a duration of execution for each of the categories of applications. Parental control module 50 provides as an output 56 an indication as to whether the selected application forming the request 52 should be executed. The output 56 can be used by the operating system of the computer 10 to permit the application to be started. In another embodiment, the application receives the output 56 and allows further operation, if permitted.
In another aspect of the present invention, parental control module 50 monitors execution of a selected application and provides as output 56 an indication when the executing application should be terminated or at least hindered in order to encourage the computer user to stop execution. Fig. 3 illustrates the general steps described above as well as other steps that can be performed in a specific embodiment. At step 60, parental control module 50 receives the request 52 related to executing a selected application. Request 52 can originate from any one of a number of sources in various computer architectures. For instance, request 52 can originate from an application currently running on the computer 10, or from other computers communicating with computer 10 through a communications link such as a modem or a network. In one typical environment, request 52 originates from the operating system used to manage resources and data flow in the computer 10. In this example, the operating system provides information indicating which application has been selected for execution. Typically, an Application Programming Interface ("API") is used to pass the application's information between the operating system and parental control module 50. APIs are well known communication mediums for passing information between applications and/or the operating system. The information can be the name of the executable file for the selected application. In other embodiments, additional information can also be provided such as the location of the application in the computer 10 (e.g. the storage device and the folder or directory where the application is stored) , or on a remote computer connected to computer 10. In the embodiment illustrated in Fig. 2, parental control module 50 communicates with an application manager module 66. In this embodiment, application manager module 66 is used to manage information stored in a database 68 related to applications that can be executed on computer 10. It should be noted that application manager module 66 is illustrated separately; however, if desired tasks performed by application manager module 66 can be incorporated into parental control module 50.
Database 68 stores information related to applications that can be executed on computer 10. Generally, the information stored in database 68 organizes or at least categorizes the applications. For example and without limiting the present invention, applications can be categorized as entertainment applications, educational applications, multimedia applications, reference applications, educational/ entertainment applications, financial applications, etc. If desired, categories can be subdivided. For instance, entertainment applications (e.g. games, etc.) can be categorized based on content such as the level of violence depicted, or other criteria. For example, the criteria can include a rating level from a third party such as the Entertainment Software Rating Board. At step 63, application manager module 66 accesses database 68 via 69 to ascertain the category of the selected application forming request 52. Application manager module 66 provides as an output 70, the category of the selected application at step 72. Application manager module 66 can also provide a "null" value, or other selected value, if the selected application belongs to the "unknown" category. At this point, it should be mentioned that applications generally can be classified as "legacy" and "non-legacy" applications. As used herein, "legacy" refers to applications that cannot or will not honor requests from parental control module 50 to stop execution. This aspect is discussed below. In contrast,
"non-legacy" applications refer to applications that accept and honor requests to stop execution. Database 68 can store category information for both "legacy" and "non-legacy" applications. In one embodiment, when applications are stored on computer 10, the application is "registered" with application manager module 66, wherein category information is recorded in database 68. The category information can be automatically included in database 68 upon installation of the application on computer 10. The categories can be chosen by the software developer and read from the installation data. One or more categories may be considered relevant for each application. For instance, a software developer may consider a particular application to be both entertainment and entertainment/educational. If desired, application manager module 66 or parental control module 50 can include editing routines with suitable user interfaces to allow the parent or guardian to override the initial categorizations .
It should also be noted that database 68 can also include category information for applications that are not currently stored on, or registered with, computer 10. In this manner, if computer 10 is directed to execute an application, such as another legacy application that was unknown to the parent or guardian, parental control module 50 will obtain information about the application from database 68 for use in determining whether the application should be executed. Database 68 can be periodically updated with new information about new or old applications as desired. Updates to database 68 can be through any of the mass storage devices depicted in Fig. 1, or such information can be obtained remotely and downloaded, such as from the Internet .
Referring back to Fig. 3, at step 74, parental control module 50 accesses database 54 and obtains control information as a function of the category information obtained from database 68. As mentioned above, control information in database 54 indicates whether or not a category of applications is executable. If the category of applications is executable, parental control module 50 may also obtain current time and date information 76 (Fig. 2) from suitable resources of computer 10 in order to ascertain if the selected application forming request 52 can be executed at the present time. If desired, database 54 can store information pertaining to the total time that computer 10 has been used to execute each category of applications. Parental control module 50 can then ascertain if any time remains for executing a specific category of applications. Step 74 generally denotes examination of the control information for the category information provided at step 72.
As appreciated by those skilled in the art, control parameters in the control information can vary from category to category, using various forms. For example, without limiting the present invention, some categories may be executable at any time of the day, while certain users may never execute other applications falling in other categories. Likewise, certain categories can be designated for execution only during certain times of the week or day. In addition to, or in the alternative, other parameters, such as duration of execution in a week or a day can also be set for each category of applications and used to control execution. Based on the control information for the category corresponding to request 52, the request to execute the selected application is denied at step 76, or permitted at step 78. It should be noted that if the request is denied, communication to the user can be performed using a number of techniques. If desired, parental control module 50 can display a suitable dialogue box on the monitor 37 stating that the request has been denied and the reason for denial . If the request was denied based on an inappropriate time to execute the selected application, a suggested time that the user can return to the computer for execution can also be displayed. If desired, any or all of this information can be provided to the application forming the request 42 wherein the application displays the information to the user.
Another aspect of the present invention includes monitoring execution of a selected application and providing an output, based on the control information stored in database 54, indicating that the executing application should be terminated or at least hindered in order to encourage the computer user to stop execution. As discussed above, applications can be classified into one of two categories "legacy" and "non-legacy" . Non-legacy applications are designed to work with parental control module 50, and thus, will honor requests that the applications terminate execution. Parental control module 50 can provide the request to terminate execution using any of a number of techniques. Based on the current time, the duration of execution or other control parameters, parental control module 50 can monitor these parameters with respect to control information for the category of the application executing. When any one of the control parameters has been exceeded, parental control module 50 can provide a message request to the application to terminate execution. The application receives the message request and informs the user that execution will be terminated with any relevant information saved for later use. In yet other non-legacy applications, parental control module 50 can assess the relevant control information and provide time information to the executing application indicating when the execution should be automatically terminated. This time information can be provided initially when permission is granted, or during application execution.
However, legacy applications may be more difficult to terminate in view that they have not been written to honor requests from parental control module 50. Nevertheless, parental control module 50 can take actions designed to at least hinder execution of the application, and thus, encourage the user to stop execution. In one embodiment, parental control module 50 can initiate temporary suspension of the application and display of a dialogue box requesting that the user terminate execution. If the user does not terminate execution within a selected time period, repeated display of the dialogue box and suspension of the executing application will frustrate the user and inhibit execution. Another technique for hindering execution includes reducing the priority level of the application in a multi-processing environment where simultaneous applications can be executed. Using this technique, the legacy application runs slower in order to encourage the user to terminate the application.
If desired, the operating system can be instructed to terminate the executing application abruptly. In view that abrupt termination can result in loss of data, a dialogue box can be displayed warning the user that abrupt termination will occur in a selected time period, and thus in order to save relevant data, the application should be closed. In some situations, the computer user may not be in front of the monitor when the dialogue box warning of abrupt termination is displayed. Therefore, in order to prevent unnecessary loss of data, the time period before abrupt termination occurs begins with acknowledgement of the user to the warning such as by the user closing the dialogue box.
As discussed in the background section, it is common for a computer to be used by two or more individuals. In these circumstances, it is also common for some individuals to log into the computer and provide a password or other means to identify the individual to the computer. Database 54 can be organized to accommodate multiple users wherein control information related to execution of categories can be individually set for each user. In this manner, control information such as which applications are allowed to be executed, which types or rating levels of applications are allowed to be executed, when they can be executed and for how long each category of applications can be executed, is separately adjustable for each user. For example, a parent or guardian can be given full access to all applications, while a teenager is limited in content, duration and at what times during the day execution will be allowed. Some users, such as young children, may not be capable of logging into the computer and providing the necessary password. In such a case, a set of control information can be used by parental control module 50 when a particular individual has not been identified. This allows the computer to be used by the youngest child wherein a limited set of categories are allowed. Those individuals having the ability to log in would have a unique set of control information adjusted for their needs, presumably allowing more access to executable applications. Suitable user interfaces are provided to allow the parent or guardian the ability to individually adjust the set of control information for each user. For example, if a child has performed particularly well in school, additional time can be provided to execute games on the computer.
Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. A computer implemented method comprising: receiving requests related to executing a selected application; accessing a database having control information related to a computer user's ability to execute a category of applications; and providing an output indicating whether the selected application should be executed.
2. The computer implemented method of claim 1 wherein the control information comprises at least one of a time of day and duration of execution for each of the categories of applications.
3. The computer implemented method of claim 2 and further comprising receiving current time information.
4. The computer implemented method of claim 3 and further comprising receiving current date information.
5. The computer implemented method of claim 1 wherein the database includes control information for each of a plurality of users.
6. The computer implemented method of claim 5 and further comprising receiving user information capable of identifying a user of the computer, and wherein accessing the control information includes accessing the control information as a function of the user information.
7. The computer implemented method of claim 1 and further comprising providing a second output indicating when an executing application should be at least hindered.
8. The computer implemented method of claim 7 wherein providing the second output comprises providing a message to the executing application requesting the application to terminate.
9. The computer implemented method of claim 7 wherein providing the second output includes initiating a notice to the user that the executing application will be terminated at a selected time.
10. The computer implemented method of claim 9 and further comprising receiving acknowledgement by the user of the notice and initiating a timer upon receipt of the acknowledgement .
11. The computer implemented method of claim 1 wherein the control information includes allowable rating levels of applications.
12. A computer readable medium having instructions readable by a processor that when implemented comprise : receiving requests related to executing a selected application; accessing a database having control information related to a computer user's ability to execute a category of applications; and providing an output indicating whether the selected application should be executed.
13. The computer readable medium of claim 12 wherein the control information comprises at least one of a time of day and duration of execution for each of the categories of applications.
14. The computer readable medium of claim 13 and further comprising receiving current time information.
15. The computer readable medium of claim 14 and further comprising receiving current date information.
16. The computer readable medium of claim 12 wherein the database includes control information for each of a plurality of users.
17. The computer readable medium of claim 16 and further comprising receiving user information capable of identifying a user of the computer, and wherein accessing the control information includes accessing the control information as a function of the user information.
18. The computer readable medium of claim 12 and further comprising providing a second output indicating when an executing application should be at least hindered.
19. The computer readable medium of claim 18 wherein providing the second output comprises providing a message to the executing application requesting the application to terminate.
20. The computer readable medium of claim 18 wherein providing the second output includes initiating a notice to the user that the executing application will be terminated at a selected time.
21. The computer readable medium of claim 20 and further comprising receiving acknowledgement by the user of the notice and initiating a timer upon receipt of the acknowledgement .
22. The computer readable medium of claim 12 wherein the control information includes allowable rating levels of applications.
23. A computer readable medium having data and instructions comprising: a database having control information related to a computer user's ability to execute a category of applications; and a routine receiving requests related to executing a selected application, the routine accessing the database and, as a function of the control information, providing an output indicating whether the selected application should be executed.
24. The computer readable medium of claim 23 wherein the control information comprises at least one of a time of day and duration of execution for each of the categories of applications.
25. The computer readable medium of claim 24 wherein the routine receives current time information.
26. The computer readable medium of claim 25 wherein the routine receives current date information.
27. The computer readable medium of claim 23 wherein the database includes control information for each of a plurality of users.
28. The computer readable medium of claim 27 wherein the routine receives user information capable of identifying a user of the computer, the routine accessing the control information as a function of the user information.
29. The computer readable medium of claim 23 wherein the routine provides a second output indicating when an executing application should be at least hindered.
30. The computer readable medium of claim 29 wherein the second output comprises a message to the executing application requesting the application to terminate .
31. The computer readable medium of claim 29 wherein the second output initiates a notice to the user that the executing application will be terminated within a prescribed time period.
32. The computer readable medium of claim 31 wherein the routine receives acknowledgement by the user of the notice, the routine initiating a timer upon receipt of the acknowledgement.
33. A computer implemented method comprising: accessing a database having control information related to a computer user's ability to execute a category of applications; and providing an output indicating when an executing application should be at least hindered.
34. The computer implemented method of claim 33 wherein the control information comprises at least one of a time of day and duration of execution for each of the categories of applications.
35. The computer implemented method of claim 33 wherein providing the output comprises providing a message to the executing application requesting the application to terminate.
36. The computer implemented method of claim 33 wherein providing the output includes initiating a notice to the user that the executing application will be terminated at a selected time.
37. The computer implemented method of claim 36 and further comprising receiving acknowledgement by the user of the notice and initiating a timer upon receipt of the acknowledgement .
38. A computer readable medium having instructions readable by a processor that when implemented comprise: accessing a database having control information related to a computer user's ability to execute a category of applications; and providing an output indicating when an executing application should be at least hindered.
39. The computer readable medium of claim 38 wherein the control information comprises at least one of a time of day and duration of execution for each of the categories of applications.
40. The computer readable medium of claim 38 wherein providing the output comprises providing a message to the executing application requesting the application to terminate.
41. The computer readable medium of claim 38 wherein providing the output includes initiating a notice to the user that the executing application will be terminated at a selected time.
42. The computer readable medium of claim 41 and further comprising receiving acknowledgement by the user of the notice and initiating a timer upon receipt of the acknowledgement .
43. A computer readable medium having data and instructions comprising: a database having control information related to a computer user's ability to execute a category of applications; and a routine accessing the database and, as a function of the control information, providing an output indicating when an executing application should be at least hindered.
44. The computer readable medium of claim 43 wherein the control information comprises at least one of a time of day and duration of execution for each of the categories of applications.
45. The computer readable medium of claim 43 wherein the output comprises a message to the executing application requesting the application to terminate.
46. The computer readable medium of claim 43 wherein the output initiates a notice to the user that the executing application will be terminated at a selected time.
47. The computer readable medium of claim 46 wherein the routine receives acknowledgement by the user of the notice, the routine initiating a timer upon receipt of the acknowledgement .
PCT/US2000/008868 1999-04-06 2000-04-04 Method and system for controlling execution of computer programs WO2000060434A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU40681/00A AU4068100A (en) 1999-04-06 2000-04-04 Method and system for controlling execution of computer programs

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12796899P 1999-04-06 1999-04-06
US60/127,968 1999-04-06

Publications (1)

Publication Number Publication Date
WO2000060434A1 true WO2000060434A1 (en) 2000-10-12

Family

ID=22432915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/008868 WO2000060434A1 (en) 1999-04-06 2000-04-04 Method and system for controlling execution of computer programs

Country Status (2)

Country Link
AU (1) AU4068100A (en)
WO (1) WO2000060434A1 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387235A1 (en) * 2002-08-02 2004-02-04 Aladdin Knowledge Systems GmbH& Co. KG Method for operating a computer system and computer system
WO2004074957A3 (en) * 2003-02-21 2004-10-28 Research In Motion Ltd System and method of multiple-level control of electronic devices
US7076239B2 (en) 2002-11-08 2006-07-11 Research In Motion Limited System and method of connection control for wireless mobile communication devices
NL1030579C2 (en) * 2005-12-02 2007-06-05 Gils Beheer B V Van Method, system and data carrier for limiting the use of an application.
US7793355B2 (en) 2002-12-12 2010-09-07 Reasearch In Motion Limited System and method of owner control of electronic devices
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US8099060B2 (en) 2004-10-29 2012-01-17 Research In Motion Limited Wireless/wired mobile communication device with option to automatically block wireless communication when connected for wired communication
US8332906B2 (en) 2006-02-27 2012-12-11 Research In Motion Limited Method of customizing a standardized IT policy
USRE44746E1 (en) 2004-04-30 2014-02-04 Blackberry Limited System and method for handling data transfers
WO2014052934A2 (en) 2012-09-28 2014-04-03 Robb Fujioka Tablet computer
US8887988B2 (en) 2004-04-30 2014-11-18 Blackberry Limited System and method of owner application control of electronic devices
US9065771B2 (en) 2012-10-24 2015-06-23 Blackberry Limited Managing application execution and data access on a device
US9075955B2 (en) 2012-10-24 2015-07-07 Blackberry Limited Managing permission settings applied to applications
US9161226B2 (en) 2011-10-17 2015-10-13 Blackberry Limited Associating services to perimeters
US9282099B2 (en) 2005-06-29 2016-03-08 Blackberry Limited System and method for privilege management and revocation
US9369466B2 (en) 2012-06-21 2016-06-14 Blackberry Limited Managing use of network resources
US9497220B2 (en) 2011-10-17 2016-11-15 Blackberry Limited Dynamically generating perimeters
EP2972835A4 (en) * 2013-03-15 2017-01-18 Fuhu Holdings, Inc. Tablet computer
US9720915B2 (en) 2011-11-11 2017-08-01 Blackberry Limited Presenting metadata from multiple perimeters
US10848520B2 (en) 2011-11-10 2020-11-24 Blackberry Limited Managing access to resources

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014234A (en) * 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
EP0828209A2 (en) * 1996-09-04 1998-03-11 Samsung Electronics Co., Ltd. A computer system having a function for intercepting lewd/violent programs and method for controlling access of such lewd/violent programs
US5809230A (en) * 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014234A (en) * 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
US5809230A (en) * 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources
EP0828209A2 (en) * 1996-09-04 1998-03-11 Samsung Electronics Co., Ltd. A computer system having a function for intercepting lewd/violent programs and method for controlling access of such lewd/violent programs

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191325B2 (en) 2002-08-02 2007-03-13 Aladdin Knowledge Systems (Deutschland) Gmbh Method of operating a computer system and a computer system including a predetermined run authorization
EP1387235A1 (en) * 2002-08-02 2004-02-04 Aladdin Knowledge Systems GmbH& Co. KG Method for operating a computer system and computer system
US8626139B2 (en) 2002-11-08 2014-01-07 Blackberry Limited System and method of connection control for wireless mobile communication devices
US7076239B2 (en) 2002-11-08 2006-07-11 Research In Motion Limited System and method of connection control for wireless mobile communication devices
US7330712B2 (en) 2002-11-08 2008-02-12 Research In Motion Limited System and method of connection control for wireless mobile communication devices
US10474841B2 (en) 2002-12-12 2019-11-12 Blackberry Limited System and method of owner application control of electronic devices
US9033216B2 (en) 2002-12-12 2015-05-19 Blackberry Limited System and method of owner application control of electronic devices
US8302185B2 (en) 2002-12-12 2012-10-30 Research In Motion Limited System and method of owner control of electronic devices
US9542571B2 (en) 2002-12-12 2017-01-10 Blackberry Limited System and method of owner application control of electronic devices
US7793355B2 (en) 2002-12-12 2010-09-07 Reasearch In Motion Limited System and method of owner control of electronic devices
EP2182465A3 (en) * 2003-02-21 2010-08-11 Research In Motion Limited System and method of multiple-level control of electronic devices
CN100349087C (en) * 2003-02-21 2007-11-14 捷讯研究有限公司 System and method of multiple-level control of electronic devices
US8429410B2 (en) 2003-02-21 2013-04-23 Research In Motion Limited System and method of installing software applications on electronic devices
WO2004074957A3 (en) * 2003-02-21 2004-10-28 Research In Motion Ltd System and method of multiple-level control of electronic devices
USRE44746E1 (en) 2004-04-30 2014-02-04 Blackberry Limited System and method for handling data transfers
USRE48679E1 (en) 2004-04-30 2021-08-10 Blackberry Limited System and method for handling data transfers
USRE46083E1 (en) 2004-04-30 2016-07-26 Blackberry Limited System and method for handling data transfers
USRE49721E1 (en) 2004-04-30 2023-11-07 Blackberry Limited System and method for handling data transfers
US8887988B2 (en) 2004-04-30 2014-11-18 Blackberry Limited System and method of owner application control of electronic devices
US8099060B2 (en) 2004-10-29 2012-01-17 Research In Motion Limited Wireless/wired mobile communication device with option to automatically block wireless communication when connected for wired communication
US8583056B2 (en) 2004-10-29 2013-11-12 Blackberry Limited Wireless/wired mobile communication device with option to automatically block wireless communication when connected for wired communication
US10515195B2 (en) 2005-06-29 2019-12-24 Blackberry Limited Privilege management and revocation
US9282099B2 (en) 2005-06-29 2016-03-08 Blackberry Limited System and method for privilege management and revocation
US9734308B2 (en) 2005-06-29 2017-08-15 Blackberry Limited Privilege management and revocation
US8254884B2 (en) 2005-11-21 2012-08-28 Research In Motion Limited System and method for application program operation on a wireless device
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
NL1030579C2 (en) * 2005-12-02 2007-06-05 Gils Beheer B V Van Method, system and data carrier for limiting the use of an application.
WO2007064200A1 (en) * 2005-12-02 2007-06-07 Van Gils Beheer B.V. Method, system and data carrier for limiting the use of an application
US8332906B2 (en) 2006-02-27 2012-12-11 Research In Motion Limited Method of customizing a standardized IT policy
US8544057B2 (en) 2006-02-27 2013-09-24 Blackberry Limited Method of customizing a standardized IT policy
US9621587B2 (en) 2006-02-27 2017-04-11 Blackberry Limited Method of customizing a standardized IT policy
US9161226B2 (en) 2011-10-17 2015-10-13 Blackberry Limited Associating services to perimeters
US9497220B2 (en) 2011-10-17 2016-11-15 Blackberry Limited Dynamically generating perimeters
US9402184B2 (en) 2011-10-17 2016-07-26 Blackberry Limited Associating services to perimeters
US10735964B2 (en) 2011-10-17 2020-08-04 Blackberry Limited Associating services to perimeters
US10848520B2 (en) 2011-11-10 2020-11-24 Blackberry Limited Managing access to resources
US9720915B2 (en) 2011-11-11 2017-08-01 Blackberry Limited Presenting metadata from multiple perimeters
US11032283B2 (en) 2012-06-21 2021-06-08 Blackberry Limited Managing use of network resources
US9369466B2 (en) 2012-06-21 2016-06-14 Blackberry Limited Managing use of network resources
WO2014052934A2 (en) 2012-09-28 2014-04-03 Robb Fujioka Tablet computer
EP2901261A4 (en) * 2012-09-28 2016-05-18 Robb Fujioka Tablet computer
US9075955B2 (en) 2012-10-24 2015-07-07 Blackberry Limited Managing permission settings applied to applications
US9065771B2 (en) 2012-10-24 2015-06-23 Blackberry Limited Managing application execution and data access on a device
EP2972835A4 (en) * 2013-03-15 2017-01-18 Fuhu Holdings, Inc. Tablet computer

Also Published As

Publication number Publication date
AU4068100A (en) 2000-10-23

Similar Documents

Publication Publication Date Title
WO2000060434A1 (en) Method and system for controlling execution of computer programs
US8286254B2 (en) Behavioral learning for interactive user security
Garfinkel et al. Practical UNIX and Internet security
US10581919B2 (en) Access control monitoring through policy management
US9300675B2 (en) Method and apparatus for custodial monitoring, filtering, and approving of content
RU2336561C2 (en) Content filtering in process of web-viewing
US7188254B2 (en) Peer-to-peer authorization method
US6564327B1 (en) Method of and system for controlling internet access
US11503035B2 (en) Multi-user permission strategy to access sensitive information
US8201224B1 (en) Systems and methods for temporarily adjusting control settings on computing devices
US9130822B2 (en) Method, system and computer program product for interception, quarantine and moderation of internal communications of uncontrolled systems
KR20040002737A (en) Parental controls customization and notification
US20210073399A1 (en) Data policies for online services
JP2001175348A (en) Time limitter for use of application
US20140047523A1 (en) Browser Session Privacy Lock
Nathans Designing and building security operations center
US20220245277A1 (en) Dynamic access control for sensitive information
Moallem Cybersecurity Awareness Among Students and Faculty
US7114081B2 (en) Outside leakage preventing system of confidential information
Banfield A study of information security awareness program effectiveness in predicting end-user security behavior
Cotterill et al. Cyber Security Capabilities and Requirements for a User Interface Supporting the Routines of Retirement Village Residents across US and UK
Ongers Securing Software Development using Developer Access Control
Chung Development of an integrated chat monitoring and web filtering parental control for child online supervision
Strupp et al. Specificity of the cognitive dysfunction produced by low-level lead (Pb) exposure.
Ehlers Secure Communications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP