Abstract:
In general, in one aspect, the invention features a system for operating the computer in any of at least two different interactive modes, along with a switch having at least two states. An access control device allows a user to change the state of the switch, for changing which interactive mode is currently active.

Description:
This is a continuation of application Ser. No. 08/339,840, filed Nov. 15, 1994, now abandoned. 
    
    
     BACKGROUND 
     This invention relates to computer resource regulation. For example, when a child and an adult share the same computer, the child sometimes accidentally (or deliberately) accesses and misuses (even ruins) programs and data belonging to the adult. One way to regulate the child&#39;s use is to password protect the adult&#39;s files. The adult must enter the password via the keyboard each time he wants to use one of the files. The child may overcome even such password protection, unintentionally or deliberately. Another way to regulate the child&#39;s use is to provide a special child&#39;s interactive environment, different from the normal adult environment. The adult can switch back and forth between the two by entering a password or a special key combination. In a commercial context, it may also be useful to provide different interactive environments for different adult users of a single computer. 
     SUMMARY 
     In general, in one aspect, the invention features a system for operating the computer in any of at least two different interactive modes, along with a switch having at least two states. An access control device allows a user to change the state of the switch, for changing which interactive mode is currently active. 
     Implementations of the invention may include the following features. The access control device may comprise a mechanical key-operated lock and a key, a dedicated input device for entering a security code, a magnetic stripe reader, a token reader and a set of tokens that can be read by the reader, each token being associated with one of the modes, or a PCMCIA card input device and PCMCIA card. The two different interactive modes may comprise two different graphical user interfaces that include graphical elements representing two different sets of applications. One of the graphical user interfaces may be configured for use by a child and the other graphical user interface may be configured for use by an adult. The system may be configured such that the user cannot change the active mode except by changing the state of the switch. The system may allow for more than two different interactive modes, where the switch allows a user to cause any of the modes to be active. 
     The switch may comprise an electromechanical switch having at least two positions and computer circuitry which periodically detects the current position of the electromechanical switch and provides an interrupt signal to a microprocessor of the computer when a change of switch position is detected. The switch may comprise an electromechanical switch that has at least two positions, and instructions in the computer boot sequence which, during boot-up, detect the current position of the electromechanical switch and trigger a corresponding one of at least two different boot-up routines depending upon the current position of the switch. 
     The system for operating the computer may comprise a windowed operating system in which available applications are represented by displayed icons, with the two different interactive modes represented by two different sets of displayed icons. In addition, the switch and access control device may be housed in a unit that connects to a communication port of the computer. 
     In general, in another aspect, the invention features a method for regulating use of a personal computer. The personal computer is able to be operated in any of at least two different interactive modes, whereby only an authorized user is given secured access to change the state of a mode switch, and the interactive mode changes in response to a change in the state of the mode switch. 
     Implementations of the invention may include the following features. Changing the interactive mode may display a different graphical user interface that includes graphical elements representing available applications. The system may be configured such that the user cannot change the interactive mode except by changing the state of the mode switch. The interactive mode may be changed by periodically detecting the current state of the mode switch, or providing an interrupt signal to a microprocessor of the computer when the current state has changed. Or the interactive mode may be changed by detecting the current state of the mode switch, and triggering a corresponding one of at least two different boot-up routines depending upon the current state of the switch. 
     Among the advantages of the invention are the following. The computer resource security system may allow easy switching between a resource-rich adult environment and a limited-resource child environment. The child environment can prevent accidental harm to files and programs, and may be configured to lead a child through a series of exercises or games. Use of key switches or other similar physical access devices eliminates the need to remember easily forgotten passwords, and these physical devices immediately instruct a supervising adult about the state of the computer. Furthermore, a child cannot simply reboot the machine, or decode a password, to gain access to the adult resources, and the computer environment can be changed even when the computer is not operating. Sophisticated sets of keys or tokens may be used to change the computer system to a number of different states, allowing different users access to different complements of programs and resources. PCMCIA cards containing non-volatile memory can store the last state of the machine for a given user, allowing immediate re-entry into a given program. 
     Other advantages and features of the invention will become apparent from the following description and from the claims. 
    
    
     DESCRIPTION 
     FIGS. 1a and 1b are representations of a personal computer configured to display adult and child graphical environments. 
     FIG. 2 is a schematic diagram of a computer resource regulation system. 
     FIG. 3 is a schematic diagram of a computer resource regulation system having N switchable virtual machine environments. 
     FIG. 4 is a flow chart of a boot sequence for loading a selected computer environment. 
     FIG. 5 is a flow chart of an operation sequence for loading a selected computer environment. 
     FIG. 6 is a schematic diagram of a computer resource regulation system connected through a communications port. 
     FIGS. 7a, 7b, 7c and 7d are representations of alternative security input devices. 
    
    
     Referring to FIGS. 1a and 1b, a personal computer 10 has a key switch 20 having a position &#34;1&#34; (FIG. 1a), where the computer 10 displays a conventional full-ccess computer interface 22a (for example, the Program Manager™ provide by Microsoft® Windows™) for use by an adult, and a position &#34;2&#34; (FIG. 1b), where the computer displays an interface 22b appropriate, e.g., for a child. Switching between interfaces is rapidly accomplished by inserting a key into switch 20, since switch 20 is a key operated device with electrical contacts. 
     The particular windowed &#34;adult&#34; environment 22a displayed on monitor 14 allows a small graphical cursor 24a to access any number of programs 26 and documents or files 28 (&#34;applications&#34;), through keyboard 16 and mouse input device 18. An exemplary child environment 22b might provide a larger cursor 24b that can access only preset programs and commands 30 (also &#34;applications&#34;). The child would be prevented from accessing the full range of programs and data files available in the adult environment 22a. Thus, the child would not be able generally to access all the computer files, nor could the child open, copy, move or delete such program and data files. A child environment focuses children&#39;s attention onto program materials appropriate for their age, and assures adults that the child cannot disrupt the computer&#39;s other uses. 
     The use of the switch 20 to effect these protections has several advantages. The adult user does not have to remember easily forgotten passwords. Such passwords are also easily discovered by curious children who peek when asked not to. The adult need only keep a single key to regulate access to the computer. In addition, the use of a physical key immediately instructs the adult user of the state of the machine: if the switch is in position 2, it is safe for child use. Furthermore, the access regulation provided by the present invention works at all times. A child cannot simply reboot the system to gain access to the adult environment: so long as the key switch is in the second position, the computer will only provide access to the child environment. The physical switch and thereby the current environment can be changed even when the computer is not running. 
     Referring to FIG. 2, when a computer user activates the security input device 20 (for example, by inserting key 21 into a key switch 20), this sends a state signal 23 that changes the state of the input register 36. The state of input register 36 may be as simple as a single binary digit: 0 for adult, 1 for child. For speed, the two separate adult and child environments would be present in RAM 34 as two memory areas representing two virtual machines, VM1 and VM2 (38a and 38b respectively). 
     The switching between virtual machines is shown in FIG. 3, where a first operating system program layer 42 periodically tests the value of register 36 to determine which virtual machine to make active. For example, virtual machine 44a (contained in memory area 38a) might be initially active, while the adult operates the computer. Virtual machine 44a could be a full-fledged Windows™ system, allowing complete access to all programs and files in a graphical user interface. When the adult user inserts a key 21 or otherwise accesses the security input device 20, changing the state of register 36, the operating system 42 changes the currently running virtual machine to virtual machine 44b (contained in memory area 38b). The computer then displays a limited graphical interface suited to a child at a particular age level, an interface that disallows accessing and changing important (but for the child unessential) files. 
     The system may be generalized to provide N virtual machines 44 N . For example, the key switch used for the security input device 20 can have a number of positions, one for each user of the computer. The state of register 36 would then reflect which user&#39;s virtual machine should be active. Each child could have an environment tailored to his or her own age. In more elaborate implementations, each virtual machine would remember where each child had left off. If a child was in the midst of a particular lesson while the adult had to take over the computer, a simple turn of the key switch 20 would place the particular child to the place last left, while securing the computer from any harm. Other children would have their own placemarks retained. In another use, the adult could preconfigure the child environment to start with a certain lesson whenever the child next uses the computer. 
     This security system finds applications in work environments as well, where different computer users are allowed access to different computer resources. For example, a payroll executive would be allowed access to all of the system files (analogous to the adult environment of virtual machine 44a), while, with the turn of a switch, her secretary would be allowed to access only a restricted set of materials (analogous to the child environment of virtual machine 44b), and not discover files relating to co-worker salaries. 
     Referring to FIGS. 4 and 5, during boot-up 46, an initial conventional boot routine 48 is run. Typically, such routines are contained in the boot ROM 40 on the motherboard of the personal computer 10. After the initial boot routine, the register 36 is checked 50 to find the current switch state. Based upon the state of register 36, the appropriate environment is loaded 52, initially from a non-volatile memory source such as an electromagnetic or optical disk drive. Once loaded, the selected environment (for example, the child environment) is then run 54. 
     After boot-up, and during normal operation, the sequence 56 shown in FIG. 5 is employed. The currently selected environment is allowed to run 58. At preselected intervals, register 36 is checked 60 for its current state. The current register state is compared 62 with its last state. If the security input device 20 has been changed (for example, the adult has inserted her key and moved it to the adult position), the system loads 64 the new selected environment and runs 58 this new environment. The new environment may have already been run before during the session, in which case it might be conveniently accessed from RAM as a virtual machine. Otherwise, the new environment will also need to be loaded from a non-volatile memory source. If the security input device 20 has not been changed, the current environment is simply allowed to continue running 58, until the next time the switch register is checked 60. 
     Other embodiments are within the scope of the following claims. Different &#34;adult&#34; and &#34;child&#34; operating systems may be employed, e.g., Macintosh, UNIX and other sophisticated operating systems could be swapped with respective limited versions. Register 36 may be hardwired onto the computer motherboard, placed on an add-on board to existing computers, incorporated into the security input device 20, or created in RAM 34 during computer operation. The security input device with or without the register, might be attached to the computer as a unit 70 (as in FIG. 6) through an already existing communications port 72. Instead of periodically interrogating register 36 to determine if its state has changed, an interrupt signal may be immediately dispatched to the operating system to change the operating environment. Furthermore, other procedures for loading, running and unloading each operating environment may be used. 
     Other security input devices may be used, such as a mechanical key-operated lock using a set of different keys 21, one for each user of the computer. Each key would encode the system with the key owner&#39;s identity, and set the appropriate environment. Or a magnetically-striped card reader 74 (FIG. 7a) may be used: again, each user would have a unique card 76 for his identity and respective environment. A dedicated separate alphanumeric code pad 78 (FIG. 7b) might also be used to input a code to change the state of the computer. A set of hole-punched keys 82 (FIG. 7c), or tokens, might be issued to each computer user, with the security input device comprising a hole-punch key reader 80. Or the security input device might comprise a PCMCIA slot 84 (FIG. 7d) or the like. Each user would be issued a coded PCMCIA card 86 to unlock and use the computer. Each PCMCIA security card 86 might also provide long-term storage memory for the state of the computer when the user last worked on it. For those security input devices that do not mechanically remain in the same state during computer shut-down or rebooting, provision may be made to retain the current environment state in register 36, through, e.g., a low-level maintenance current.