Claims
- 1. A method for a computer repairing itself to an operational status at any time during operation, the method comprising the computer-executed steps of:
booting from a first hard disk drive boot device disposed within a main computer hardware box of the computer; then, in response to a signal indicating a need for repair of the computer during the booting or during any operating state, booting from a second hard disk drive boot device also disposed within the main computer hardware box of the computer prior to the signal indicating a need for repair; and then repairing software on the first hard disk drive boot device while booted from the second hard disk drive boot device and selectively either: (i) maintaining operation of the computer from the second boot device to restore operational status of the computer during repairing of the software on the first hard disk device, or (ii) changing to operation of the computer from the second boot device to the first boot device to restore operational status of the computer.
- 2. The method of claim 1, wherein the step of repairing software further comprises:
copying software from a device other than the first boot device onto the first boot device.
- 3. The method of claim 2, wherein the step of copying software further comprises:
copying any of application, operating-system and repair-process software.
- 4. The method of claim 2, wherein the step of copying software further comprises:
copying any of a boot record, a partition table, and a basic input-output system (BIOS).
- 5. The method of claim 2, wherein the step of repairing software further comprises:
copying software from the second boot device onto the first boot device.
- 6. The method of claim 5, wherein the step of repairing software further comprises:
copying one of template, backup and archive software from a device other than the first boot device onto the first boot device.
- 7. The method of claim 6, wherein the step of repairing comprises:
copying one of template, backup and archive software from the second boot device onto the first boot device.
- 8. The method of claim 1, wherein the step of booting from a second boot device comprises:
switching the second boot device, thereby making the second boot device bootable.
- 9. The method of claim 8, wherein the step of switching comprises:
generating the signal indicating a need for repair.
- 10. The method of claim 8, wherein the step of booting from a second boot device comprises:
logically switching the second boot device.
- 11. The method of claim 8, wherein the step of booting from a second boot device comprises:
physically switching the second boot device.
- 12. The method of claim 11, wherein the step of physically switching comprises:
altering identification jumpers of a data storage device to be switched.
- 13. The method of claim 11, wherein the step of physically switching comprises:
turning on or off the power to a data storage device to be switched.
- 14. The method of claim 1, wherein the signal is generated by a user altering the state of a physical switch different from an on-off switch of the computer and exposed on an exterior surface of the main computer hardware box of the computer.
- 15. The method of claim 1, wherein the step of repairing software comprises:
automatically repairing software on the first boot device.
- 16. The method of claim 15, wherein the step of automatically repairing software comprises:
automatically repairing software on the first boot device without further direction from the user.
- 17. The method of claim 15, wherein the step of automatically repairing software comprises:
repairing software on the first boot device according to preset preferences.
- 18. The method of claim 17, wherein the repairing according to preset preferences comprises:
repairing according to whether
to recover data; to run a virus check; to reformat the first boot device; to revert to a backup; or to run diagnostics.
- 19. The method of claim 1, wherein the step of repairing software comprises:
reformatting the first boot device; and then copying software onto the first boot device.
- 20. The method of claim 1, wherein the step of repairing software comprises:
resetting parameters in a persistent memory; and then copying software onto the first boot device.
- 21. The method of claim 1, further comprising the step of:
directing a user to re-boot from the first boot device.
- 22. The method of claim 1, wherein before the step of booting from the second boot device, the following step is performed: installing software onto the second boot device.
- 23. The method of claim 22, wherein the step of installing software onto the second boot device comprises one method from the following set of methods:
a. installing software onto the second boot device; b. copying installed software onto the second boot device; c. copying installation software onto the second boot device; and d. writing onto the second boot device a version of an operating environment running as a result of the boot from the first boot device.
- 24. The method of claim 22, wherein the step of installing software onto the second boot device comprises one method from the following set of methods:
a. installing software onto the second boot device; b. copying installed software onto the second boot device; c. copying installation software onto the second boot device; and d. writing onto the second boot device a template of an operating environment running as a result of the boot from the first boot device.
- 25. The method of claim 22, wherein after the step of installing and before the step of booting from the second boot device, the following step is performed:
updating the software installed onto the second boot device.
- 26. The method of claim 22, wherein after the step of installing and before the step of booting from the second boot device, the following step is performed:
protecting the second boot device from further modification.
- 27. The method of claim 26, wherein the step of protecting comprises one of:
switching the second boot device to a state of unavailability; and switching the second boot device to a read-only state.
- 28. The method of claim 1, wherein before the step of repairing software the following step is performed:
offering a user a choice of thoroughness of repair.
- 29. The method of claim 1, wherein before the step of booting from the second boot device, the following step is performed:
automatically monitoring an operating environment running as a result of the booting from the first boot device.
- 30. The method of claim 29, further comprising the step of:
detecting an undesirable change in the operating environment; and generating the signal indicating a need for repair in response to the detection.
- 31. The method of claim 1, wherein before the step of booting from the second boot device, the following step is performed:
automatically searching for boot devices.
- 32. The method of claim 1, wherein:
the step of repairing software further comprises copying software from the second boot device onto the first boot device; the step of copying software further comprises copying any of application, operating-system and repair-process software, and copying any of a boot record, a partition table, and a basic input-output system (BIOS); the step of repairing software further comprises copying one of template, backup and archive software from a device other than the first boot device onto the first boot device; the step of repairing comprises copying one of template, backup and archive software from the second boot device onto the first boot device; the step of booting from a second boot device comprises switching the second boot device to make the second boot device bootable; the step of switching comprises generating the signal indicating a need for repair; the step of booting from a second boot device comprises one of logically switching the second boot device, and physically switching the second boot device; and the step of physically switching comprises altering identification jumpers of a data storage device to be switched, or turning on or off the power to a data storage device to be switched; the signal is generated by a user altering the state of a physical switch different from an on-off switch of the computer and exposed on an exterior surface of the main computer hardware box of the computer; and the step of repairing software comprises automatically repairing software on the first boot device without further direction from the user according to preset preferences, the preset preferences selected from the set consisting of repairing according to whether (i) to recover data, (ii) to run a virus check, (iii) to reformat the first boot device, (iv) to revert to a backup; (v) to run diagnostics, and (vi) combinations thereof.
- 33. The method of claim 32, wherein the step of repairing software further comprises:
reformatting the first boot device; and then copying software onto the first boot device.
- 34. The method of claim 32, wherein the step of repairing software further comprises:
resetting parameters in a persistent memory; and then copying software onto the first boot device.
- 35. The method of claim 1, wherein before the step of repairing software the following step is performed: offering a user a choice of thoroughness of repair selected from the set of repairs consisting of a quick repair that re-installs or copies template software without first re-formatting, a better repair that performs a high-level re-format before that copy or re-installation of software, and a best repair that performs a low-level re-format before copying over or re-installing software.
- 36. A computer comprising:
a main computer hardware box; a CPU disposed within the main computer hardware box; a memory disposed within the main computer hardware box; first and second controllers for respective first and second hard disk drive data storage devices disposed within the main computer hardware box; a bus, communicatively coupling the CPU, memory and first and second controllers; and a switch, communicatively coupled to the second hard disk drive data storage device, for altering the accessibility of the second data storage device to the CPU and exposed through the main computer hardware box or at a surface of the main computer hardware box for manipulation by a user.
- 37. The computer of claim 36, wherein the second data storage device contains one of a backup and a master template.
- 38. The computer of claim 36, further comprising
a power supply, for powering the CPU and the switch.
- 39. The computer of claim 38 wherein the power supply comprises:
the power supply, for powering the switch when not powering the CPU.
- 40. The computer of claim 36, wherein the switch is mechanical.
- 41. The computer of claim 36, wherein the switch is at least partially software.
- 42. The computer of claim 36, the switch comprising:
a switch for switching an identification setting of the second data store.
- 43. The computer of claim 36, the switch comprising:
a switch for switching power to the second data store.
- 44. The computer of claim 36, further comprising:
an output device.
- 45. The computer of claim 41, wherein the output device comprises one from the set comprising a CRT, an LED, and an LCD.
- 46. The computer of claim 36, wherein the second data storage device comprises:
a read-only data storage device.
- 47. The computer of claim 36, wherein the second data storage device comprises:
an externally located data storage device.
- 48. The computer of claim 36, wherein the second data storage device comprises:
a data storage device located over a network.
- 49. The computer of claim 36, wherein the second data storage device comprises:
a data storage device co-located with the first data storage device.
- 50. The computer of claim 36, wherein the switch comprises:
a controller for monitoring the first and second data storage devices to prevent damage to the first or second data storage device during switching.
- 51. A computer system comprising:
a plurality of data stores including at least one protected data store; a plurality of switching system for communicatively coupling at least one source with a plurality of destinations, including a data store switch system wherein said source is a data store source, and a I/O switch system wherein said source is a peripheral source; a plurality of computing environments for performing a processing activity independently of another computing environment, each said computing environment is identified by at least one trait selected from a plurality of traits, coupled between said data store switch system and said I/O switch system, wherein said destination is said computing environment, said switching system communicatively couples said source and said destination according to said traits; at least one control computing environment selected from said plurality of computing environments for configuring said switch configuration according to said processing activity and said traits, communicatively coupled with said protected data store; and at least one user computing environment selected from said plurality of computing environments, wherein said processing activity is not performed on said protected data store.
- 52. The computer system of claim 51, wherein said computing system is further comprises:
a main computer hardware box; a CPU disposed within the main computer hardware box; a memory disposed within the main computer hardware box; said data store switch system coupled between said memory and said CPU, said I/O switch system coupled between said peripheral and said CPU, said plurality of switching systems disposed within the main computer hardware box; and a bus, communicatively coupling the CPU, memory, data store switch system, and I/O switch system.
- 53. The computer system of claim 51, wherein said computing system further comprises:
a main computer hardware box; at least three CPUs including a control computing CPU and a plurality of user computing CPUs, said CPUs disposed within the main computer hardware box; at least three memories disposed within the main computer hardware box; said data store switch system coupled between said memories and said CPUs, said I/O switch system coupled between said peripheral and said CPUs, said plurality of switching systems disposed within the main computer hardware box; and a bus, communicatively coupling the CPUs, the memories, the data store switch system, and the I/O switch system, wherein said control computing environment is coupled with a control computing CPU, and said user computing environment is coupled with a second CPU selected from said user computing CPUs.
- 54. A computer system comprising:
a plurality of data stores including a plurality of magnetic rotatable disk drives; a protected data store selected from said plurality of data stores for storing at least said user data; a data store switch system coupled with said plurality of data stores, said switch system coupled with a data store switch configuration for configuring communication with one or more data store; an I/O switch system coupled with at least one peripheral, said I/O system coupled with an I/O system configuration including a plurality of traits for configuring said communication with said peripheral; a plurality of computing environments, each said computing environment identified by at least one trait selected from said plurality of traits, including:
a data store switch communication path coupled with said data store switch, said data store switch communication path coupling at least one data store with said computing environment according to said data store switch configuration; an I/O switch communication path coupled with said I/O switch system, said I/O switch communication path for coupling said peripheral with said computing environment according to said I/O switch system configuration; said computing environment capable of performing a processing activity including receiving input from said I/O switch system and sending output to said I/O switch system, said processing activity performed independently of said processing activity of another computing environment; a control computing environment selected from said plurality of computing environments for configuring said data store switch configuration, for configuring said I/O switch system configuration, said data store switch configuration supporting communication between said control computing environment and said protected data store; and at least one user computing environment selected from said plurality of computing environments; wherein said I/O switch system configuration is configured to direct a received input to at least one of said computing environment based on said trait, said I/O switch system configuration is configured to direct an output generated by one or more of said plurality of computing environments to said peripheral based on said trait.
- 55. A computer system comprising:
a communication device for communicating over a communications link to a second computer system, a port for communicatively coupling said computer system and said communication device over a bus having a plurality of data lines; and a switch coupled within said data line selected from said plurality of data lines for enabling and disabling said communication device.
- 56. The computer system of claim 55 wherein said communication device is a network interface card disposed within a main computer hardware box and said switch is affixed to said network interface card.
- 57. A computer system comprising:
a port for communicatively coupling said computer system and a peripheral over a bus having a plurality of data lines; and a switch coupled to at least one data line selected from said plurality of data lines for cycling said peripheral.
- 58. The computer system of claim 57 wherein said port is serial controller, said peripheral is a serial mouse, said bus is a serial bus coupling said serial mouse and said port, wherein said cycling includes temporarily grounding said data line for resetting said coupling between said computer system and said peripheral.
- 59. A computer system comprising:
a plurality of bootable data stores; a boot drive selected from said plurality of bootable data stores for booting said computer system; and a physical data store switch coupled with said plurality of bootable data stores for altering the accessibility of said bootable data stores and identifying said boot drive.
- 60. The computer system of claim 59 further comprising:
a main computer hardware box; a CPU disposed within the main computer hardware box; a memory disposed within the main computer hardware box; and a bus, communicatively coupling the CPU, the memory, and the physical data store switch for altering the identification of the bootable data stores to the CPU, said physical data store switch exposed through the main computer hardware box or at a surface of the main computer hardware box for manipulation by a user.
- 61. A computer system comprising:
one or more peripheral devices including a means for communication, an coupling member, and a capability for emitting light; a receptacle mechanically coupled with said computer system for engaging said coupling member of said peripheral device; and a port for communicatively coupling said computer system and said peripheral devices coupled with receptacle.
- 62. A computer system comprising:
a plurality of data stores; a data store switch coupled with said plurality of data stores for altering the accessibility of said data store; a peripheral controller for communicatively coupling said data store switch and said computer system; an accessible data store selected from said plurality of data stores communicatively coupled with said peripheral controller; and a computer program including at least one instruction capable of executing on said computer system, said instruction for analyzing said accessible data store to determine a health of said accessible data store; said health selected from a group of healths consisting of: a corruption health, and a correct health; if said corruption health is determined then said data store switch is actuated to remove accessibility to said accessible data store, and add a second accessible data store, if said correct health then said data store switch remains is not altered.
- 63. The computer system of claim 62 further comprising:
a main computer hardware box; a CPU disposed within the main computer hardware box; a memory disposed within the main computer hardware box; each of said data store represents a computer hard disk drive, said plurality of data stores includes eight data stores disposed within the main computer hardware box; wherein said health is determined for one data store in said plurality of said data stores, if said health is said corruption health then a successive data store health is determined; and a bus, communicatively coupling the CPU, memory and plurality of data stores.
- 64. A method for a computer repairing itself to an operational status at any time during operation, the method comprising the computer-executed steps of:
booting from a first hard disk drive boot device disposed within a main computer hardware box of the computer; then, in response to a signal indicating a need for repair of the computer during the booting or during any operating state, booting from a second hard disk drive boot device also disposed within the main computer hardware box of the computer prior to the signal indicating a need for repair; and then repairing software on the first hard disk drive boot device while booted from the second hard disk drive boot device and selectively either: (i) maintaining operation of the computer from the second boot device to restore operational status of the computer during repairing of the software on the first hard disk device, or (ii) changing to operation of the computer from the second boot device to the first boot device to restore operational status of the computer.
- 65. The method of claim 64, wherein:
the step of repairing software further comprises: (i) copying software from a device other than the first boot device onto the first boot device, and the step of copying software further comprises copying any of application, operating-system and repair-process software, wherein such copying may include copying any of a boot record, a partition table, and a basic input-output system (BIOS); (ii) copying software from the second boot device onto the first boot device, and either or both of copying one of template, backup and archive software from a device other than the first boot device onto the first boot device and copying one of template, backup and archive software from the second boot device onto the first boot device; the step of booting from a second boot device comprises switching the second boot device, thereby making the second boot device bootable, and the step of switching comprises generating the signal indicating a need for repair; the signal is generated by a user altering the state of a physical switch different from an on-off switch of the computer and exposed on an exterior surface of the main computer hardware box of the computer; the step of automatically repairing software comprises automatically repairing software on the first boot device without further direction from the user including repairing software on the first boot device according to preset preferences; the repairing according to preset preferences includes repairing according to whether to recover data, to run a virus check, to reformat the first boot device, to revert to a backup, to run diagnostics; the step of repairing software further includes resetting parameters in a persistent memory; and then copying software onto the first boot device; wherein before the step of booting from the second boot device, installing software onto the second boot device, the step of installing software onto the second boot device comprises one procedure from the following set of procedures: installing software onto the second boot device, copying installed software onto the second boot device copying installation software onto the second boot device, and writing onto the second boot device a version of an operating environment running as a result of the boot from the first boot device.
- 66. A computer comprising:
a main computer hardware box or housing; a CPU disposed within the main computer hardware box; a memory disposed within the main computer hardware box; first and second controllers for respective first and second hard disk drive data storage devices disposed within the main computer hardware box; a bus, communicatively coupling the CPU, memory and first and second controllers; and a switch, communicatively coupled to the second hard disk drive data storage device, for altering the accessibility of the second data storage device to the CPU and exposed through the main computer hardware box or at a surface of the main computer hardware box for manipulation by a user.
- 67. A means to switch a data line of a communications link to interrupt or enable the ability of the communications link to transfer data to a data port.
- 68. A means for switching a power line of a bus to powering peripherals on or off.
- 69. A method of isolating individual user data files in such a way that potentially malicious code is confined to a data storage device that does not contain any other user-created data and can also be reset or repaired.
- 70. An anti-theft security means to switch a startup device if user authentication fails.
- 71. A means for using electrical connections or other elements that can be integrated into the box of a computing device for the purposes of entertainment and/or communication with the user.
RELATED AND BENEFIT APPLICATIONS
[0001] This application claims benefit of priority under one or more of 35 U.S.C. 119(e) and. 35 U.S.C. 120 to:
[0002] U.S. patent application Ser. No. 10/075,136, entitled, “On-The-Fly Repair Of A Computer,” filed Nov. 19, 2001, naming Kenneth Largman, Anthony B. More and Jeffrey Blair as inventors;
[0003] U.S. patent application Ser. No. 10/074,686, entitled, “External Repair Of A Computer,” filed Feb. 11, 2002, naming Kenneth Largman, Anthony B. More and Jeffrey Blair as inventors;
[0004] U.S. patent application Ser. No. 10/090,480 entitled, “Backup Of A Computer,” filed Feb. 27, 2002, naming Kenneth Largman, Anthony B. More and Jeffrey Blair as inventors; and
[0005] U.S. patent application Ser. No. 10/094,600 entitled, “Computer With Special-Purpose Sub-Systems,” filed Mar. 6, 2002, naming Kenneth Largman, Anthony B. More and Jeffrey Blair as inventors; each of which applications are incorporated by reference;
[0006] and this application also claims benefit of priority under 35 U.S.C. 119(e) to:
[0007] U.S. Provisional Patent Application No. 60/393,719 entitled, “Computers That Defend Against Viruses, Hacking, Spy Software, Cyber-Terrorism, Theft, and Make Malicious Code Irrelevant,” filed Jul. 3, 2002, naming Kenneth Largman, Anthony B. More and Jeffrey Blair as inventors; each of which application is are incorporated by reference.
PCT Information
Filing Document |
Filing Date |
Country |
Kind |
PCT/US02/37125 |
11/19/2002 |
WO |
|
Provisional Applications (1)
|
Number |
Date |
Country |
|
60393719 |
Jul 2002 |
US |
Continuation in Parts (5)
|
Number |
Date |
Country |
Parent |
10075136 |
Nov 2001 |
US |
Child |
10484051 |
Jan 2004 |
US |
Parent |
10074686 |
Feb 2002 |
US |
Child |
10484051 |
Jan 2004 |
US |
Parent |
10090480 |
Feb 2002 |
US |
Child |
10484051 |
Jan 2004 |
US |
Parent |
PCT/US02/06232 |
Feb 2002 |
US |
Child |
10090480 |
Feb 2002 |
US |
Parent |
10094600 |
Mar 2002 |
US |
Child |
PCT/US02/37125 |
|
US |