Claims
- 1. An information appliance of the type having first storage for programs and data, and processor logic and executing computer program instructions to perform a task involving a user data; the information appliance characterized in that: separate control processing environments and user processing environments are created and maintained so that: (1) user data having unknown or untrusted content is not exposed in the control processor logic environment to computer program code that can execute any computer program code instructions imbedded in the user data; and (2) user data having unknown or untrusted content is only exposed in the user processor logic environment in a temporary storage different from the first storage when isolated from the first storage.
- 2. An information appliance comprising:
at least one processing logic device for executing at least one instruction; a first storage for storing first data and first program code including said at least one instruction and including a user data; a second storage for storing second data; a switching system for selectably and independently coupling and decoupling the processing logic device with the first storage and/or the second storage under automated control, the switching system receiving at least one control signal from the processing logic device for selecting a condition of the switching system; the processing logic device operating in a control configuration and in a user data configuration according to the following conditions: (i) the processing logic device may be coupled with the first storage when the processing logic is loaded with a program instruction not capable of executing a data item that has untrusted content or that did not originate within a known controlled environment; (ii) the processing logic device may not be coupled or only restrictively coupled to communicate known information with the first storage when the processing logic is loaded with a program instruction that may be capable of executing a data item that has untrusted content or that did not originate within a known controlled environment; (iii) the processing logic device may be coupled with the second storage when the processing logic is loaded with a program instruction that may be capable of executing a data item that has untrusted content or that did not originate within a known controlled environment; and (iv) the processing logic device may be coupled with the first storage and the second storage when the processing logic is loaded with a program instruction that is only capable of copying a data item from the first storage to the second storage or from the second storage to the first storage.
- 3. An information appliance as in claim 2, wherein the switching system can couple or decouple the processing logic device with the first storage and the second storage in at least the following ways: (i) processing logic device coupled with the first storage only, (ii) processing logic device coupled with the second storage only, (iii) processing logic device coupled with the first and second storage concurrently, (iv) processing logic device coupled with neither the first storage nor the second storage.
- 4. An information appliance as in claim 2, wherein the processing logic device comprises a microprocessor.
- 5. An information appliance as in claim 2, wherein the processing logic device is selected from the set of processing logic circuits consisting of: a microprocessor, a central processing unit (CPU), a controller, a micro-controller, an ASIC, a logic circuit, a programmable logic circuit, and combinations of these.
- 6. An information appliance as in claim 2, wherein the information appliance is selected from the set of information appliances consisting of: a computer, a notebook computer, a personal data assistant, a personal data organizer, a cellular telephone, a mobile telephone, a radio receiver, a radio transmitter, a GPS receiver, a satellite telephone, an automobile on-board computer, an aircraft on-board computer, a navigation device, a home appliance, a printing device, a scanning device, a camera, an electronic camera, a television receiver, a broadcast control system, an electronic instrument, a medical monitoring device, a security device, an environmental control system, a electronic device, and combinations of these.
- 7. An information appliance as in claim 2, wherein the first data store and second data store are independently selectable and selected from the set of storage consisting of: a rotating magnetic hard disk drive, a rotating magnetic floppy disk drive, a CD, a DVD, a semiconductor memory, a solid state memory, a chemical memory, a magnetic memory, a molecular memory, a micro-drive, a flash memory, a compact flash card memory, a RAM memory, a ROM memory, and combinations thereof.
- 8. An information appliance as in claim 2, wherein said at least one processing logic device comprises a plurality of processing logic devices.
- 9. An information appliance as in claim 8, wherein at least one of said plurality of processing logic devices comprises at least one microprocessor and said at least one instruction comprises a plurality of computer program code segments from an operating system and a plurality of computer program code segments from an application program; and wherein said switching system is coupleable to said microprocessor for receiving switch control commands for altering the switch configuration to selectably couple and decouple the microprocessor with the first and second storage.
- 10. An information appliance as in claim 9, wherein the plurality of processing logic devices are intermittently sequentially isolated and communicatively restricted, by an automated control system executing one of the processing logic devices.
- 11. An information appliance as in claim 9, wherein the second storage is configured to perform as a temporary storage during a processing operation when it is coupled with the processing logic device and automatically erased after each processing has occurred independent if the processing completed with error condition or without error condition, where an error condition may include detection of a virus or other malicious code execution.
- 12. An information appliance as in claim 10, wherein the plurality of processing logic devices and at least said first and second storage are dynamically configurable to create computing environments having determined characteristics.
- 13. An information appliance as in claim 1, wherein said first storage stores a master template file having operating system and application program components and a protected copy of user data.
- 14. A method for operating an information appliance of the type having at least one processing logic device for executing at least one instruction, a first storage for storing first data and first program code including said at least one instruction and including a user data, and a second storage for storing second data; the method comprising:
selectively and independently switching to couple and decouple the processing logic device with the first storage and/or the second storage under automated control upon receipt of at least one control signal from the processing logic device for selecting a condition of the switching system; operating the processing logic device in a control configuration and in a user data configuration according to the following conditions: (i) permitting coupling the processing logic device with the first storage when the processing logic is loaded with a program instruction not capable of executing a data item that has untrusted content or that did not originate within a known controlled environment; (ii) not permitting coupling the processing logic device with the first storage or only restrictively permitting coupling the processing logic device with the first storage to communicate known information when the processing logic is loaded with a program instruction that may be capable of executing a data item that has intrusted content or that did not originate within a known controlled environment; (iii) permitting coupling the processing logic device with the second storage when the processing logic is loaded with a program instruction that may be capable of executing a data item that has untrusted content or that did not originate within a known controlled environment; and (iv) permitting coupling the processing logic device with the first storage and the second storage when the processing logic is loaded with a program instruction that is only capable of copying a data item from the first storage to the second storage or from the second storage to the first storage.
- 15. A method for operating an information appliance as in claim 14, further comprising: erasing the second storage after any processing logic device has used said second storage to process a user data.
- 16. A method for operating an information appliance as in claim 14, wherein the information appliance is selected from the set of information appliances consisting of: a computer, a notebook computer, a personal data assistant, a personal data organizer, a cellular telephone, a mobile telephone, a radio receiver, a radio transmitter, a GPS receiver, a satellite telephone, an automobile on-board computer, an aircraft on-board computer, a navigation device, a home appliance, a printing device, a scanning device, a camera, an electronic camera, a television receiver, a broadcast control system, an electronic instrument, a medical monitoring device, a security device, an environmental control system, a electronic device, and combinations of these.
- 17. A method for operating an information appliance as in claim 14, wherein said at least one processing logic device comprises a plurality of processing logic devices.
- 18. A method for operating an information appliance as in claim 17, wherein at least one of said plurality of processing logic devices comprises at least one microprocessor and said at least one instruction comprises a plurality of computer program code segments from an operating system and a plurality of computer program code segments from an application program; and wherein said switching system is coupleable to said microprocessor for receiving switch control commands for altering the switch configuration to selectably couple and decouple the microprocessor with the first and second storage.
- 19. An information processing device comprising:
a housing having a form factor of a computer PC Card and a plurality of PCCardBus interface connections; a plurality of processors disposed within said housing; a plurality of data stores disposed within said housing or coupled thereto; a protected data store portion selected from said plurality of data stores for storing at least a 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 disposed within said housing; 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 communication with said peripheral disposed within said housing; a plurality of computing environments, each said computing environment including at least one processor and 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 isolated 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, 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.
- 20. An information processing device as in claim 19, wherein:
the plurality of processors are independently selected from the set of processing logic circuits consisting of: a microprocessor, a central processing unit (CPU), a controller, a micro-controller, an ASIC, a logic circuit, a programmable logic circuit, and combinations of these; and the plurality of data store are independently selectable and selected from the set of storage consisting of: a rotating magnetic hard disk drive, a rotating magnetic floppy disk drive, a CD, a DVD, a semiconductor memory, a solid state memory, a chemical memory, a magnetic memory, a molecular memory, a micro-drive, a flash memory, a compact flash card memory, a RAM memory, a ROM memory, and combinations thereof.
RELATED APPLICATIONS
[0001] This application claims the benefit of priority under one or more of 35 U.S.C. 119(e), 35 U.S.C. 120, or other applicable statutes or rules and is a continuation-in-part of U.S. Utility patent application Ser. No. ______, (Attorney Docket No. A-70543-5/RMA entitled, “Computer System Capable of Supporting a Plurality of Independent Computer Environments,” filed 15 Jan. 2004, naming Kenneth Largman, Anthony B. More and Jeffrey Blair as inventors; which is a U.S. National Phase application from PCT Application No. PCT/US02/37125, entitled “Computer System Capable of Supporting a Plurality of Independent Computer Environments”, filed 19 Dec. 2002, naming Kenneth Largman, Anthony B. More and Jeffrey Blair as inventors; each of which applications is herein incorporated by reference.
[0002] This application also related to and claims benefit of priority under one or more of 35 U.S.C. 119(e), 35 U.S.C. 120, or other applicable statutes or rules to the following:
[0003] 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;
[0004] 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;
[0005] 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;
[0006] 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; and
[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 applications is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60291767 |
May 2001 |
US |
Continuations (4)
|
Number |
Date |
Country |
Parent |
09862898 |
May 2001 |
US |
Child |
10760131 |
Jan 2004 |
US |
Parent |
10075136 |
Nov 2001 |
US |
Child |
10760131 |
Jan 2004 |
US |
Parent |
10074686 |
Feb 2002 |
US |
Child |
10760131 |
Jan 2004 |
US |
Parent |
10090480 |
Feb 2002 |
US |
Child |
10760131 |
Jan 2004 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10094600 |
Mar 2002 |
US |
Child |
10760131 |
Jan 2004 |
US |