Case secure computer architecture
First Claim
Patent Images
1. A computer system comprising:
- a first subsystem;
a control program that resides and executes in a control subsystem within the first subsystem that includes one or more CPU(s) each with an associated memory, wherein the control subsystem is protected by one or more of hardware and firmware from access by programs located in other parts of the system, and at least the associated memory of the control subsystem contains programs and data that constitute information required to manage, supervise, and support the system, wherein the control program further has access to information in a remainder of the system, and an ability to control processes and information in the remainder of the system; and
a second subsystem including one or more additional CPU(s) each with an associated memory, the second subsystem does not boot but begins execution upon receipt of an instruction from a control subsystem CPU via a hardware/firmware dispatcher, the second subsystem providing a facility for execution and storage of user programs and one or more of user data and databases, wherein the hardware/firmware dispatcher between the control subsystem and the second subsystem facilitates the ability of the control subsystem to manage and control the second subsystem, and buffers the control subsystem from the second subsystem and enables communication between the two subsystems, the hardware/firmware dispatcher between the control subsystem and the second subsystem insulates the control subsystem from any interference by the second subsystem by not allowing the second subsystem access to operating system memory or storage, and controls the dispatching and execution of user programs in the second subsystem in response to commands and data from the control subsystem, and relays information from the second subsystem to the control subsystem.
0 Assignments
0 Petitions
Accused Products
Abstract
Two computing subsystems are disclosed, one a control subsystem, the other a user subsystem, each using engines with augmented conventional instruction sets, together with hardware and/or firmware, to compartmentalize execution of user programs to insure their behavior does not exceed defined bounds. Programs hidden in data cannot execute. User programs cannot alter the control program that manages the overall system.
610 Citations
20 Claims
-
1. A computer system comprising:
-
a first subsystem; a control program that resides and executes in a control subsystem within the first subsystem that includes one or more CPU(s) each with an associated memory, wherein the control subsystem is protected by one or more of hardware and firmware from access by programs located in other parts of the system, and at least the associated memory of the control subsystem contains programs and data that constitute information required to manage, supervise, and support the system, wherein the control program further has access to information in a remainder of the system, and an ability to control processes and information in the remainder of the system; and a second subsystem including one or more additional CPU(s) each with an associated memory, the second subsystem does not boot but begins execution upon receipt of an instruction from a control subsystem CPU via a hardware/firmware dispatcher, the second subsystem providing a facility for execution and storage of user programs and one or more of user data and databases, wherein the hardware/firmware dispatcher between the control subsystem and the second subsystem facilitates the ability of the control subsystem to manage and control the second subsystem, and buffers the control subsystem from the second subsystem and enables communication between the two subsystems, the hardware/firmware dispatcher between the control subsystem and the second subsystem insulates the control subsystem from any interference by the second subsystem by not allowing the second subsystem access to operating system memory or storage, and controls the dispatching and execution of user programs in the second subsystem in response to commands and data from the control subsystem, and relays information from the second subsystem to the control subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system, including a first subsystem, a second subsystem, and a control program that resides and executes in a control subsystem within the first subsystem that includes one or more CPU(s) each including an associated memory, wherein the control subsystem is protected by one or more of hardware and firmware from access by programs located in other parts of the computer system, and at least the associated memory of the control subsystem contains programs and data that constitute information required to one or more of manage, supervise, and support the computer system, wherein the control program further has access to information in a remainder of the computer system, and an ability to control processes and information in the remainder of the computer system;
- and
the second subsystem including one or more CPU(s) and associated memory, wherein the second subsystem does not boot but begins execution upon receipt of an instruction from a hardware/firmware dispatcher associated with the first subsystem, wherein user program instructions are controlled by one or more of hardware and firmware to be read-only, preventing instructions from modification during loading or execution, the hardware/firmware dispatcher between the first subsystem and the second subsystem insulates the first subsystem from any interference by the second subsystem by not allowing the second subsystem access to operating system memory or storage, and controls the dispatching and execution of user programs in the second subsystem in response to commands and data from the first subsystem, and relays information from the second subsystem to the first subsystem.
- and
-
9. A computer system architecture including:
- a first subsystem and a second subsystem, each subsystem including one or more CPU(s) and associated memory, respectively, and a control program that resides and executes in a control subsystem within the first subsystem, wherein the control subsystem is protected by one or more of hardware and firmware from access by programs located in other parts of the computer system, and at least the associated memory of the control subsystem contains programs and data that constitute information required to one or more of manage, supervise, and support the computer system, wherein the control program further has access to information in a remainder of the computer system, and an ability to control processes and information in the remainder of the computer system; and
wherein the second subsystem does not boot but begins execution upon receipt of an instruction from a hardware/firmware dispatcher associated with the first subsystem wherein, by one or more of hardware and firmware, data is distinguished from instructions, enabling these two classes of information to be treated separately, the hardware/firmware dispatcher between the first subsystem and the second subsystem insulates the first subsystem from any interference by the second subsystem by not allowing the second subsystem access to operating system memory or storage, and controls the dispatching and execution of user programs in the second subsystem in response to commands and data from the first subsystem, and relays information from the second subsystem to the first subsystem.
- a first subsystem and a second subsystem, each subsystem including one or more CPU(s) and associated memory, respectively, and a control program that resides and executes in a control subsystem within the first subsystem, wherein the control subsystem is protected by one or more of hardware and firmware from access by programs located in other parts of the computer system, and at least the associated memory of the control subsystem contains programs and data that constitute information required to one or more of manage, supervise, and support the computer system, wherein the control program further has access to information in a remainder of the computer system, and an ability to control processes and information in the remainder of the computer system; and
-
10. A computer system including a first subsystem and a second subsystem, each subsystem including one or more CPU(s) and associated memory, respectively, and a control program that resides and executes in a control subsystem within the first subsystem, wherein the control subsystem is protected by one or more of hardware and firmware from access by programs located in other parts of the computer system, and at least the associated memory of the control subsystem contains programs and data that constitute information required to one or more of manage, supervise, and support the computer system, wherein the control program further has access to information in a remainder of the computer system, and an ability to control processes and information in the remainder of the computer system;
- and
wherein the second subsystem does not boot but begins execution upon receipt of an instruction from a hardware/firmware dispatcher associated with the first subsystem, wherein one or more of hardware and firmware limit the dynamic addresses employed during the execution of a program to values specified by a control program, the hardware/firmware dispatcher between the first subsystem and the second subsystem insulates the first subsystem from any interference by the second subsystem by not allowing the second subsystem access to operating system memory or storage, and controls the dispatching and execution of user programs in the second subsystem in response to commands and data from the first subsystem, and relays information from the second subsystem to the first subsystem.
- and
-
11. A computing device comprising:
-
a first subsystem containing one or more CPU(s) each with an associated memory and control programs and data; a control subsystem protected by one or more of hardware and firmware from access by programs located in other parts of the device, wherein at least the associated memory of the control subsystem contains programs and data that constitute information required to one or more of manage, supervise, and support the device, wherein the control program further has access to information in a remainder of the device, and an ability to control processes and information in the remainder of the device; and a second subsystem adapted for user program execution, wherein the first subsystem assembles a control block containing parameters to supervise a program'"'"'s execution, and wherein a hardware/firmware dispatcher reads the control block and uses the information to initiate and control a user program executing in the second subsystem, including monitoring instruction and data addresses to ensure they so not exceed an assigned address space in memory and that the program'"'"'s access to data agrees with a permitted limit defined in the control block, the hardware/firmware dispatcher between the first subsystem and the second subsystem insulates the first subsystem from any interference by the second subsystem by not allowing the second subsystem access to operating system memory or storage, and controls the dispatching and execution of user programs in the second subsystem in response to commands and data from the first subsystem, and relays information from the second subsystem to the first subsystem. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification