首页 / 专利库 / 复印 / 套印 / 电子照相 / 在具有病毒、间谍软件以及黑客防护特征的虚拟处理空间中的隔离复用多维处理

在具有病毒、间谍软件以及黑客防护特征的虚拟处理空间中的隔离复用多维处理

阅读:538发布:2023-03-10

专利汇可以提供在具有病毒、间谍软件以及黑客防护特征的虚拟处理空间中的隔离复用多维处理专利检索,专利查询,专利分析的服务。并且信息装置、计算设备或基于其他处理器或 微处理器 的设备和系统提供了安全性和反病毒、反黑客和反网络恐怖特征,并且可以自动地创建多个顺序地或并发地和间歇地隔离和/或受限的计算环境,以通过使用这些计算环境,结合移动和复制数据的受限和受控的方法,以及破坏位于计算环境和数据 存储器 中的而已代码的 进程 ,防止病毒、恶意或其他计算机入侵。利用维持在单个物理处理器上执行的多个进程的隔离的系统、设备、架构和方法来时间复用处理流。虚拟多位处理空间和虚拟处理环境。在单个CPU中时间复用处理。使用地址控制和映射来进行进程隔离。在物理和/或虚拟处理或计算空间中选择、配置、切换和/或复用多个进程,以创建物理和/或虚拟处理或计算环境。,下面是在具有病毒、间谍软件以及黑客防护特征的虚拟处理空间中的隔离复用多维处理专利的具体信息内容。

1、一种用于通过第二数据的执行防止第一数据的污染的方法, 所述方法包括以下步骤:
将第一隔离设备插入源和处理逻辑之间,并将第二隔离设备插入 所述处理逻辑与接收机之间,所述第一和第二隔离设备中的每个都不 能执行从所述源、从所述接收机、或从处理器逻辑进入所述隔离设备 的任何指令,并且防止访问所述处理逻辑和由所述处理逻辑在所述源 或者所述接收机端上执行任何指令;
通过所述第一隔离设备将所述第二数据从所述源传送至所述处 理逻辑;
在所述处理器逻辑中处理所述第二数据以产生第一结果;以及
通过所述第二隔离设备将所述第一结果从所述处理器逻辑传送 至所述接收机。
2、根据权利要求1所述的方法,其中,所述第一和第二隔离设 备不能执行任何指令,因为其仅对二进制比特或多个二进制比特执行 复制操作。
3、根据权利要求1所述的方法,其中,在所述处理逻辑外部执 行所述复制操作。
4、根据权利要求2所述的方法,其中,所述第一和第二隔离设 备是相同的设备。
5、根据权利要求2所述的方法,其中,所述第一和第二隔离设 备是不同的设备。
6、一种用于通过第二数据的执行防止第一数据的污染的方法, 所述方法包括以下步骤:
使源与处理逻辑和接收机隔离,所述隔离源和隔离接收机不能执 行从所述接收机或从所述处理器逻辑进入所述隔离源的任何指令,并 且防止访问所述处理逻辑和由所述处理逻辑在所述源或者所述接收 机端上执行任何指令;
以隔离模式将所述第二数据从所述源传送至所述处理逻辑;
在所述处理器逻辑中处理所述第二数据以产生第一结果;以及
以隔离模式将所述第一结果从所述处理器逻辑传送至所述接收 机。
7、根据权利要求6所述的方法,其中,所述隔离是逻辑隔离。
8、根据权利要求6所述的方法,其中,所述隔离是物理隔离。
9、根据权利要求6所述的方法,其中,所述源和接收机是储存 器单元,并且使用地址控制过程实现所述隔离。
10、根据权利要求9所述的方法,其中,所述地址控制过程包括 在计算机内部运用低于操作系统的控制级,所述操作系统隐藏特定存 储器单元并使其他存储器单元可用于进程
11、一种具有用于程序和数据的第一储存器以及处理器逻辑,并 执行计算机程序指令以执行涉及用户数据的任务的类型的信息装置, 所述信息装置的特征在于:创建并保持分离的控制处理环境和用户处 理环境,从而:(1)使具有未知或非信任内容的用户数据在所述控制 处理器逻辑中不会暴露给可能执行嵌入在所述用户数据中的任何计 算机程序代码指令的计算机程序代码;以及(2)当与所述第一储存 器隔离时,具有未知或非信任内容的用户数据仅暴露在所述用户处理 器逻辑环境中的不同于所述第一储存器的临时储存器中。
12、一种信息装置,包括:
至少一个处理逻辑设备,用于执行至少一个指令;
第一储存器,用于存储第一数据和包含所述至少一个指令并包含 用户数据的第一程序代码;
第二储存器,用于存储第二数据;
切换系统,用于在自动控制下可选择地并独立地耦合和去耦合所 述处理逻辑设备与所述第一储存器和/或所述第二储存器,所述切换 系统从所述处理逻辑设备接收至少一个控制信号,以用于选择所述切 换系统的状态;
所述处理逻辑设备根据以下条件在控制配置和用户数据配置下 操作:
(i)当所述处理逻辑装载有不能执行具有非信任内容或不是源 自已知的受控环境的数据项的程序指令时,所述处理逻辑设备可以与 所述第一储存器耦合;
(ii)当所述处理逻辑装载有可以执行具有非信任内容或不是源 自已知的受控环境的数据项的程序指令时,所述处理逻辑设备不能与 所述第一储存器耦合或者仅有限地与所述第一储存器耦合,以传送已 知的信息;
(iii)当所述处理逻辑装载有可以执行具有非信任内容或不是源 自己知的受控环境的数据项的程序指令时,所述处理逻辑设备可以与 所述第二储存器耦合;以及
(iv)当所述处理逻辑装载有仅能将数据项从所述第一储存器复 制到所述第二储存器或从所述第二储存器复制到所述第一储存器的 程序指令时,所述处理逻辑设备可以与所述第一储存器和所述第二储 存器耦合。
13、根据权利要求12所述的信息装置,其中,所述切换系统能 够采用至少以下方式耦合或去耦合所述处理逻辑设备与所述第一储 存器和所述第二储存器:(i)处理逻辑设备仅与所述第一储存器耦合, (ii)处理逻辑设备仅与所述第二储存器耦合,(iii)处理逻辑设备同 时与所述第一和第二储存器耦合,(iv)处理逻辑设备既不与所述第 一储存器耦合也不与所述第二储存器耦合。
14、根据权利要求12所述的信息装置,其中,所述处理逻辑设 备包括微处理器
15、根据权利要求12所述的信息装置,其中,所述处理逻辑设 备从由以下电路构成的处理逻辑电路组中选择:微处理器、中央处理 单元(CPU)、控制器微控制器、ASIC、逻辑电路、可编程逻辑电 路,以及这些电路的组合。
16、根据权利要求12所述的信息装置,其中,所述信息装置从 由以下装置构成的信息装置组中选择:计算机、笔记本电脑、个人数 据助理、个人数据管理器、蜂窝电话、移动电话、无线电接收机、无 线电发射机、GPS接收机、卫星电话、车载计算机、飞机机载计算机、 导航设备、家用电器、打印设备、扫描设备、照相机电子照相机、 电视接收机、广播控制系统、电子工具、医疗监控设备、安全设备、 环境控制系统、电子设备、网络设备,以及这些装置的组合。
17、根据权利要求12所述的信息装置,其中,所述第一数据存 储器和所述第二数据存储器是可以独立选择的,并且可从由以下构成 的存储器组中进行选择:旋转式磁硬盘驱动器、旋转式磁软盘驱动器、 CD、DVD、半导体存储器、固态存储器、化学存储器、磁存储器、 分子存储器、微驱动器、快闪存储器、紧凑型快闪卡存储器、RAM 存储器、ROM存储器,以及这些存储器的组合。
18、根据权利要求12所述的信息装置,其中,所述至少一个处 理逻辑设备包括多个处理逻辑设备。
19、根据权利要求18所述的信息装置,其中,所述多个处理逻 辑设备中的至少一个设备包括至少一个微处理器,并且所述至少一个 指令包括来自操作系统的多个计算机程序代码段和来自应用程序的 多个计算机程序代码段;并且其中,所述切换系统可以耦合至所述微 处理器,用于接收改变所述开关配置的开关控制命令,以可选择地耦 合和去耦合所述微处理器与所述第一和第二储存器。
20、根据权利要求19所述的信息装置,其中通过执行所述处理 逻辑设备中的一个设备的自动控制系统而使所述多个处理逻辑设备 间断地顺序地隔离并且可通信地受限。
21、根据权利要求19所述的信息装置,其中,当所述第二储存 器与所述处理逻辑设备耦合时,所述第二储存器在处理工作期间用作 临时储存器,并且如果所述处理以错误状态或没有错误状态完成,则 在每个处理已经独立发生之后,所述第二储存器被自动擦除,其中错 误状态可以包括对病毒或其他恶意代码执行的检测。
22、根据权利要求20所述的信息装置,其中,所述多个处理逻 辑设备和至少所述第一和第二储存器可以被动态地配置来创建具有 确定特性的计算环境。
23、根据权利要求11所述的信息装置,其中,所述第一储存器 存储具有操作系统和应用程序组件以及用户数据的保护副本的主模 板文件。
24、一种用于操作具有用于执行至少一个指令的至少一个处理逻 辑设备,用于存储第一数据和包含所述至少一个指令并包含用户数据 的第一程序代码的第一储存器,以及用于存储第二数据的第二储存器 的类型的信息装置的方法;所述方法包括:
在从所述处理逻辑设备接收到至少一个用于选择切换系统的状 态的控制信号之后,在自动控制下有选择地并且独立地切换以耦合和 去耦合所述处理逻辑设备与所述第一储存器和/或第二储存器;
根据以下条件,在控制配置和用户数据配置下操作所述处理逻辑 设备:
(i)当所述处理逻辑装载有不能执行具有非信任内容或不是源 自己知的受控环境的数据项的程序指令时,允许耦合所述处理逻辑设 备与所述第一储存器;
(ii)当所述处理逻辑装载有能够执行具有非信任内容或不是源 自己知的受控环境的数据项的程序指令时,不允许耦合所述处理逻辑 设备与所述第一储存器,或仅有限地允许耦合所述处理逻辑设备与所 述第一储存器以传送已知的信息;
(iii)当所述处理逻辑装载有能够执行具有非信任内容或不是源 自已知的受控环境的数据项的程序指令时,允许耦合所述处理逻辑设 备与所述第二储存器;以及
(iv)当所述处理逻辑装载有仅能够将数据项从所述第一储存器 复制到所述第二储存器或从所述第二储存器复制到所述第一储存器 的程序指令时,允许耦合所述处理逻辑设备与所述第一储存器和所述 第二储存器。
25、根据权利要求24所述的用于操作信息装置的方法,还包括: 在任何处理逻辑设备已使用第二储存器处理用户数据之后,擦除所述 第二储存器。
26、根据权利要求24所述的用于操作信息装置的方法,其中从 包含以下装置的信息装置组中选择所述信息装置:计算机、笔记本电 脑、个人数据助理、个人数据管理器、蜂窝电话、移动电话、无线电 接收机、无线电发射机、GPS接收机、卫星电话、车载计算机、飞机 机载计算机、导航设备、家用电器、打印设备、扫描设备、照相机、 电子照相机、电视接收机、广播控制系统、电子工具、医疗监控设备、 安全设备、环境控制系统、电子设备、网络设备,以及这些装置的组 合。
27、根据权利要求24所述的用于操作信息装置的方法,其中, 所述至少一个处理逻辑设备包括多个处理逻辑设备。
28、根据权利要求27所述的用于操作信息装置的方法,其中, 所述多个处理逻辑设备中的至少一个设备包括至少一个微处理器,并 且所述至少一个指令包括来自操作系统的多个计算机程序代码段以 及来自应用程序的多个计算机程序代码段;并且其中所述切换系统可 耦合至所述微处理器,用于接收改变所述开关配置的开关控制命令, 以可选择地耦合和去耦合所述微处理器与所述第一和第二储存器。
29、一种信息处理设备,包括:
具有计算机PC卡和多个PC卡总线接口连接器的形状系数的外 壳;
设置在所述外壳中的多个处理器;
设置在所述外壳中或与其耦合的多个数据存储器;
从所述多个数据存储器中选择的保护数据存储器部分,用于存储 至少用户数据;
与所述多个数据存储器耦合的数据存储器开关系统,所述开关系 统与数据存储器开关配置耦合,以用于配置与设置在所述外壳内的一 个或多个数据存储器的通信;
与至少一个外围设备耦合的I/O开关系统,所述I/O系统与包含 多个特性的I/O系统配置耦合,以用于配置与所述外壳内设置的外围 设备的通信;
多个计算环境,所述每个计算环境包括至少一个处理器,并由从 所述多个特性中选择的至少一个特性所识别,包括:
与所述数据存储器开关耦合的数据存储器开关通信通路, 所述数据存储器开关通信通路根据所述数据存储器开关配置将至少 一个数据存储器与所述计算环境耦合;
与所述I/O开关系统耦合的I/O开关通信通路,所述I/O 开关通信通路用于根据所述I/O开关系统配置,将所述外围设备与所 述计算环境耦合;
所述计算环境,其能够执行包括从所述I/O开关系统接收 输入和向所述I/O开关系统发送输出的处理行为,所述处理行为独立 于另一个计算环境的所述处理行为而执行;
从所述多个计算环境中选择的控制计算环境,其用于配置所述数 据存储器开关配置,用于配置所述I/O开关系统配置,所述数据存储 器开关配置支持在所述控制计算环境与所述保护数据存储器之间的 通信;以及
从所述多个计算环境中选择的至少一个用户隔离计算环境;
其中所述I/O开关系统配置用于将所接收的输入导引到至少一个 所述计算环境,所述I/O开关系统配置用于将从一个或多个所述计算 环境产生的输出导引到所述外围设备。
30、根据权利要求29所述的信息处理设备,其中:
从由以下电路构成的处理逻辑电路组中独立地选择多个处理器: 微处理器、中央处理单元(CPU)、控制器、微控制器、ASIC、逻辑 电路、可编程逻辑电路,以及这些电路的组合;并且
所述多个数据存储器可以从由以下存储器构成的存储器组中独 立地选择:旋转式磁硬盘驱动器、旋转式磁软盘驱动器、CD、DVD、 半导体存储器、固态存储器、化学存储器、磁存储器、分子存储器、 微驱动器、闪存存储器、紧凑型闪存卡存储器、RAM存储器、ROM 存储器,以及这些存储器的组合。

说明书全文

技术领域

发明一般涉及计算机、信息装置、移动通信设备及其他电子设 备的安全和防病毒、防黑客、防网络恐怖的特征;尤其涉及支持安全 和防病毒、防黑客和防网络恐怖特征的计算机、信息装置、移动通信 设备和其他电子及计算设备,其产生多个同时或顺序的时间处理环境 和过程及程序,其可以防止可能存在于设备中的恶意代码影响系统或 其他用户或程序数据。

背景技术

当基于现有技术时,计算机、蜂窝电话、以及使用计算机或处理 器技术的宽频设备容易受到计算机黑客、病毒、网络恐怖、间谍软件、 和/或其他恶意的或有害的计算机程序代码的攻击。虽然防病毒软件 是已知的,对于每一种被编写和释放的新病毒而言,这种防病毒软件 经常会变得过时。此外,对某些计算机的至少某些破坏通常是在这种 释放的初始阶段进行的。使用防火墙及其他防护措施也是已知的,然 而,防火墙通常并不集成到便携式计算机或通过公司信息技术(IT) 环境外部的公用网操作的便携式计算机中,在任何情况下多数黑客技 术都可以存在以攻克这种防火墙。每年来自计算机病毒、间谍以及黑 客的破坏的全世界范围内的开销被估算为达到100亿美元。更加重要 的是不断增加计算机的可靠性,以控制和保持空中交通、运输系统、 大楼环境控制、股票市场、电话系统、核电站、以及其他公共的和私 有的基础设施的运行,这种恶意代码形成的潜在危害将超出任何金钱 估价。
所需要的是一种提供免除计算机黑客、病毒、间谍、网络恐怖袭 击等、恶意行为的措施的架构、系统和操作方法。在某种意义上,保 留对抗这种恶意代理的通用杀病毒软件的需求。也保留对与常规的计 算机(其允许用户在需要时通过回复到已知的未受感染的操作系统和 应用程序软件和/或数据的安装来启动“修复”)不同的计算机的需求, 该计算机复位或擦除存储器和数据存储器以在打开文件或数据集之 前创建已知的未受感染的或已杀过毒的储存环境。
附图说明
图1示出了根据现有技术的膝上型计算机或其他计算系统;
图2示出了包含本发明的一个实施例的膝上型计算机系统或其 他信息装置;
图3示出了根据本发明的一个实施例用于支持多个独立的计算 环境的架构和系统的示意图;
图4示出了使用本发明的一个实施例的方法的实施例示意流程 图;
图5示出了启动计算环境的方法的一个实施例的示意流程图
图6示出了用于配置计算环境的一个或多个开关系统的方法的 一个实施例的示意流程图;
图7示出了包含专用子系统或计算环境及公共控制器的本发明 的另一个替换实施例;
图8示出了本发明的另一个替换实施例;
图9示出了本发明的架构和系统的又一个替换实施例的实施例;
图10示出了本发明的架构和系统的再一个替换实施例的实施 例;
图11示出了具有组合的控制计算环境和至少一个隔离计算环境 以用于用户处理的本发明的附加实施例;
图12示出了提供单个物理计算环境的本发明的架构和系统的一 个实施例,但是其使用间歇访问和组件和访问的时间分离分配来支持 多个逻辑或虚拟计算环境;
图13示出了根据本发明的某些方面的本发明的架构和系统配置 的另一个实施例;
图14示出了例如PC卡实现的本发明的接口卡实施例的实施例;
图15示出了表示PC卡和外围总线、主总线以及主处理器之间连 通性的图14的PC卡实施例的实施例;
图16示出了在本发明的一个实施例内的动态配置和组件切换以 及连通性的特征;
图17示出了在本发明的一个实施例内的动态配置和组件切换以 及连通性的替换特征;
图18示出了包含本发明的计算环境如何耦合多个键盘鼠标并 提供多个分离的分层视频集的本发明的一个实施例的又一特征;
图19示出了其中处理或计算环境被保持为与处理器输入和处理 器输出隔离的处理系统配置的一个实施例;
图20示出了具有多个虚拟的和物理的处理或计算环境的N维虚 拟处理空间的实施例;
图21示出了用于保持输入与处理器之间的隔离的方法的实施 例;
图22示出了用于在仅具有一个处理器的物理或虚拟处理环境中 执行多个进程的时间复用的系统、设备和架构的特定实施例;
图23示出了用于保持计算机中的多个处理之间受控隔离度的另 一个系统的实施例。

发明内容

本发明提供安全、防病毒、防黑客及防网络恐怖的特征,并且可 以自动创建多个顺序地或同时地以及间歇地隔离的和/或受限制的计 算环境,以通过使用这些计算环境结合移动和复制数据的受限制和受 控的方法,结合破坏位于计算环境和数据存储器中的恶意代码的进程 来防止病毒、恶意的或其他计算机入侵(hacking)、计算机或设备的 损坏和故障。
在一个实施例中,本发明提供一种用于配置和操作的信息装置架 构、系统、设备和方法。一种具有用于程序和数据的第一储存器以及 处理器逻辑并且执行计算机程序指令以执行涉及用户数据的任务的 类型的信息装置,该信息装置操作,从而创建并保持分离的控制处理 环境和用户处理环境,以便:(1)使具有未知或非信任内容的用户数 据在控制处理器逻辑中不会暴露给可以执行嵌入在该用户数据中的 任何计算机程序代码指令的计算机程序代码;以及(2)当与第一存 储存隔离时,具有未知或非信任内容的用户数据仅暴露在用户处理器 逻辑环境中不同于第一储存器的临时储存器中。
在另一个实施例中,本发明提供一种信息装置,该信息装置具有 至少一个处理逻辑设备,用于执行至少一个指令;第一储存器,用于 存储第一数据和包含所述至少一个指令并包含用户数据的第一程序 代码;第二储存器,用于存储第二数据;切换系统,用于在自动控制 下可选择地独立地耦合和去耦合所述处理逻辑设备与第一储存器和/ 或第二储存器,该切换系统从所述处理逻辑设备接收至少一个控制信 号以用于选择该切换系统的状态;所述处理逻辑设备根据以下条件在 控制配置和用户数据配置下操作:(i)当该处理逻辑装载有不能执行 具有非信任内容或不是源自已有的受控环境的数据项的程序指令时, 该处理逻辑设备可以与第一储存器耦合;(ii)当该处理逻辑装载有可 以执行具有非信任内容或不是源自已有的受控环境的数据项的程序 指令时,该处理逻辑设备不能与第一储存器耦合;(iii)当该处理逻 辑装载有可以执行具有非信任内容或不是源自已有的受控环境的数 据项的程序指令时,该处理逻辑设备可以与第二储存器耦合;以及 (iv)当该处理逻辑装载有仅能将数据项从第一储存器复制到第二储 存器或从第二储存器复制到第一储存器的程序指令时,该处理逻辑设 备可以与第一储存器和第二储存器耦合。提供一种配置和操作该信息 装置的方法。
本发明的实施例提供在物理和/或虚拟处理或计算空间中选择、 配置、开关和/或复用多个进程,以创建物理的和/或虚拟的处理或计 算环境。在一个特定的实施例中,以保持进程之间的隔离的方式来提 供多个进程的时间复用,以便在一个进程(例如执行程序病毒)中的 问题不会对另一个进程或存储的程序或数据带来影响。隔离也可以通 过信任的管理员使用信任的架构和程序元件来有选择地无效 (override)。
本发明的实施例可以应用到各种电子设备和信息装置中,例如从 包含但不局限于以下装置的组中选择的装置:包含处理或计算逻辑的 任何设备、计算机、笔记本电脑、个人数据助理、个人数据管理器、 蜂窝电话、移动电话、无线电接收机、无线电发射机、GPS接收机、 卫星电话、车载计算机、机载计算机、导航设备、家用电器、打印设 备、扫描设备、照相机、数字照相机、电视接收机、广播控制系统、 电子工具、医疗监控设备、安全设备、环境控制系统、进程监控或控 制系统,以及这些装置的任何组合。
优选实施例的描述
本发明一般涉及计算机、信息装置、移动通信设备、蜂窝电话以 及移动电话、个人数据助理(PDA)、音乐储存设备及播放器、数据 管理器、包含这些功能元件的混合设备,以及其他电子系统和设备。 本发明还特别涉及提供安全特征和防病毒、防黑客和防网络恐怖的特 征的这种系统和设备;并且还特别涉及可以自动创建多个顺序地或同 时地以及间歇地隔离的和/或受限制的计算环境,以通过使用这些计 算环境结合移动和复制数据的受限制的和受控制的方法,结合破坏位 于计算环境和数据存储器中的恶意代码的进程来防止病毒、恶意的或 其他计算机入侵、计算机或设备的损坏和故障。
在本发明中,通过提供操作计算设备和其他信息装置的架构、系 统和途径及方法来满足这些需求。该新的方法导致对黑客和病毒以及 其他恶意代理和代码固有地具有免疫的计算机和信息装置。此外, 与允许用户在需要时通过回复到以前的软件备份启动“修复”的计算 机不同,本发明的架构、系统和方法的实施例在打开每个文件之前复 位或擦除存储器和数据存储器,以保持已有的未受感染的或已杀过毒 的储存器和处理环境。例如,使用这一新的技术,数据储存器可以自 动地被重新格式化或擦除,并且在该计算环境中移动或打开新的文件 之前,在每一个或每一次计算环境被暴露给非信任的或未知的代码之 后,存储器都可以被清除或复位。
将会理解的是,在本发明的实施例的架构、系统和方法的环境中, 本发明实施例提供由自动控制系统创建、操作和终止的间歇地、顺序 地隔离的,和/或可通信地受限制的计算环境。根据计算环境和/或包 含或使用该计算环境的设备的需求可以实现不同的隔离级别和/或安 全或免于恶意代码影响的级别。
本部分描述了用于保护计算机和计算设备免受黑客、病毒、网络 恐怖的攻击,以及免受诸如间谍软件(spy-ware)、按键录音机的潜 在损坏或侵扰以及来自黑客、病毒、蠕虫、特洛伊木的损坏以及类 似的威胁和攻击的架构、系统、装置、方法、计算机程序和计算机程 序产品。网络恐怖是一种例如通过源自非授权进入用户的私人数据的 企图的攻击来削弱或毁灭计算系统的企图。本发明提供了针对潜在的 网络恐怖事件的解决方案。
现有技术中的计算机系统典型地包括:处理器、存储器、显示器、 显示控制器,以及输入/输出控制器。本发明提供多个专用子系统(物 理地或时间地分离),其容纳在计算机系统(或其他设备)外壳或机 箱内。这些专用子系统典型地执行有限的功能,并且与其他专用子系 统之间具有有限的交互。
通用或专用子系统(在某些实施例中也称作“隔离的处理单元”, “隔离的计算环境”,或也简称为“计算环境”,有时还以功能性描述 的形容词为特征)可以出于很多目的而被设计成包括支持存储信息、 执行工作以及处理通信。
还应注意的是,计算环境和这种计算环境的组件可以是模化的 或动态配置的,以便特定的缺陷组件和/或计算环境可以通过例如 CSCE或CCE计算环境的控制实体来去除服务,直到包含计算环境的 缺陷组件或组件集被换出工作部分或被修复。可以执行附加组件的可 选诊断过程(例如通过一个或多个开关或其他方式)以及测试和移除 组件,以便识别和隔离所述问题。
下面描述计算环境方面。由于可以实现的特定实施例和物理实施 方案的广义范围,本描述稍微概括一些。计算环境可以执行一个或多 个计算机程序指令。一个或多个计算环境可以与计算机系统耦合。该 计算环境可以通过物理表示、逻辑表示和/或物理表示与逻辑表示的 组合来表示。在物理表示中,计算环境可以包含多个物理计算机组件, 诸如中央处理单元(CPU)、一个或多个存储器、以及一个或多个外 围设备。在逻辑计算环境表示中提供了通过使用一个或多个公共的计 算组件,第一计算环境可以与其他计算环境共存。第一计算环境与其 他计算环境隔离,从而支持第一计算环境与其他可能传递病毒、黑客 或其他故意的或偶然的恶意代码或数据的计算环境之间的通信。例 如,在一个实施例中,仅存在有限信息集的间接通信。在另一个实施 例中,可以存在直接通信,但是这种通信可能限定在特定的方式,以 便仅允许授权的数据类型和数量,例如窗口屏幕坐标、鼠标位置坐标, 或其他这里另外详细描述的数据类型和数量。可以使用过滤器限幅 器来限制第一计算环境与第二或其他计算环境之间的通信。在一些实 施例中,这些过滤器和/或限幅器是不会被恶意代码破坏的硬件电路, 在其它实施例中,软件和/或固件可以用于这种过虑或限制,并且在 其他实施例中也可以使用混合的软件-硬件/固件过滤器和/或限幅器。 每个计算环境典型地能够执行包括通过I/O开关系统从一个或多个外 围设备接收输入以及通过I/O开关系统向一个或多个外围设备发送输 出的处理行为。由一个计算环境执行的处理行为典型地独立于另一个 计算环境的处理行为。根据本发明的一个实施例,一个计算环境的潜 在恶意处理行为不会直接干涉到另一个计算环境的处理行为。
根据一个实施例,隔离计算环境和其他物理的或逻辑的计算环境 可以存在于与计算机系统对应的不同的地址空间中。因此,每个物理 或逻辑计算环境与其他逻辑计算环境中的每一个的操作隔离。此外, 应当明白的是,可以使用各种配置来管理多个逻辑计算环境的创建和 操作。此外,还应当明白的是,操作系统(例如Linux,Macintosh, Microsoft Windows(R),和/或其他操作系统)可以与逻辑计算环境, 物理计算环境和/或逻辑计算环境与物理计算环境的组合对应。
控制计算环境可以从用于配置和/或重新配置数据存储器开关系 统配置和/或I/O开关系统配置的计算环境中进行选择。数据存储器开 关系统配置可以支持控制计算环境与保护数据存储器之间的通信,如 上所述。根据本发明的一个实施例,初始引导序列可以识别计算机 COMS数据中的初始配置信息,以识别控制计算环境、保护数据存储 器,以及启动对数据存储器开关系统配置和/或I/O开关系统配置的配 置。
一个或多个用户计算环境可以从与控制计算环境和其他用户计 算环境隔离执行计算处理的计算环境中进行选择。可以通过用户计算 环境经由可与该用户计算环境通信耦合的数据存储器接收数据(例如 计算机文件)。根据一个实施例,控制计算环境可以与第一数据存储 器和保护数据存储器可通信地耦合,该第一数据存储器可以包括用户 信息,该保护数据存储器也可以包含用户信息。控制计算环境被配置 成支持在保护数据存储器与第一数据存储器之间复制信息。在控制计 算环境初始化第一数据存储器之后,第一数据存储器可以从控制计算 环境中可通信地去除(de-attach),并且随后附加到与独立于其他计算 环境而使用的用户计算环境上。在用户计算环境完成一个行为(例如 编辑文件,接收电子邮件等)之后,第一数据存储器可以从用户计算 环境可通信地去除并附加到控制计算环境中。同样,控制计算环境被 配置成支持在保护数据存储器与第一数据存储器之间复制信息。因 此,可以独立于用户计算环境的处理行为而保存数据。因此,在用户 计算环境内处理的恶意代码不会破坏在保护数据存储器上存储的其 他文件和/或数据。
在一个实施例中,当仅为复制操作时,可有选择地和间断地移除 复杂的处理能力(例如可以提供执行恶意计算机程序代码或软件的能 力的处理能力)。复杂的处理或进程本身在复制操作期间响应于来自 控制实体的信号而被切换出访问或被禁用,然后当所述操作完成时重 新激活。该操作例如可以用于文件保存操作,或者当将数据或主模板 复制到计算环境中时使用。
返回到其他特征的描述,我们注意到,在一个实施例中,储存器 专用子系统或计算环境(或保护储存器计算环境)可以被设计成存储 数据和检索数据,同时允许对所存储的数据进行有限的存取。工作专 用子系统(也称作独立的处理单元计算环境)可以被设计成处理信息 以实现与具有各个应用程序的通用计算机相同的结果,但是同时又整 体保护该系统和用户数据以免于丢失或破坏。通信专用子系统(或控 制和切换计算环境)可以被设计成促进其他专用子系统或计算环境之 间的通信。
根据要实现的处理,每个专用子系统或计算环境典型地可以包括 下述中的一个、某些组合或所有:处理能力、存储器、逻辑,和用于 耦合专用子系统或计算环境与其他(内部或外部)组件通信的接口。 处理能力可以是某些类型的计算机处理单元(CPU)或ASIC。处理 能力可以是计算机系统CPU,或由多个专用子系统共享的CPU。因此, 与专用子系统关联的处理能力也可以由计算机系统或其他专用子系 统使用。
本发明的典型特征和方面首先被描述成提供本发明的架构、特征 和优点的至少部分介绍。该部分后面还详细描述了几个典型的架构和 结构拓扑,以便本发明的广义范围和特定的结构和方法的实施方案可 以更易于理解。
本发明的各个实施例同时和/或间断和连续的或时间(时分)隔 离,和/或处理或计算环境、数据储存器和进程及通信的限制。在至 少一些实施例中,在使用该计算或处理环境用于后续操作之前,例如 在打开用于一个操作的其他文件或数据集之前,该隔离和/或限制与 事先使用的处理或计算机环境的擦除、重新格式化、复位或其他杀毒 处理组合。
在一个实施例中,计算机系统或包含计算环境或能力的其他设备 在连续和自动擦除/复位以及复制所有或部分模板的基础上可以提供 有新型自我修复特征,在每次打开新的文件之前,可以修复计算机或 防止在第一种情况下失败。
在一个典型的实施例中,用户数据存储在一个或多个同时或间断 连续隔离的和/或受限的数据存储器中和/或间断隔离的和/或受限的 保护计算环境中。这里,一个或多个保护数据存储器或保护计算环境 可以被称作保护数据储存器(PDS)。保护数据储存器可以存储任何 类型的数据,比如用户数据和文件、应用程序代码程序或小程序、操 作系统及其部分、设备驱动器、状况或状态信息,或任何其他任何类 型的信息。
虽然保护数据存储器或更通用的保护数据存储器的结构、组织、 和存储的内容可以根据系统而变化,下面相对于一个实施例来描述某 些可能存在的特征(包括某些可选特征)。保护数据储存器代表用于 以防止数据(任何数据,包括但是不局限于该数据存储器中的用户数 据、计算机程序代码、电子邮件、网页、指令、操作系统代码,或任 何其他二进制比特集或集合)执行的方式存储信息的数据存储器。因 此所述数据并不暴露于典型地根据存储信息的内容对存储的数据或 信息执行处理或操作的处理环境下。该同样的暴露隔离也适用于在数 据和软件复制操作期间,从而包含在其中的任何恶意代码直到其处在 隔离的计算环境中都不能执行,在该环境中,到执行能力中的暴露将 至多污染没有包含在隔离中的特定的计算环境。
根据本发明的一个实施例,用户文件(例如用户字处理文档、电 子邮件、电子表格、Microsoft Outlook、或其他联系文件、密码、蜂 窝电话电话号码表、PDA存储数据,或任何其他用户数据或程序)可 以存储在保护数据存储器中。在一个实施例中,通过将数据存储在保 护存储器中实现保护,从而数据不能被任何会导致例如可能存在于病 毒、机器人、黑客代码或其他恶意代码中的恶意代码或二进制序列执 行的结构或进程访问。理想的,可以独立于在保护数据存储器上或在 计算机(或其他电子设备例如PDA,蜂窝式电话,模拟或数字照相机, 或其他信息装置)的位置中存储的文件的原始版本,对原始数据的副 本执行用户操作,例如编辑对应的工作处理文件或打开和查看电子邮 件信息(以及其上的任何附件)。原始文件或数据集的保护存储以及 对文件或数据的副本的存储和操作的分离还会在其他地方更详细地 描述。在此上下文中,可以明白的是,与可以执行病毒或其他恶意代 码的处理器分离不是问题,这种代码简单的是“0”和“1”比特的集 合,即使在其存储在数据存储器或从一个数据存储器移动或复制到另 一个数据存储器时。
可以使用一个或多个本发明的数据存储器来定义保护数据存储 器。多个保护数据存储器可以可选地定义,但是通常不是必须的。根 据本发明的一个实施例,独立于可以修改用户文件的处理环境,保护 数据存储器可以用于存储用户数据或其他文件(可能包括计算机应用 程序、操作系统、以及其他非用户代码或数据)。应当注意,主模板 可以是以保护储存器的形式存储的非用户数据的一种类型。这另外也 可以被称为保护主模板存储器。
根据本发明的一种调整,编辑文档的用户决定会使该文档的原始 版本从保护数据存储器复制到第二数据存储器。可与第二数据存储器 耦合的用于编辑原始文档的用户计算环境可用于创建该文档的第二 版本。用户的行为,例如保存该文档的第二版本,产生将该文档的第 二版本从第二数据存储器复制到保护数据存储器的一系列的指令。将 该文档的第二版本复制回到保护数据存储器可以改写该文档的原始 版本。
将在本说明书其他部分详细描述用于存储和从保护数据存储器 和/或从保护主模板存储器检索二进制数据的结构和过程,以及在没 有使可能包含恶意代码的或存储在相同存储设备上或在相同计算机 系统内的数据受影响的情况下如何操作在计算系统中处理的该保护 信息。
下面返回到对该系统的描述,其利用切换通信,控制计算环境根 据需要同时或间断地隔离和/或限制与保护数据储存器的通信,以保 护该保护数据储存器免于处理或执行可能出现未知的或潜在的恶意 代码的代码。保护数据储存器上的数据目录例如可以通过控制计算环 境或保护储存器计算环境创建(进一步参见对这些特定的计算环境配 置的描述),并且该目录可以传送至(同时或间断地)隔离的和/或受 限制的计算环境,例如桌面计算环境。这些控制计算环境、保护储存 器计算环境、以及桌面计算环境的实施例,以及其他计算环境在本说 明书的其他地方及附图中将更详细的描述。应当注意,在一个实施例 中,所述目录通过可以包含有限处理能力的保护储存器计算环境来创 建。例如,其可以包含读取和写入ASCII以及扩展的ASCII文件名和 目录的功能,并且可以包含复制和移动数据的能力,可以包含创建文 件目录的能力,但是通常不包含识别或执行代码或可能对系统、程序 或数据完整性有害的其他功能所需要的其他功能或能力。该信息可以 通过控制计算环境收集或通过保护储存器计算环境发送至控制计算 环境。
应当理解的是,在本发明的至少一个实施例中,以下结构和/或 过程中的一个、一个以上、或任意组合都可以组合成一个计算环境配 置和/或进程,并且这些可以预先确定或动态确定和配置:(a)控制 环境,(b)保护储存器,(c)桌面环境,(d)开关,(e)开关配置, (f)重新格式化/擦除环境,(g)视频控制环境,(h)视频处理,以 及任何这些环境的组合或子集。如在本说明书其他地方描述的,也可 以同时或另外实现其他可选的结构和/或过程元件。因此,例如,在 一个实施例中,本发明可能由两个计算环境构成,一个包含所有的环 境和开关以及开关配置,但是不包含用户环境,以及第二环境仅包含 用户环境。
为了打开用户数据,用户可以选择例如文件名或“捷径”或“别 名”的数据表示,其位于桌面计算环境中或由桌面计算环境来识别。 实际的文件并不在桌面计算环境中打开或执行,并且在本发明的实施 例中,并不实际存在于桌面计算环境中。反之,该文件名和位置信息 (该文件或数据集的指针或参考)也可以随后被发送至控制计算环 境,该控制计算环境可以不与桌面计算环境隔离。在该实施例中,控 制计算环境可以将与由用户(或其他指定实体)选择的文件名对应的 文件从保护数据储存器复制到多个同时或间断隔离和/或可通信地受 限的计算环境中的一个(例如用户计算环境#1)。在该实例中,命令 被发送给用户计算环境#1以打开所述文件,并且命令被发送给开关 以终止与用户计算环境#1的无限通信。与这种操作有关的架构、系 统和方法在本说明书的其他部分将有更详细的描述。
至少部分地出于此种原因,如果用户数据被恶意代码“感染”并 执行,除了对原始受感染的数据文件的损坏外,其不能损坏或破坏免 于执行恶意代码的破坏的储存器中的其他用户数据或信息。同时如果 应用程序计算机代码或操作系统程序代码已被污染或损害,因为最多 是副本已被污染或损害,并且不会被重复使用,所以这种污染或损害 将不会对该系统或设备的继续操作具有任何影响,这同样是正确的。
在该典型的实施例中,一个可选的受限的通信通路可以将用户计 算环境#1连接到控制计算环境,并且该通信通路可以以几种方式中 的任何一种或多种来进行限制。例如,该通信通路可以通过ASIC限 幅器或过滤器来限制,该限幅器或过滤器可能具有高度受限的通信能 力,例如仅允许预定的ACSII字符集通过,该集或排序被已知具有确 定的或预定的不支持可执行指令的高概率。该限幅器例如可以将试图 传送的比特或字符集与允许的比特或字符集进行比较。在该特定的实 施例中,例如,可以仅包含或拥有被要求来向控制环境传送非常有限 数量和/或二进制“0”或“1”比特的组合或序列的功能,表示例如: “保存文件”和“擦除/复位该计算环境”的概念,并且例如可以包 含对在某一时间周期或响应某一或某些事件其可能传送的信息量的 限制。
可替换的或者另外,例如,电子的或光脉冲或其他信号可以被传 送至与控制环境连接的接收机,并且例如指示“保存文件”的一个脉 冲,以及指示“擦除/复位该计算环境”的两个同步的连续脉冲。将 会理解的是,这些仅仅是示例,那些本领域普通技术人员根据这里所 提供的本说明书将会明白,也可以实现其他限制信息量或信息特性但 提供所需操作的信令方案。
在数据存储器及其计算环境已“暴露”给用户文档,并且因此潜 在地暴露给病毒、间谍软件或类似有意或无意的恶意程序代码后,数 据储存设备可以被完全地重新格式化和/或清除、擦除并在任意组合 下被复位,从而消除所有的数据,例如隐藏分区、驱动器、引导扇区、 隐藏代码等。计算环境也可以以确保在其下一次使用之前没有残余污 染的方式被“重新设置”(例如能量循环或清除或重载)。
上述(以及在本说明书其他地方的各个替代实施例中的)切换及 复制进程可以用于安全地向/从隔离的计算环境和数据储存设备或储 存子系统移动数据;该进程可以由控制计算环境以及相关的软件和连 接的开关控制和编排。根据需要,可以在数据储存设备之间复制主模 板(在其它地方的各个实施例中将更详细的描述,但是其以简化的术 语包含或包括干净的未受污染的可执行代码)。
结合几个实施例描述了几种开关和切换系统及装置。此外,因为 本发明的架构、系统、和方法广泛应用到许多不同的物理方案和设备 类型中,本描述稍微概括一些。在一个实施例中,可以使用普通的开 关系统来耦合一个或多个源和一个或多个目的地以支持源与目的地 之间的通信,例如第一与第二储存器设备之间或网络接口卡(NIC) 与计算环境之间,以便仅命名可以被命名的多个示例中的两个。该通 信可以支持源与目的地之间的双向或单向通信。所述普通的开关系统 可以与用于确定哪个源将与哪个目的地耦合的开关配置耦合。该开关 配置例如可以包括一个或多个逻辑电路或多个电路,数据文件,查找 表,和/或任何其他用于识别或指定源与目的地之间的连接或有效激 活的通信通路的装置。在一个实施例中,该开关配置可以识别无效或 未激活的通信通路,在又一个实施例中,该开关配置可以识别可能的 源与目的地之间的无效(未激活)或有效(激活)的通信通路。该普 通的开关系统可以以硬件、软件和/或硬件与软件的结合实现。
根据本发明的一个实施例,该普通开关系统可以以硬件实现为物 理开关。所述源可以被表示为IDE驱动,所述目的地可以表示为计算 环境。每个源可以使用IDE电缆与普通的开关系统耦合。每个目的地 也可以使用IDE电缆与普通的开关系统耦合。根据本发明的一个实施 例,所述开关配置可以根据该开关的物理能力表示,并且其中该IDE 电缆物理地耦合至该开关。从而该物理开关的物理操作和/或扭曲可 以将与源对应的给定的IDE电缆连接到与目的地对应的给定的第二 IDE电缆,以用于支持源与目的地之间的通信。源与目的地之间的通 信可以支持双向通信。根据本发明的一个实施例,该开关可以手动和 /或在一个或多个计算环境的指示和/或控制下激活。
根据本发明的一个实施例,普通开关系统可以以硬件和软件的结 合来实现,例如通过使用与普通开关系统耦合的计算机系统。该计算 机系统可以执行一个或多个计算机指令并且可以用于配置该普通开 关系统。几种示例的指令可以包括配置指令、通信指令、以及存取指 令。配置指令可以用于配置通信以支持给定的源与目的地之间的通信 的激活或去激活。通信指令可以用于接收、发送和/或验证与一个或 多个配置相关的信息。例如,通信指令可以用于接收可由配置指令随 后使用的信息。存取指令可以用于读取和/或写入与开关配置有关的 信息。然而,应当理解的是,也可以使用其他指令和/或指令集。
数据存储器开关系统可以包括普通开关系统的功能,其中所述源 可以表示数据存储器,所述目的地可以表示计算环境。所述普通配置 可以用于识别哪个数据存储器与哪个计算环境耦合。如上所述,IDE 设备可以表示数据存储器的一个实施例,该数据存储器可以被配置成 支持与一个或多个计算环境的通信。
根据本发明的一个实施例,数据存储器开关系统可以与数据存储 器开关系统配置耦合,该开关系统配置可以扩展与普通配置对应的特 性的数量和/或类型。该数据存储器开关系统特性还可以支持配置源 与目的地之间的通信。
I/O和/或其他外围设备或设备开关系统可以包括普通开关系统的 功能,其中源可以表示外围设备,目的地可以表示计算环境。普通配 置可用于识别哪个数据存储器与哪个计算环境耦合。键盘设备可以表 示外围设备的一个实施例,其可以被配置成支持与一个或多个计算环 境的通信。
根据本发明的一个实施例,I/O系统可以与I/O系统配置耦合,该 I/O系统配置可以扩展与普通配置对应的特性的数量和/或类型。该I/O 开关系统特性支持配置源与目的地之间的通信。在这种切换和通信通 路的上下文内,在一个实施例中,数据存储器开关通信通路被用于将 计算环境与数据存储开关耦合。所述数据存储开关通信通路被用于根 据数据存储器开关配置支持与至少一个数据存储器的通信,如上所 述。根据一个实施例,一个与计算环境耦合的数据存储器包括可由计 算环境作为计算机引导设备使用的操作系统。
以类似方式,I/O开关通信通路被用于将计算环境与I/O开关系统 耦合。该I/O开关通信通路可用于将一个或多个外围设备与一个或多 个计算环境耦合。该I/O开关系统配置可用于将输出从一个或多个计 算环境导引到单个输出设备。类似的,I/O开关系统配置可用于将输 入从单个外围设备计算设备导引到一个或多个计算环境。
I/O开关系统配置可以被配置成根据相应的特性将接收的输入 (或输出)导引到至少一个计算环境。并且,该I/O开关系统配置可 以被配置成根据对应的特性将由一个或多个计算环境产生的输出导 引到输入/输出设备,外围设备,或该系统中的其他某些组件,或从 该系统中的其他组件导引出(参见本说明书中对特性的描述)。
注意另一个类型的信号,应当注意的是,在一个实施例中,当恶 意代码可能不再执行时(例如,当输出已被转换成图形“基元和属性”, 和/或其中视频信号模拟信号时),从每个隔离的计算环境输出的视 频信号在处理这些视频信号时可以被组合或混合。这防止了表示发生 在隔离的计算环境中的进程的窗口视频信号被用作反对(cross)污染 不同的计算环境的介质。(应当注意的是,不是所有的计算环境都需 要或产生视频输出信号,因为某些处理特别是在专用设备中的处理可 以处理计算环境中的数据但是不提供用户可以浏览的视频显示或信 号。)
在一个实施例中,也可以将所谓的“隔离全局工具栏”用于预定 的或动态的(例如上下文敏感的)命令和/或其他操作或功能。该隔 离全局工具栏可以出现在其自有的隔离视频层或桌面计算环境上以 保护其免受恶意代码攻击。有利地是,该隔离全局工具栏总是在最上 或响应某些用户命令或行为而显示,从而在一个计算环境中,用户或 其他信任的控制实体可以直接控制行为。例如,如果用户看到某些在 显示屏的窗口视频部分中呈现的可疑的输出,用户可以访问该隔离全 局工具栏并中断在该计算环境中发生的处理,包括可选地采取各种选 项,例如保存或不保存文件。在一个实施例中,这为用户或操作者提 供了对整个系统操作以及在任何计算环境内部发生的操作的管理控 制。原则上,全局工具栏可以允许任意操作或功能,但是某些实施例, 全局工具栏具有更有限的管理功能或操作集。在某些实施例中,通过 全局工具栏访问的功能和操作可以根据系统故障、管理喜好、用户喜 好、或根据其他规则或政策来设置。
在一个实施例中,这些功能和操作也可以或另外在计算机程序软 件指令中执行。在其他实施例中,可以是硬件组件,而在另外的实施 例中可以是硬件与软件的组合。因此,每个环境可以用软件隔离,也 可以通过软件等执行切换和复制。
应当注意的是,可选的过程步骤可以被删减或消除,并且这里所 描述的计算环境的功能可以根据需要被混合和匹配。在某些场合中, 对包含或排除可选步骤或过程的判定将在威胁的环境、数据和/或操 作的敏感性、速度的需求、存储设备属性(例如磁存储器病毒电子 RAM),以及其他因素的范围内进行。例如,控制计算环境的功能可 以与桌面计算环境和/或开关配置,和/或开关,和/或保护储存器组合。
本发明的原理超越了任何特定的计算机操作系统、应用程序、用 户接口、或设备类型或特性。本质上,本发明的架构、系统、方法和 过程可应用于任何具有可以使用信息(例如以二进制比特形式)执行 预期的逻辑或算术操作的逻辑电路的可选设备并因此容易受由于具 有引入的不同的或附加信息而改变或破坏的影响,从而不能执行预期 的操作或执行附加的操作。在现代设备中,例如计算机、信息装置、 蜂窝式或其他移动电话、汽车电子设备、家用电器、GPS接收机、PDA 等,逻辑是控制器、处理器、微处理器、或其他可编程逻辑电路或逻 辑装置等;并且使用的信息是计算机程序指令和可选的数据。在未来, 预计当前开发的可选计算系统将进一步被商业化,因此本发明同样将 变得可应用于光计算和信息处理系统以及光学处理器中。
这里的描述主要集中在计算机和计算环境上,但是将会理解的 是,本发明可应用于具有翻译指令和/或数据的逻辑并且易受病毒、 黑客、间谍软件、网络恐怖事件或其他外部代理引起的偶然的或故意 的恶意攻击的影响的所有设备和系统方式。
下面把注意力转到传统的计算系统的某些特征以及本发明的各 个实施例的比较方面。由于本发明可以以多种不同的物理形式实现, 我们描述了多个实施例作为如何实现典型的系统的例子。那些本领域 普通技术人员将会理解的是,这些仅仅是体现了这些特征中的某些或 所有特征的本发明的附加实施例。
图1是表示根据现有技术典型的膝上型(或其他)计算机系统1900 的图示。该计算机系统包括其中设置有电子设备和任何机械组件,例 如CPU 1508-1,数据存储器1502-1(典型地以转动式磁硬盘驱动器 的形式),以及一个或多个外围设备1541-1,1541-2,…,1541-N的 机箱或壳体,与现有技术中已知的一样。机箱或壳体1904典型的还安 装或承载显示屏1904和键盘以及例如鼠标的指示设备。附加的外围设 备可以通过所提供的各种典型的连接器端口附接或连接到这种计算 机系统1900。在这种传统的计算系统中,数据存储器1502-1和外围设 备1514-N通常通过系统和外围设备总线以固定的拓扑结构耦合至 CPU 1508-1,如现有技术中已知的。例如,数据存储器1502-1,典型 地为硬盘驱动器或某些固态存储器(RAM),总是耦合至CPU,除非 从该系统1900中物理地移除。同样,CPU耦合的存储器典型地总是耦 合至CPU,除非被移除,在大多数传统的计算系统中,这种存储器(比 如片上高速缓存器的形式)的特定部分总是并永久地耦合至CPU。类 似的,例如CDROM、DVD读取/写入器、网络接口卡(NIC)、调制 解调器、软盘驱动器(FDD)、无线接口卡的外围设备以及其他外围 设备都耦合至该系统并通过固定总线或互连直接或间接连接至CPU。 由于这些连接总是存在,它们会提供将病毒或其他恶意代码引入到 CPU、与CPU相关的存储器、BIOS或数据存储器中的机会。这种恶 意代码可以立即产生影响或潜伏直到未来的某一时间或事件。这种用 于实现对这种攻击免疫的级别的攻击和装置还将相对于本发明的实 施例进行描述。
图2示出了典型的信息装置,例如桌面计算机系统、膝上型计算 机系统、笔记本计算机系统、个人数据助理(PDA)、固定的或移动的 有线或无线通信设备(例如移动电话、蜂窝电话、卫星电话、射频发 射机和/或接收机,等等)。通常,本发明的架构、方法、计算机程序 以及计算机程序产品是可应用的并且可以与包含或者适于包含至少 一个处理元件(例如控制器或微控制器、CPU、ASIC、微处理器、 逻辑电路、或任何其他处理元件)的任何电子设备或系统一起使用。 (本发明的其他实施例已描述,并且可以使用两个或其他多个这种处 理元件,包括所列举的处理元件类型的任意组合)。这种系统可以被 实现来执行各种操作,例如某些预定的,动态确定的或其他逻辑,计 算,字处理,电子邮件,网络计算,音乐处理,视频处理,互联网浏 览,语音处理或编码或解码,诸如在包含数字照相机的移动电话的数 字照相机中的图片或图像获取或处理,GPS信号接收和处理,定位导 航,娱乐。那些本领域技术人员根据这里提供的说明将会理解的是, 很多电子设备和系统都落入到本申请的可应用范畴。本发明提供特殊 的优点:希望防病毒和防黑客保护,同时希望同时处理多个应用,通 过这些可以分别实现这两个优点。
在所示出的实施例中,创建单个计算环境,或更有利地,在本发 明系统和方法的大多数实施例中,创建多个多重独立的计算环境 1508-1,1508-2,…1508-N。这些计算环境1508具有类似于图7和图8的 实施例中的专用子系统1120的特征,并且在详细描述本发明的几个实 施例之后相似之处将变得更加清晰。独立的计算环境例如可以使用硬 连线的或可编程的算术或逻辑电路,可编程微控制器,处理器,微处 理器,CPU,ASIC,以任意组合以及可能在诸如微处理器存储器、 电源等的支持组件的支持下物理地实现。至少某些实施例使用中央处 理单元(CPU)、微处理器、微控制器、ASIC、或某些组合以提供物 理结构来创建计算(处理)环境1508。在某些场合下,处理或计算任 务的复杂度将规定将支持所需的计算环境的物理元件。在一个实施例 中,创建所述计算环境的元件是可动态选择和配置的。这种选择和配 置可以在用户控制下进行,或者更典型地,可以根据某些预定的或动 态确定的规则或政策,并且可选地,但是是所希望的,根据某些测量 的计算系统的物理或逻辑状态、环境条件、处理请求和复杂度、应用 程序大小和数据集大小,在计算系统2000的自动控制下进行。也可以 提供备用组件,从而这种备用组件(例如CPU、存储器、储存器、视 频处理器、协处理器调制解调器、网络或以太网处理器,等等)可 以接入以替代故障组件。动态分配和配置也可以提供效能,其中存在 许多计算环境,其不需要为每个环境提供所有处理能力。
计算环境1508是或可以根据切换命令或I/O开关配置数据或逻辑 1512经由可选的I/O开关系统1510耦合或可选择地耦合至外围设备 1514-1,…,1514-N。在本发明的特定实施例中,对可选的I/O开关 系统1510的任何要求可以取决于比如特定的外围设备的特性、以及所 需的或所希望的安全或隔离度之类的因素。在一些实施例中,特定的 外围设备可以与一个或所述选择的计算环境直接连接、永久连接、永 久断开、或可切换地连接。图2的计算机系统2000例如可以包括附接 到机箱或框架1902或由机箱或框架1902支撑的显示设备1904。其通常 还包括例如键盘的输入设备和指示设备,但是考虑到很多替代的输入 和输出替换(例如语音输入、触摸屏、声音或口头的计算机生成语音 等等),这并不是必需的。LCD显示器也可以代替如蜂窝式电话、PDA 和数码相机的设备或其他设备中的计算机屏幕。
至于在此所描述的其他开关和切换系统,切换可以是机械的、电 子的、电子设备、晶体管、二极管、微处理器、数字的或模拟中的任 何一种、多种或多种样式,其实现所需的切换并保持所需的或所希望 的电压电流、隔离、阻抗、终端、和/或电气特性。例如,将硬盘 驱动器与CPU连接或断开的开关将这样做而不损坏CPU或硬盘驱动 器。在具有某些设备的某些情况下,切换可以通过关闭设备、或设备 的一部分,或限制工作电压或电流,通过中止设备的时钟,通过中断 数据线或通信通路但是不中断电源线,或其他中止操作的方式来实 现,如现有技术中已知的。如在本说明书中其他部分所描述的,在一 些情况下,这些切换操作意在提供计算系统与不同的计算环境 1508-1,…,1508-N的组件之间的隔离的保障度。
根据切换命令或数据存储器开关配置数据或逻辑1506,多个计算 环境(也称作图7和图8的实施例中的专用子系统1120)通过数据存储 器开关系统1504也可以选择性地耦合或可以耦合至一个或多个数据 存储器1502。数据存储器可以是现有技术中任何已知的或将要开发的 存储设备的组合,例如包括但不局限于旋转式磁硬盘驱动器、旋转式 磁软盘驱动器、CD、DVD、全息记录、基于纳米技术的存储器、固 态存储器(RAM、ROM、EEPROM、CMOS等),分子或原子存储器、 化学存储器、以及任何其他存储设备或系统。将会明白的是,分离的 逻辑储存器元件1502-1,1502-2,…,1502-N可以被配置或分配在单个 物理设备或在任意物理设备组合上,甚至对单个逻辑储存设备1502-2 (例如),可以使用多个不同的物理设备来获取所需的或所希望的储 存容量、将数据复制到设备的速度、从储存设备写数据的速度、清除 和/或擦除或改写速度和性能、或其他操作特性。例如,在笔记本电 脑的一个实施例中,某些数据存储器1502被实现为单个物理硬盘驱动 器的逻辑分区。在另一个实施例中,利用固态存储设备实现所有数据 存储器1502,以提供快速读取、写入、以及擦除速度性能。各种多端 口的存储器类型和结构都是可得到的,并且可用。例如,可以使用 Rambus存储器,同样可以使用更多的传统存储器芯片。在又一个实 施例中,几个数据存储器1502可以被实现为多磁盘硬磁盘驱动器上的 分离的盘片或磁盘。这种驱动器可以具有单个控制器和可控的读取/ 写入磁头组,或者可以具有独立的控制器或可选择的独立可操作的激 励器臂和读取/写入磁头以确保数据通路的隔离,从而恶意代码(例 如来自病毒、机器人或计算机黑客)不能从一个计算环境转移到另一 个计算环境,并且破坏期望的隔离以及几个计算环境的独立性。
期望的是,对于物理上的小设备(例如PDA,移动电话或其他通 信设备),与具有机械移动部分的存储器相比,由于低能耗、较小的 尺寸、较低的热量生成、较快的存取速度、读/写速度,以及加快和 减缓或擦除的原因,优选是仅使用固态存储器。这种固态存储器可以 是设备内部的(例如移动电话),外部的但是通过机械的和电子连接 器插入或耦合的(例如通过使用紧凑存储卡或模块,索尼SmartMedia, 基于Microsoft Windows操作系统(OS)和PalmPilot OS的PDA的基 本或附加存储器;PDA蜂窝电话组合;PDA、蜂窝式电话、以及数码 相机组合设备;数码相机;蜂窝电话,数字音频和/或视频录音机和 播放器;MP3播放器;以及其他设备和存储器系统,如现有技术中已 知的)。也可以使用不属于固态的小型廉价存储器设备和子系统。
图1的传统计算机系统1900与图2的本发明的实施例2000之间的 比较揭示了几个区别。在传统的系统中,数据存储器1502-1直接连接 或通过某些或多或少的固定或永久的连接而连接到CPU 1508-1,例如 通过一个或多个总线或互联。(在某些情况下以及对于某些设备类型, 机械和手动地断开连接也是可能的,但是在根据特定存储设备、外围 设备、或根据处理操作此时的其他系统组件的需求或期望的计算机的 操作期间,在可编程控制下,这是不可能的)。通过与传统的系统1900 比较,如果发生的话(取决于数据存储器开关系统1504的状态),计 算机系统2000的几个数据存储器1502-1,…,1502-N通过数据存储器开 关系统耦合至计算环境(例如,包括某些处理或计算能力(例如但不 局限于CPU)的计算环境)。通常,任何一个数据存储器1502可以耦 合至任何一个计算环境,或不与任何一个耦合。更典型地,当存在对 这种耦合或连接的需求时,任何给定的数据存储器将间歇地耦合或连 接到计算环境,以及在存在计算环境期间可以改变的特定的数据存储 器1502。除非控制器或控制计算环境特别地希望、要求并允许,主要 的缺省设定是这种数据存储器和其他设备不耦合或连接。
此外,在本发明的实施例中,例如特定的CPU的物理组件与特定 的数据存储器(例如硬盘驱动器或固态存储器芯片)之间的削减或切 换连接可以(但不必须)针对不同的处理操作进行动态改变。同样, 在至少某些包括可选的I/O开关系统1510和可选的I/O开关配置1512 的实施例中,计算环境1508仅通过I/O开关系统1510耦合至外围设备 1514。可切换地连接或耦合可能涉及各种切换方案中的任何一种,例 如涉及改变一个或多个电气连接,从接口或外围设备移除电源,停止 外围设备操作所需的时钟信号的方案,以及如现有技术中已知的用于 使外围设备不出现或不为计算环境可取的其他方案、结构和方法。
将会明白的是,激活或禁止(或连接和断开)数据存储器1502 和/或外围设备1514的操作可能在程序控制下自动发生,而不需要人 为用户干预(虽然激活或禁止可能是由计算机系统的用户命令或其他 行为的结果),并且当操作本发明的计算机系统2000的操作需要时, 该激活和禁止可能每秒发生多次。例如,其中计算机具有操作在100M 赫兹的接口或总线时,可以根据启动、执行和完成接口或总线上的操 作的需要,可切换地耦合和去耦合数据存储器和外围设备。例如,切 换可以至少发生在1Hz、10Hz、100Hz、1kHz、1MHz和10MHz的速 率上,以及更高或更低的速率和任何中间的速率。还将明白的是,根 据本描述,数据存储器开关系统1504和I/O开关系统1510(当存在时) 可以同时切换以将不同的CPU激活或连接,或禁止或断开,到数据存 储器和/或外围设备。
在典型的传统计算机系统1900中,外围设备1514直接连接到CPU 1508,并且在操作计算机系统期间是不可切换地连接和断开(或激活 和禁止)的。将会明白的是,数据存储器和外围设备的断开也可以使 它们可用于其他计算环境。在传统的系统中,即使其中某些外围设备 是可热插拔的,插拔外围设备是需要人为用户交互的手动操作。在对 本发明的其他实施例的描述的上下文中,将会更好地理解传统计算系 统和方法与本发明的系统和方法之间的其他区别。
图3示出了支持多个独立计算环境1508-1,…,1508-N的架构和系 统1500的示意图,包括能够执行多个独立的计算环境的计算机系统, 该多个独立的计算环境可有利地用于分离和隔离某些处理操作以防 止通过恶意病毒、机器人或黑客损坏用户数据进行的污染或攻击。这 种计算机系统1500可以包括多个数据存储器1502,数据存储器开关系 统1504(以及可选的数据存储器开关配置单元1506),例如包含通过 可选的I/O开关系统和I/O开关配置单元耦合至计算环境1508的一个 或多个外围设备1514的I/O系统,以及一个或多个计算环境1508。
一个或多个数据存储器1502可以与计算机系统耦合。数据存储器 1502表示存储区。数据存储器可以通过任何类型的存储介质实现,例 如磁硬盘驱动器,光学存储介质,固态存储器,其他数据存储器形式, 或这些数据存储介质类型的组合。数据存储器可以表示与磁盘和/或 一个或多个磁盘驱动器的一部分,和/或组合或物理磁盘驱动器对应 的存储区。根据本发明的一个实施例,数据存储器1502可以包含主模 板的副本。以下将相对于图4描述结合本发明的系统使用的一种方法 的实施例。
使用可以支持多个独立计算环境的计算机系统的方法实施例
参照图4,图5,和图6,下面将注意力转向对用于建立和初始化 以及操作根据本发明的计算机系统的典型实施例的操作和方法的各 方面的描述。典型的方法和过程至少可应用于图2和图3的实施例中所 示的体系结构和系统中,将会明白的是,由于本发明的其他实施例中 的结构稍微不同导致适当修改,例如但不局限于相对图9-17所描述 和例示的实施例。在该部分以及整个说明书中提供的标题和子标题是 要用于方便阅读者的参考,其中描述了本发明和本发明的实施例的特 定方面,但是将会理解的是,本发明和本发明的实施例的方面在整个 说明书、附图以及权利要求中描述,在理解本发明时说明书、附图和 权利要求书作为总体考虑。
在本发明的一个实施例中,用于创建或建立计算环境、初始化、 配置开关、控制处理、操作一个或多个计算环境、执行计算环境内的 用户和/或控制操作、完成用户处理、保存文件,以及终止计算环境 中的处理的本发明的方法和组件过程可以被有利地实现作为存储在 有形介质上的计算机程序或计算机程序产品,并且包括用于执行本发 明的方法和系统的方法步骤的计算机程序指令。其他实施例可以使用 硬件逻辑、固件、和/或软件的组合来实现这些过程中的某些或全部。
下面描述本发明的方法的各方面。本发明方法及过程的这些及其 他方面(包括实施例特定的可选的过程和步骤)在整个说明书中特定 实施例的上下文中描述。
初始系统启动和建立计算环境
参照图4,根据本发明方法的一个实施例,使用多个独立的计算 环境(1508-N)可以包括开始系统启动(1602),配置在1604的I/O开 关系统配置(1512)以及在1604的数据存储器开关配置1506,配置I/O 开关系统1510以支持通信,配置数据存储器开关系统1504以支持通 信,执行在1623的控制处理,以及在1631的用户处理。典型地,控制 处理还可以包括在1615的控制建立处理和在1621的控制保存处理。
在1602的开始系统启动可以包括与已有的计算机系统引导序列 类似的初始引导序列。该引导序列还可以包括对定义和/或修改在 1604的一个或多个开关配置的支持,例如数据存储器开关配置和/或 I/O开关配置。每个切换系统的初始配置可以被启动来根据相应的开 关配置1604在一个或多个源与一个或多个目的地之间建立一个或多 个通信通路。开关的配置1800还可以包括配置数据存储器开关1804 和配置I/O系统开关1806的过程以及启动图6中所示的计算环境的过 程。(本发明的其他实施例在初始配置或当重新配置一个计算环境时 提供配置数据存储器和I/O开关的组合过程。)
进一步参照图5,示出了根据本发明的一个实施例用于启动一个 计算环境的过程的实施例。在启动操作1702过程中,可以通过物理开 关1704来接通电源以开始系统启动。在系统启动时,可以使用CMOS 存储器1708来定义初始化进程和/或引导序列的一个或多个步骤。引 导序列1706或某些其他初始化序列或过程可以使用与CMOS 1708或 其他存储器耦合的信息以建立开关系统配置,并随后初始化相应的开 关系统以应用和/或修改所述配置以可通信地耦合源和目的地。也可 以通过在1602的系统启动来启动一个或多个计算环境。
进一步参照图4,在1608和1622建立计算环境可以包括配置I//O 开关系统配置和数据存储器开关配置,配置I/O开关系统以支持通信, 以及配置数据存储器开关系统以支持通信。
根据一个实施例,两个数据存储器(例如数据存储器 1502-1,1502-N)可以与计算环境耦合。第一数据存储器可以包括操作 系统以支持计算环境的处理行为。第二数据存储器可以包括各种可以 被计算环境使用或操作的信息。该各种信息例如可以包括特定的用户 信息和/或配置信息。特定的用户信息可以包括将由用户编辑的文档。 配置信息可以被用于控制计算环境以配置数据存储器开关配置和/或 I/O开关配置。
典型地,在建立任何用户计算环境之前,在1608建立控制计算环 境。在一些实施例中,控制计算环境或等同物可以在初始化时建立。 第一控制计算环境如上所述可以由引导序列建立。第一数据存储器可 以支持计算机操作系统。第二数据存储器可以表示保护数据存储器。 在数据存储器耦合至计算环境之后,该计算环境可以引导来允许用户 与该计算环境交互。通过被配置成将与控制计算环境的特性对应的输 入传送给控制计算环境(例如区域特性和计算环境识别特性)的I/O 开关系统1510可以接收用户输入。类似地,来自控制计算环境的输出 可以根据与该控制计算环境对应的特性被发送至外围设备(例如外围 设备1514-1,…,1514-N)。因此,控制计算环境可以从第一数据存储器 引导并可以访问保护数据存储器。因此,用户可以与控制计算环境交 互。
下面把注意力转向使用本发明的架构、系统和方法的实施例中的 可选“特性”的选项。本说明书其他部分参照该特性,虽然可有利使 用的是可选的特征。在一个实施例中,至少一个特征、属性、描述符 或特性可用于表示每个源和目的地(以及表示系统的其他组件的特 性)。该特性可以表示物理标识符和/或逻辑标识符。根据IDE磁盘驱 动存储设备示例,如上所述,每个IDE电缆可以由与物理开关的物理 耦合来识别。IDE驱动信息(例如主和/或从标记,驱动器大小等等) 可用于识别驱动器和/或与驱动器耦合的数据存储器。
类似地,使用至少一个特性来表示每个目的地,例如计算环境或 CE。如果该计算环境代表分离的物理计算环境,其可以由分离的物 理计算特性来识别,例如与普通开关耦合的唯一的接口。根据本发明 的一个实施例,计算环境可以被表示为可以共享与另一个计算环境对 应的某些或所有的物理计算属性的逻辑计算环境。逻辑计算环境可以 以各种方式识别,例如通过唯一的进程标识符识别。
一个或多个特性可以与输出设备(例如计算机监视器和/或计算 机图形卡)对应。根据一个实施例,一个特性可以对应于与计算机监 视器的可能的浏览区域相关的显示区域。可以根据显示区域特性定位 来自源的显示输出,从而来自一个计算环境的输出被指示用于在与一 个区域特性相关的区域中显示。一个区域特性可以包括一对x,y坐标, 该对坐标定义与计算机监视器的可能的浏览区域相关的矩形显示区 域。因此,来自特定的计算环境的显示输出可以根据对应的区域而不 是另一个区域内的一个或多个特性来表示。
一个或多个特性可以对应于输入设备。如上所述,与可能的浏览 区域相关的区域特性可以进一步扩展以识别何时将输入传送至特定 的计算环境。鼠标移动和鼠标命令也可以与矩形显示区域相关联,从 而与该矩形显示区域对应的输入可以被导引到相应的计算环境。因 此,区域内的鼠标移动可以和与相同区域对应的计算环境通信。特性 的使用一般可以扩展到任何设备、子系统或系统所使用的、与之相关 的、或根据需要可能可用的外围设备,并且可以包括外部设备或系统, 本发明的系统可以被置为与之通信。
计算环境特性可以被用来将一个或多个输出识别为源自计算环 境。计算环境特性还可以被用来识别一个或多个输入以及作为指定的 输入接收方的对应的计算环境。一个或多个计算环境特性可以被用来 识别计算环境。计算环境特性可以被用来唯一地识别计算环境。该特 性可以通过对应的物理属性、逻辑属性或属性的组合来识别计算环 境。例如,一个特性可以识别一个或多个计算系统组件的物理地址。 或者,一个特性可以识别与逻辑计算环境对应的逻辑地址。此外,还 应当明白的是,一个特性可以识别给定的计算环境的多个特性,并且 对应的特性的数量和类型可以根据本发明而变化。
特性例如可以被用于辅助编排和配置本发明系统的组件以实现 一个或一组处理任务。这种配置可以包括配置各种开关、切换系统、 以及切换装置以提供所需的与储存设备、I/O设备和/或其他外围设备 的连通性。
在控制环境内配置开关和最小化用户处理
一种可以配置开关系统的计算环境是控制计算环境。(本发明的 其他实施例提供组合不同的计算环境,以便如其他地方所描述的,这 个的其他变化形式也是可行的)。控制计算环境可以重新配置所述开 关系统配置,例如数据存储器开关配置和I/O开关配置。对应的开关 系统的配置可以以各种方式激活,例如当对支持开关配置作出和/或 确定任何变化时,通过开关配置和/或重新配置通信。此外,控制计 算环境与开关系统和/或开关系统配置之间的通信可以被加密以帮助 确保仅仅控制计算环境能够配置所述开关系统。
在一个实施例中,禁止或不允许对控制计算环境内的用户数据或 未知或非信任数据的处理,以消除与保护数据存储器对应的数据或其 他信息的破坏的可能性,其中在保护数据存储器中例如可以存储保护 数据或主模板。根据本发明的一个实施例,如果用户启动用户操作, 例如典型地可由用户执行的行为,(例如电子邮件,字处理等),那么 该用户操作可以在分离的计算环境中处理。在本发明的实施例中,将 用户接口、控制操作和/或保护存储器组合到单个计算环境中或子系 统中,则该环境的配置使得这种环境不支持以将允许这种用户数据在 该控制环境中执行并破坏该数据或系统的方式处理所述用户数据。可 以支持例如复制操作之类的处理操作,但是这种复制操作将以不允许 恶意代码执行或感染其他系统文件的方式实施。
控制计算环境可以接收用户输入以启动用户操作。计算机鼠标输 入可以由I/O开关系统接收并根据该I/O开关系统配置导引到控制计 算环境。来自其他外围设备的其他输入也可以通过I/O开关系统由该 控制计算环境接收。
在用户计算环境内启动并执行用户操作
控制计算环境的用户可以启动用户操作。在一个例子中,用户可 以双击在监视器区域内显示的特定图标。该鼠标动作可以由控制计算 环境接收并导致分离的计算环境的在1612的初始化以执行在1631的 用户处理,例如,字处理。控制计算环境可以初始化分离的处理环境 的创建,以执行与已有的和/或新的文档对应的字处理。如果其是已 有的文档,则控制计算会话可能需要将该文件的副本复制到第三数据 存储器中以供用户计算环境后续使用。控制计算环境可以配置开关系 统以支持用户环境。数据存储器开关系统可以被配置成将第三数据存 储器和第四数据存储器与该用户计算环境耦合。I/O开关系统可以被 配置成将外围设备与用户计算环境耦合,例如显示器的区域可以与用 户计算环境耦合。用户计算环境也可以通过信号或由对一个或多个开 关配置的改变触发的事件来启动。也可以使用各种替代的方式来初始 化用户计算环境。
作为在1606的用户计算环境的初始化的一部分,将要编辑的文件 可以在用户计算环境被引导之后启动。根据另一个实施例,已有的用 户计算环境可以与对应的数据存储器耦合,以使该文件可用于在用户 计算环境内的处理。根据本发明的一个实施例,将要编辑的一个或多 个文件可以驻留在预定的位置,以便对应的应用程序可以被启动以打 开对应的文件和/或支持用户的行为。控制处理可以由控制计算环境 执行,并且可以包括配置一个或多个开关配置,初始化一个或多个开 关系统的重新配置,在一个数据存储器与其他数据存储器之间复制信 息,在保护数据存储器与其他数据存储器之间复制信息。
用户处理可以包括与控制计算环境和用户计算环境的交互。可由 用户执行的任何典型地与功能相关的处理都可以被配置为在独立的 用户计算环境中处理。因此,用户处理行为可以不会直接干扰控制计 算环境的处理行为和/或其他用户计算环境的处理行为。根据支持特 定的用户处理行为(例如字处理行为)所必需的计算机信息可能要求 访问待编辑的用户文件,通过将计算机信息从一个数据存储器复制到 另一个数据存储器可以使该信息可为用户计算环境访问。
典型地,控制计算进程可以包括在1615的控制建立处理以及在 1628的控制保存处理。控制建立可用于支持建立将被用于执行至少一 处理行为(例如字处理行为)的用户计算环境。控制保存处理可以包 括将用户信息保存到保护数据存储器。一旦用户处理行为完成,那么 与用户处理行为有关的信息可以在1618保存到保护数据存储器中,而 不允许用户计算环境执行直接进入保护数据存储器的保存功能。
根据本发明的一个实施例,控制计算环境可以将一个或多个文件 复制到临时数据存储器中。控制计算环境在1616可以更新数据存储器 开关配置以允许用户计算环境访问临时数据存储器。根据一个实施 例,控制计算环境可以验证用户计算环境已与临时数据存储器可通信 地耦合。随后,控制计算环境在1614可以等待与一个或多个用户计算 环境对应的处理完成。在等待用户计算环境完成时,控制计算环境执 行可与普通桌面功能对应的功能。所述桌面功能可以对应于数据存储 器的管理、配置数据存储器、在数据存储器之间复制计算信息以例如 擦除一个或多个具有计算机病毒的数据存储器。典型地,与桌面功能 对应的功能被限制到减少破坏在保护数据存储器中存储的计算信息 的可能性。
用户处理的完成
在完成用户处理行为时,可以根据各种不同的通知方式来通知控 制计算环境。根据这种方式,用户计算环境可以终止,以便由相应的 开关系统感应该终止。开关系统可以向控制计算环境通知,数据可以 包含应当在保护数据存储器中被替换的用户信息。
响应于用户行为的完成,控制计算环境可以将用户数据存储器与 控制计算环境耦合,以便用户信息和/或文件可以独立于可能由用户 计算环境执行的任何进程而被复制到保护数据存储器中。因此,存储 在保护数据存储器中的其他文件将不会被独立的用户计算环境的操 作破坏。
根据本发明的一个实施例,文件保存命令可以被用作一个触发事 件,该触发事件使得控制计算环境独立于可以在该用户计算环境的范 围内执行的其他操作而将用户文件存储到保护数据存储器中。根据本 发明的一个实施例,临时数据存储器可以与用户计算环境和控制计算 环境耦合,以便用户计算环境不能破坏与控制计算环境耦合的其他文 件。用户计算环境可以将文件保存在临时数据存储器中,其中控制计 算环境可以包括将文件复制到保护数据存储器和/或中间数据存储器 中的能力。中间数据存储器随后可以被用于例如当关闭用户应用程序 时,将对应的文件保存到保护数据存储器中。用户计算环境之间的通 信可以被动地实现以帮助确保该用户计算环境不会破坏在保护数据 存储器中存储的文件。
根据文件保存命令,用户文件可以被保存到临时数据存储器中。 在启动保存命令之后,数据存储器开关系统可以验证数据存储器与保 存的文件耦合。如果文件存在,则可以执行一系列指令以将文件从临 时数据存储器复制到保护数据存储器中。
根据本发明的一个实施例,控制计算环境可以等待对应的计算环 境完成用户行为,例如保存文件。随后,数据存储器开关可以被配置 成使临时数据存储器与用户计算环境去耦合。然后,临时数据存储器 可以与控制计算环境耦合。保护数据也与控制计算环境耦合。文件可 以独立于用户计算环境而从临时数据存储器复制到保护数据存储器。 然后,临时数据存储器可以与控制计算环境去耦合并与用户计算环境 重新耦合。
根据本发明的替代实施例,保存过程可以关闭(trip)和/或设置 与切换系统对应的标志,该标志被传送至控制计算环境。可以验证一 个或多个文件的存在。如果文件的验证指示文件存在,则可以执行一 系列计算机指令以将一个或多个文件从临时数据存储器复制到保护 数据存储器。
根据本发明的替代实施例,可以使用键盘命令(例如Control-S) 来保存文件。I/O开关系统可以被配置成将命令序列传送到用户计算 环境和控制计算环境。因此,控制计算环境可以重新配置数据存储器 开关和/或I/O开关系统,以支持将在用户计算环境保存的文件复制到 保护数据存储器中。
根据本发明的替代实施例,当关闭和/或关断用户计算环境时, 文件可以被转送至保护数据存储器。一个或多个开关系统可以感测所 述关闭和/或关断。根据本发明的一个实施例,关闭的用户计算环境 可以由数据存储器开关系统通过与数据存储器对应的变动的电源状 态来验证,该电源状态由用户计算环境提供。
根据本发明的替代实施例,与计算机显示监视器对应的图形区域 可以用于识别何时接收到与特定的计算环境对应的用户输入。可以根 据具体的实施方案在I/O开关系统和/或控制计算环境内分析用户输 入。根据一个实施例,与用户计算环境对应的保存命令和/或关闭命 令可用于识别用户信息可能需要保存到保护数据存储器中,和/或触 发将计算机信息保存到保护数据存储器中。
关闭用户计算环境可以包括关闭电源开关。开关系统可以感测电 源消耗和/或中断中的变化。如果用户关闭应用程序和对应的用户计 算环境,则控制计算环境可以感测这种转变,并将任何对应的用户数 据保存到保护数据存储器中。在重新配置数据存储器之前,对应的开 关系统可以验证包含用户数据的数据存储器的电源是处于禁止和/或 关闭状态。然后,控制计算环境可以使包含用户信息的数据存储器与 用户控制环境去耦合,并将用户信息复制到保护数据存储器中,如上 所述。
根据本发明的一个实施例,数据存储器可以在与用户计算环境耦 合之后清除。在用户计算环境已使用数据源之后,控制计算环境可以 重新格式化和/或清除一个或多个数据存储器。主模板数据存储器也 可以用于在将数据存储器与用户计算环境耦合之前初始化数据存储 器。根据另一个实施例,控制计算环境可以启动被定义为支持重格式 化和/或清除一个或多个数据存储器的另一个用户计算进程。
已经描述了与图2和图3的实施例有关的拓扑结构和系统结构,以 及与图4、图5和图6的方法和过程有关的初始化和操作方面;下面把 注意力转移到这种计算设备、信息装置和处理机的附加架构拓扑、结 构和方法方面。
图7示出了在计算机系统1110内包括专用子系统或计算环境1120 (例如1120-1和1120-2)和公共控制器1130的本发明的实施例1105, 该计算机系统1110与包含显示器1140、键盘1150和鼠标1160的多个外 围设备1108耦合。
将会理解的是,虽然在附图中仅示出了两个专用子系统,该系统 可以包括单个子系统或计算环境或任意多个这种子系统,可以包括多 个但仅有效地使用单个专用子系统,或者可以包括多个具有不同结构 和/或操作特性的专用子系统。例如,所述多个可以是2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, 23,24,32,50,64,100,或者更多的专用处理系统,或任何中间 数值,这受物理空间、电路密度、生热性以及其他封装和连通性设计 问题的影响,如现有技术中公知的。
此外,在至少一个实施例中,本发明的结构和方法可以以仅具有 单个或一个子系统或计算环境的硬件实现,其中计算环境或子系统连 续用于不同的进程。在该单个计算环境系统的一个实施例中,可以使 用独立的逻辑来执行计算环境状态的存储和恢复,使得计算环境可用 于执行期望的处理操作并维持恢复第二或控制进程的初始状态或任 何中间状态的能力。
所述结构和/或处理特征可以包括但不局限于具有不同处理能力 (例如每秒不同的操作数量,不同的处理器相关存储器量,不同的处 理器体系结构或指令集,或不同的操作系统)或以物理或逻辑分配或 硬盘驱动器、光存储介质或固态存储器为形式的不同数量的海量存储 器的专用子系统。
控制器1175及其相关且耦合的存储器1176双向耦合至多个专用 子系统中的所选择的子系统或所有子系统(例如耦合至专用子系统 1120-1和1120-2)。向或来自任何专用子系统的双向耦合的任一方向可 以是间歇地,和/或可切换地激活或禁止。此外,控制器1175和存储 器1176之间的连接是可切换地激活和禁止的。
正如图示的,可选的分离逻辑控制设备1180可以耦合在第一和第 二专用子系统1120之间。公共控制器1130通过接口1170与专用子系统 1120-1和专用子系统1120-2耦合。本发明的实施例为它们提供同一接 口或分离的接口。可选接口1170可以耦合在专用子系统1120-1和 1120-2之间,并且当不需要或不期望时,这种耦合可以是间歇地或遭 受激活或禁止。在该实施例中,所述接口被图示为双向的,但是也可 以分离地使用、激活或独立地禁止任一单向接口或作为一组使用。此 外,需要理解的是,虽然在附图中为了清楚示出了单条线,所述接口 也可以实现为多个连接或通信通路,例如但不局限于多线总线接口。 需要理解的是,显示器或显示子系统(例如包含视频处理器卡或芯片 组,驱动器以及显示屏的传统显示子系统)从公共控制器1130接收以 电信号为形式的数据,并且公共控制器1130依次从一个或两个专用子 系统1120-1和1120-2或作为在一个或两个专用子系统1120-1和1120-2 上执行的处理的结果接收其输入。显示子系统1140、公共控制器1130, 和/或专用子系统1120-1和1120-2中例如算术和逻辑电路、软件和固件 或其组合的硬件产生所需的图形显示,例如反映用户计算环境桌面、 以及当前有效的和当前无效的窗口的图形显示。
键盘1150和鼠标输入1160典型地也是单向的,从键盘或鼠标回到 公共控制器,除非以电信号或音频、机械或触觉反馈的形式提供某些 反馈。显示屏、键盘和鼠标装置的单向特性是指这些典型地都对来自 本地计算环境外部的恶意的计算机攻击具有免疫力,并且当它们出现 时至少在某些情况下被看作是信任的或安全的输入。
图8示出了与相对图7示意和描述的实施例类似的本发明的替代 实施例1106。该替代实施例在计算机系统1110内部包括专用子系统 1120和公共控制器1130,该计算机系统1110与包括显示器1140、键盘 1150和鼠标1160的多个外围设备1108耦合。如图所示,控制系统可以 耦合在第一和第二专用子系统1120-1和1120-2之间或当中,或者与图7 中的一样,耦合在任意多个这种专用子系统之间。在该实施例中,控 制器1175和相关的耦合存储器1176使用被作为控制器系统1177操作 的一个专用子系统1120-3来实现。控制器系统1177(1120-3)通过接 口1170有选择地耦合至其他专用子系统1120中的一个、一个以上,或 所有,以及公共控制器1130。典型的专用子系统的结构和其如何被配 置作为应用程序执行和处理单元操作,或被配置成具有各种主控和/ 或监控功能以便作为控制器系统1170操作的方式,在本说明书中的其 他地方针对其他附图进行描述。
下面把注意力转向本发明的信息装置、计算机或数据存储设备的 架构、系统和方法的又一个实施例。回想到本发明的信息装置或计算 机系统的其他实施例已经描述为包括多个包含至少一个保护数据存 储器的数据存储器;多个用于将至少一个源与多个目的地可通信地耦 合(或去耦合)的切换系统,包括数据存储器开关系统,其中所述源 是数据存储器源,以及I/O开关系统,其中所述源是外围设备源;用 于独立于其他计算环境而执行处理行为的多个计算环境(有时被称为 命令解释程序),其耦合在数据存储器开关系统与I/O开关系统之间, 其中所述目的地是该计算环境,并且所述开关系统可通信地耦合所述 源和目的地;至少一个从多个计算环境选择出的控制计算环境,用于 根据处理行为配置开关配置,可通信地与保护数据存储器耦合;以及 从多个计算环境中选择出的至少一个用户计算环境,其中不对保护数 据存储器执行处理行为。
在该信息装置和计算系统的一个实施例中,每个计算环境还被定 义成由从多个特性中选择的至少一个特性识别,切换系统根据所述特 性可通信地耦合所述源和目的地,并且从多个计算环境中选择出至少 一个控制计算环境,用于根据所述处理行为和特性配置开关配置。
图9中的实施例提供暴露了其他可以插入使用本发明的设备和系 统中的方面和特征的附加实施方案和结构详情。通过相对于图2和图3 已经描述的内容,该系统架构和结构之间的相似性将很明显。
在该实施例中,5个计算环境2108-1到2108-5被具体地示出,尽 管可以动态或静态地提供任意数量的计算环境。将会理解的是,这些 计算环境2108-1,…,2108-5中至少某些表现为具有稍微不同的组件 或内部结构。事实上,在本发明的某些实施例中,计算环境的结构和 操作可以是不同的(也许大大不同),尽管在其他实施例中它们可以 是相同的,并且在另外的实施例中硬件可以相同但是执行不同的操作 系统或应用程序或具有其他一些软件配置差异。在这些计算环境的一 些环境中,多个计算环境的配置被动态地配置成硬件、固件、软件或 它们的任意组合。
在图9的系统2100中,两个计算环境2108-4和2108-5表现为具有 相同的结构配置(而它们仍具有不同的软件和数据),并且其他三个 计算环境2108-1,2108-2,和2108-3表现为具有不同的结构。下面对这些 不同的计算环境的结构和操作进行描述,随后将针对图10说明这些不 同的结构和操作是如何可选的但是使用公共结构的计算环境模块可 以有利地实现,该模块可以被动态地定制以提供所期望的有效的结构 和操作。
用户接口计算环境
首先来关注用户接口计算环境(UICE)2108-1,其提供用户接 口操作,但不是传统的用户接口,并且其包括中央处理单元(CPU) 21,该中央处理单元通常包括处理器和与处理器耦合的存储器。所述 CPU还可以包括其他芯片或电路,其如现有技术中已知的通常被称为 处理器芯片组。CE 2108-1还包括可切换地耦合至CPU 2120的储存器 2121。
在一个实施例中,应当注意的是,用户可以独立于计算机系统和 计算环境的实际操作,稍微透明地操作文件或数据组。例如,在一个 实施例中,从用户的观点看,他/她仅仅是将图标或文件名或其他描 述参考从一个位置(例如桌面,硬盘驱动图标,或任何其他位置)拖 拽到任何其他位置。实际上,对于桌面的例子,控制计算环境或用户 接口计算环境,计算向/从与桌面坐标对应的区域拖拽的项目(例如 文件)并在桌面环境或其他目的地中创建该项目的图标,而实际的文 件可以位于保护储存器中。
在所示的实施例中,储存器2121被表示为具有两个储存部分,即, 辅助模板部分(STP,secondary template portion)2122,用于存储所 述主模板的所有或所选择的部分(参见本说明书的其他地方对主模板 的描述),和可选的临时数据存储器部分(TDP)2123,用于存储用 户数据文件,但是在大多数实施例中,其可以根据需要取消以提供该 环境中的最小的存储器。回想到在该计算环境2108-1的优选实施例 中,在该环境中不存在任何应用程序或实际文件而是仅存在到达这种 程序或实际文件的参考、链接或指针。(应当注意的是,其他计算环 境也可以具有最小的临时存储需求,作为其最小处理需求的结果)。 计算环境2108-1被识别为用户接口计算环境(UICE),并提供人类用户 或操作员2129与计算系统2100之间的接口。
通常,用户接口计算环境(UICE)2108-1将具有辅助模板部分, 仅包括提供计算或数据处理或对计算环境识别的控制能力所需的操 作系统组件和应用程序(若有的话)。例如,由于UICE将主要从人类 用户2129接收请求和命令,并且处理这些请求和命令以便将信号发送 给控制和切换计算环境,该UICE不需要在其所存储的辅助模板2122 中具有任何字处理、照片编辑、电子邮件、网络或互联网浏览,或其 他公共的或非公共的应用程序。其还可以具有与其他仅包含代码、代 码部分、库、或支持其责任的操作系统的其他特征的计算环境或操作 系统不同的操作系统。该仅提供操作系统组件和应用程序或应用程序 组件的相同原理也应用到其他计算环境辅助模板,虽然不被认为是优 选方式,在所有情况下,可以提供主模板的完整副本或多于最小需求 的操作系统和应用程序。
在其他实施例中,例如在被生成来或配置成执行图像处理操作的 计算环境的实施例中,STP 2122可以存储Microsoft Windows2000操作 系统代码和Adobe Photoshop应用软件,并且TDP 2123可以存储一个 或多个输入数字图像文件,在图像处理期间执行Adobe Photoshop应用 软件时创建的中间文件,以及任何生成的输出文件。TDP 2123还可以 存储任何其他用户或临时系统数据,例如取消前次编辑的文件或复制 到剪切板的数据。
在实际的实现中,STP和TDP可以是相同的物理存储设备,例如 固态存储器、磁盘驱动器、或任何其他存储介质的一部分,或者它们 可以是不同的物理设备,甚至是不同类型的设备。此外,使用某些在 此描述的动态切换配置方法,甚至STP和/或TDP每个都可以包括多个 类似的或不同的数据存储器类型,例如硬盘驱动器储存器和固态 RAM、ROM、EEPROM等的组合。
储存器2121可以有选择地和可切换地耦合至CPU 2120。在图9的 实施例中,分离的第一开关2124和第二开关2125被示出来用于将CPU 2120连接到STP 2122和TDP 2123或将CPU 2120与STP 2122和TDP 2123断开。示出了开关的简单图标,但是将会理解的是,根据这里所 提供的描述,所述切换可以是,但通常不是,一个简单的被连接或断 开的布线;并且更典型的是一组诸如接口总线的导体和用于该接口总 线上的信号的信号调节电路。对将CPU连接到存储器的切换可以通过 任何装置实现,这使得可以在CPU与存储器之间通信,对断开CPU与 存储器的连接可以由任何禁止CPU与存储器之间的连接的装置实现, 如在本说明书中所描述的。这些STP-CPU和TDP-CPU开关224,225 (或更通用的储存器2221到CPU开关(没有单独示出))的操作,以 与其他结构和过程交互操作来保护计算机2100的完整性,这将在已更 详细描述系统2100的其他组件之后接着描述。
外围设备开关2157被提供来耦合和去耦合(或激活和禁止)外围 设备、输入设备、输出设备等中的一个或其组合。例如,键盘、鼠标、 网络接口或NIC、麦克、扬声器、机、软盘驱动器(FDD)、硬 盘驱动器(HDD)、PC卡、存储卡、CD、DVD、串行或并行接口设 备、GPS设备、USB设备、扫描仪生物统计阅读器、无线接口、或 其他任何外围设备都可以被分配给特定的计算环境。虽然开关25157 被表示为是桌面和用户接口计算环境(UICE)2108-1的一部分,但 是其也可以被认为和实现为分离的独立的开关或开关子系统,受 CSCE或其他控制计算环境的控制。在另一个实施例中,在需要并许 可的情况下,其被控制并将外围设备直接耦合到其他计算环境。在另 一个实施例中,从计算环境输出的视频可以通过外围设备或输入/输 出切换系统来进行切换和/或处理。这些外围设备切换和连接能力还 可以与用于存储设备的其他切换系统2150组合,并受本说明书的其他 部分描述的CSCE 2108-2控制。计算机环境2108-1还可以包括在某一 时刻对于特定的功能和操作不需要或未激活的其他组件。这种附加组 件例如可以包括ROM,RAM,ASIC,和/或附加电路和逻辑元件。
保护储存器和读取/写入控制计算环境
保护储存器计算环境(PSCE)2108-3被配置成将原始的或主要的 主模板PMT 2148存储在主模板保护存储器2142中,将主用户数据 2149存储在用户数据保护储存器2143中。在一个实施例中,由保护储 存器计算环境(PSCE)2108-3执行的功能和操作可以与由控制和切换 计算环境2108-2执行的功能和操作组合,反之亦然。
主模板采取多种形式或内容中的任何一种,并且例如可以是表示 计算机系统或计算机系统的组件的理想状态的数据(命令,指令,数 据元件等)的副本。该主模板例如可以通过从操作的计算机系统或计 算机系统的组件复制数据,或以其他方式创建。该计算机系统在创建 主模板之前可以处在理想状态。计算机系统的理想状态可以通过可为 该计算机系统访问的数据表示。其中不同的辅助模板将被用于不同的 计算环境。将存在不同的主模板部分或具有可以单独与其他计算环境 2108通信的部分的单个主模板。在该上下文内,数据可以包括操作系 统(例如Linux,Unix,Windows 98,Windows 2000以及对这些操作系统 的增强和扩展),应用程序(例如WordPerfect,Microsoft Office),用 户数据(例如操作系统喜好,背景图像、创建的文档)以及组件数据 (例如BIOS,PRAM,EPROM)。在一些实施例中,数据也可以或替代 地包括任何可为计算机系统(包括本地的和远程的数据存储设备)访 问的信息,以及其他数据库中的数据,只要遵从本发明的保护措施和 过程以保持这些其他数据元件的隔离。作为一个例子,一个计算机系 统的主模板可以包括安装在计算机系统上的所有信息,例如Microsoft Windows98或2000操作系统,WordPerfect应用程序,Microsoft Word 应用程序,以及由用户创建的文档。该信息可以安装在如这里所描述 的可由计算机系统访问的一个或多个存储元件上。此外,主模板可以 包括BIOS设置的理想状态的版本的副本,或者可以提供适于特定的 计算环境的多个BIOS。
在一些实施例中,主模板可以表示新购买的计算机系统的快照 (snapshot)。这种系统典型地处在理想状态,其具有操作系统和各种 预安装应用程序,从而允许用户开始使用该计算机系统。对于特定的 用户,主模板可以表示例如包括操作系统、应用程序和用户定制的计 算机系统的理想状态。作为一个例子,用户定制可以包括用户对用作 桌面背景的图形或“.jpg”图像的在先选择,例如用户宠物的图像。
可选地,主模板可以从第一计算机系统创建,随后可以被用作不 同计算机系统的主模板。第一计算机系统可以是制造商计算机系统。 从而第一计算机的理想状态被传送至第二计算机系统或任何数量的 计算机系统。在一些实施例中,主模板可以在一个计算环境中创建, 然后利用适当的安全措施将其转移并存储作为主模板。本发明的实施 例有利地提供了对主模板的元件进行更新、打补丁、重新安装、以及 替换的支持,以便这些操作可以利用基本上或相同的用户交互,以及 基本上相同或相同的操作结果来执行。或者,主模板可以由有选择地 复制的处理来创建。例如,根据使用的特定OS,程序可以询问注册 表,确定何种入口与特定的程序或应用程序相关,然后选择来有选择 地仅将那些与特定的程序或应用程序相关的文件和输入复制到主模 板。
在图9所示的保护储存器和读/写计算环境的实施例中,没有到任 何将允许对在主模板保护储存器2142或用户数据保护储存器2143中 存储的二进制信息执行处理的处理器的任何连接。该隔离可以通过物 理地不提供任何这种处理能力(例如CPU),或通过禁止或断开这种 CPU与保护储存器的连接来实现。该禁止或断开可以使用在本说明书 中描述的开关或通过其他已知的用于防止保护存储器中的二进制数 据的装置,计算机程序代码指令或数据来实现。
在该实施例中,允许对存储在主模板保护储存器2142或用户保护 储存器2143中的二进制数据进行的处理操作仅仅是读取操作,但是在 一些情况下(如在此描述的)是写入操作。这些传统地可以被称作复 制操作。
本发明的架构、系统、方法、过程和计算机程序产品保护计算机、 计算设备、信息装置、PDA、手机和其他处理器插入设备免受黑客、 病毒、网络机恐怖事件的影响,以及免于潜在的破坏或入侵(例如间 谍软件、按键记录器)的影响以及免于黑客、病毒、蠕虫、特洛伊木 马、和类似的威胁和攻击,而不管它们是否是恶意的或无意地引入或 暴露的。
在一个实施例中,主模板保护储存器2142存储一组或多组计算机 程序代码指令,该一组或多组计算机程序代码指令可以被传送至其他 计算环境并且足以为该计算环境的指定操作提供操作能力。在一些实 施例中,存在单组计算机程序代码,其允许执行由用户或系统本身在 某一时刻以在此所描述方式请求的任何操作,每个计算环境接收该完 整主模板的副本。在其他实施例中,主模板保护储存器2142存储多个 不同组,并且仅有提供需要特定计算环境的操作的组被设置为它。这 通常会导致较小的和较快的复制操作和较低的单独的和整体的存储 需求。在需要擦除的情况下,对于较小的模板大小,可以实现附加的 时间节约。不同的辅助模板可以根据需要而存储或生成,然而,以准 备好复制的形式存储辅助模板揭示了较低的安全风险和较大的操作 速度。
在一个实施例中,用户数据保护储存器2143存储被称为保护用户 数据2149的用户数据或文件的原始版本(或副本)。例如,这种用户 数据可以包括数据或文件集或从数据或文件集中选择,所述数据和文 件集例如是电子邮件、任何类型的电子邮件附件、字处理文档、TIFF 图像文件、JPEG图像文件、MP3文件、计算机程序、操作系统或操 作系统文件的存储版本、计算机程序应用程序的存储版本、设备驱动 器、以及任何类型的计算机数据、文件或“0”和/或“1”比特。有 趣的是,用户数据保护储存器甚至可以有意或无意地存储计算机病毒 或包含计算机病毒的文件、计算机机器人或僵尸(bot)、间谍软件或 其他恶意的计算机程序代码。这种保护储存器2142、2143中的病毒、 僵尸(bot)、间谍软件、或其他恶意的计算机程序代码的存在和单独 存储不会造成任何威胁,并且不会由于其存在于存储器中而带来伤 害。在一个实施例中,当不需要对存储在其中的数据或计算机程序代 码进行访问时,处理器与保护存储器去耦合;然而,在其他实施例中, 在处理器没有被配置成能够执行数据或计算机程序文件并且不能导 致对保护存储器、处理器或保护存储器计算环境2108-3的破坏时,该 处理器可以与保护储存器保持耦合。在一些实施例中,对在保护储存 器计算环境2108-3内保持保护储存器与处理器之间的连续通信通路 的判定可以取决于在保护储存器计算环境中支持的功能或操作集。这 些相同的考虑可以应用到合并了保护储存器计算环境和例如用户接 口计算环境和控制及切换计算环境(除了用户数据隔离的计算环境) 的其他计算环境的本发明的实施例中。
正如所建议的,在一个实施例中,保护储存器计算环境2108-3可 以包括诸如CPU 2140的去耦合或被禁止的处理器,其可以通过开关 2144、2145切换至保护储存器,以用于初始化主模板或用户数据、编 译、病毒扫描或检测、测试、或其他特殊操作的装载或重装。假设病 毒或其他恶意计算机程序代码存在或被执行,则激活CPU与保护储存 器之间的连接通常仅在其中采取了预防措施来防止保护储存器内的 其他数据被破坏时才被允许。在其中仅支持保护储存器、CPU或其他 处理器之间的“哑复制(dumb copy)”操作的实施例中,可以保持与 保护储存器的耦合或连接至保护储存器。哑复制是不打开或将要复制 的文件暴露给可能导致污染或感染的计算机程序代码的复制。哑复制 可以是逐比特的、逐字节的或其他复制或比特复制操作,例如可以通 过固定的硬件逻辑电路或ASIC或在通过使用软件或固件采取预防措 施的情况下,或通过使用硬件和软件/固件的组合来实现。
保护数据储存器计算环境2108-3可以通过多个开关2250与其他 计算环境2208-1,2208-2,2208-4,和2208-5(或M个计算环境中的任何一 个)耦合,例如从MTPS使能开关2251复制,从UDPS使能开关2252 复制,以及向UDPS 2253写入。
在一个实施例中,来自MTPS使能开关(SW1)2251的命令允许 (或禁止)适当的主模板部分被访问(或拒绝访问)并被读取或复制 到计算环境的辅助模板部分,例如复制到计算环境2108-1的STP 2122。从UDPS使能开关(SW2)的复制允许(或禁止)适当的用户 数据或文件被访问(或拒绝访问)和被读取或复制到计算环境的用户 数据储存部分,例如复制到计算环境2108-1的TDP 2123。通常,将仅 仅需要执行操作的一个文件或文件集合被复制,而不是保护储存器 2143中用户数据的整个集合被复制。其他实施例可以复制整个用户数 据集合,但是这是不够的,并且典型地提供不是很明显的有益的目的, 除了在维护、诊断、和/或修复操作期间的特定情况下。
向UDPS(SW3)的写入允许(或禁止)适当的用户数据或文件 被访问(或拒绝访问),并从其他计算环境中的一个读取和复制,其 中它已被创建或修改并写回到计算环境2108-3的UDPS 2143。在一些 实施例中,单个开关提供从用户数据保护储存储器2143读取和向用户 数据保护储存器2143写入的双向能力,以便仅需要一个开关(或一个 开关组)。还将观察到的是,由于从MTPS 2143复制和发送的辅助模 板通常不被修改,典型地不需要写回到MTPS 2142中。因此,从MTPS 到STP的复制可以是双向的。分离的双向握手和控制信号或电平可以 被用作用于诸如请求复制、准备复制、复制完成、数据接收等的事件 的信令协议。奇偶检错和其他检错和纠错可以如现有技术中已知的来 实现,并且与本发明的方面和特征一致以验证没有错误发生的传送, 尽管这是可选的。
在一个实施例中,主模板(或在该系统中可用的其他模板)的修 改可以涉及:(i)复制或装载到一个用户隔离计算环境;然后(ii) 使用任何必要的操作系统、应用程序、编译器、调试、链接、或其他 如现有技术中已知的编程过程对其更新;以及(iii)将其复制回并作 为新的主模板保存在保护储存器中。复制的和保存的主模板的版本可 以替代原始的或者可以被保存作为新文件或更新的版本。
这些开关或开关组可以是计算环境2108-3的一个组件或一组组 件,计算环境2108-3外部的分离组件或一组分离组件,或这些组件的 组合。在一个实施例中,开关以硬件逻辑电路提供,在另一个实施例 中,开关由具有非常有限的处理能力集的微控制器实现,以便可以实 现复杂的多组件和多信号的切换方案,但是不会允许恶意代码执行。 在又一个实施例中,所述切换被实现为专用集成电路(ASIC)。在又 一个实施例中,所述切换在具有作为辅助模板部分(STP)安装的非 常有限的指令集的微处理器的控制下执行,以便其不能执行或不允许 执行恶意代码。
如这里所描述的,保护储存器可以在任意类型的储存设备或存储 器或任意类型的组合上或内部实现。在一个实施例中,提出了外部和 便携式保护储存器的方案,以便例如用户可以使自己的保护储存器在 信用卡大小的存储设备(例如闪存卡,USB存储设备,索尼记忆棒, 基于PC卡的存储器,或任何其他存储器形式)上和仅将其插入在任 何一个支持计算机或设备上。在一个实施例中,所述架构、系统和方 法提供可选的隐藏和保护备份存储存系统。
控制&切换计算环境
下面来关注控制和切换计算环境(CSCE)2108-2,其负责(结 合来自用户接口计算环境2108-1的贡献)控制和协调系统2100的其他 计算环境的操作。以稍微简单的术语,所述开关将源连接到目的地。 在系统2100的一些实施例中,支持数据存储器开关系统特性,并且这 种特性还可以支持配置所选择的源与目的地之间的通信通路。应当注 意的是,在至少一些实施例中,CSCE或其他控制计算环境具有将任 何外围设备切换和耦合到任何计算环境的能力。
计算环境2108-2从用户接口计算环境(UICE)2108-1接收输入并 操作保护储存计算环境(PSCE)2108-3的开关2250(例如开关组, SW1 2251,SW2 2252,和SW3 2253),以及与其他每个计算环境2108交 互以操作开关耦合或去耦合(允许或禁止)该计算环境的处理器(例 如CPU)与储存器(例如STP和TDP)之间的连接或通信。开关控制 或多或少是直接的,例如通过电性连接和信号或电压电平或电信号或 电平集合;间接的,通过处理器、CPU、ASIC、或计算环境内的电 路或逻辑元件,该计算环境从控制和切换计算环境2108-2接收信号; 或作为这些直接和间接的架构和方法的组合。
如在控制和切换计算环境2108-2的实施例中所示的,其包括系统 切换控制单元2138,其考虑到电流状态和包括可用的计算机资源的计 算系统2100的配置,响应于用户输入和命令或系统行为和事件从 UICE 2108-1接收命令。在一些实施例中,调度和组件优先化和使用 仲裁也由系统开关控制器2138提供。开关配置和状态以及其他信息和 数据可以存储在开关配置信息存储器2139中,其可操作地通过一个或 多个总线、接口或通信路径与系统开关控制器2138耦合。
在该实施例中,CSCE 2108-2从UICE2108-1接收一个或通常一组 信号2180。这些信号通常足以将用户请求输入传送到UICE 2108-1, 以便计算机系统2100的其他元件可以被配置成执行所述请求。例如, 用户可以利用鼠标点击UICE桌面上期望装载的Microsoft Word图标 或Microsoft Word字处理程序的示例。虽然UICE 2108-1可以被配置成 向外部人员用户2129呈现UICE 2108-1及其组件(例如CPU 2120和储 存器2121)已安装了Windows2000操作系统,Microsoft Word2000以 及用户期望编辑的文档;但是事实上可以不具有这些文档,可以仅在 其他计算系统元件中提供到这些操作系统、应用程序和用户数据文件 的指针、链接、替换入口或其他参考。
特别的,Microsoft操作系统和Microsoft Word应用程序将呈现作 为MT 2148并被存储在PSCE 2108-3的保护存储器MTPS 2142中。该用 户字处理文档如果存在并且不是新创建的,则将被存储在保护储存器 UDPS 2149中且可从保护储存器UDPS 2149中检索。
已经描述了也被称作系统“大脑”的控制和切换计算环境(CSCE) 的一些结构和操作特性,下面提出的是其中CSCE参与的某些特定实 施例中的某些功能和操作的部分列表。不是所有这些功能都需要由 CSCE(或者后面描述的实施例中的CCE)执行。将会理解的是,特 定的功能和操作将取决于作为整体的计算机系统、CSCE(或CCE) 以及其他计算环境的实现。
在本发明的一些实施例中,CSCE在启动(或复位)时装载其自 己的操作系统(OS),其在装载之后将编排(某些或所有的)通过系 统的剩余部分激活的或支持的操作或功能。本发明的架构、系统和方 法是与操作系统无关的,并且任何已有的操作系统都可以用于或适用 于本发明。甚至不同的操作系统可以用在该系统的不同计算环境中, 从而如果需要,该计算环境可以操作不同的操作系统和适于那些操作 系统的一系列应用程序。在本发明的一些实施例中,只要计算系统硬 件可以支持操作系统和预期的操作,当例如用户隔离计算环境被指定 来执行特定的处理功能或操作时可以动态地确定负载。
本发明的一些实施例将对不同的计算环境使用不同的操作系统, 并且根据系统的需要、用户选择的处理任务、数据的特性、或根据其 他因素,这种操作系统可以被预先确定或动态地确定为时间或任务的 函数。例如,任何已知的或公布的Microsoft Windows操作系统(例如 Windows 98,Windows NT,Windows2000,Windows XP,及其改进、增强 和扩展),Linux,Unix,Apple操作系统,各种磁盘操作系统(DOS), 或其他专用或特有的操作系统或控制程序可以用于各种计算环境中, 只要它们支持预期的操作和用于该操作的设备。
在本发明的一些但不必是所有实施例中,CSCE操作系统或应用 程序(或这两者的组合)可以负责控制或编排(某些或所有)以下功 能,其仅仅是示意性的部分列表:(i)数据储存设备(DSD)连接切 换;(ii)向计算环境发送命令以通过对接收命令和/或完成命令操作 的可选验证来启动计算机应用程序(或当可应用时启动硬连线的操 作);(iii)跟踪可点击窗口和/或光标的坐标;(iv)执行病毒或其他 恶意代码的修复和检测、清除、和/或毁灭;(v)引导和控制切换、 重新格式化、擦除、模板和/或主模板的复制、复位、重启、以及其 他所述的操作;(vi)产生和显示“隔离全局任务栏”或等效的用户 可访问的用户交互工具(可替代的,该任务栏或工具可以通过桌面和 接口计算环境产生)。这些或其他实施例也可以可选地提供下述中的 任何一个或多个:(vii)“打开”对话屏幕;(viii)“保存”对话屏幕; (ix)网络通信的引导切换(例如参见对“netlock”操作的描述);(x) 从通信环境接收安全信号;(xi)跟踪其中创建通信环境的顺序(order) 和/或当前的通信环境顺序或优先权;(xii)到不同的计算环境或在不 同的计算环境之间的鼠标和键盘的引导切换;(xiii)到不同的计算环 境或在不同的计算环境之间的其他输入/输出或外围设备的引导切 换;(xiv)协调电子邮件访问和处理;和/或这些功能的其他组合。
在一个实施例中,CSCE还可以负责控制、协调和/或处理与在各 种计算环境中的处理行为(包括CSCE本身的处理行为)相关的视频 信号,或者分离的计算环境或视频处理单元或逻辑电路或其他装置也 可以用于此目的。当使用分离的视频处理器或控制器时,CSCE通常 可以负责与其他系统组件一起协调和编排其操作,但是在一些实施例 中,视频处理器或控制器可以参与CSCE或系统的其他控制。
将会理解的是,根据这里所提供的描述,虽然提供了用户计算环 境(其中可以打开和执行可能被污染的文件)与控制计算环境的分离; 关于用户接口、控制和切换、保护存储器、视频处理器和作为独立的 计算环境对已知的干净数据或计算机程序进行操作的其他操作和功 能的描述稍微有些人为,并且主要是出于在这里进行描述的目的。应 当注意的是,本发明的实施例提供了各种非用户数据控制或处理环境 的分离,以及其中这些控制功能被组合的实施例。虽然某些组合是作 为示例而特别描述的,将会理解的是,不同的控制或管理功能和操作 的任何其他组合都是受支持的,与本发明的其他原理一致。
还将理解的是,对于不同的计算或处理环境或特定的或一组处理 或计算环境内部的不同时间可以要求或允许不同的隔离等级或隔离 度。例如,在将要在其中病毒或黑客代码可能被暴露给可能执行这种 代码的处理器和代码的计算环境内打开和处理未知的文件或数据集 的情况下,文件或数据集与“外部世界”之间的隔离是绝对的并且包 含在用户隔离的计算环境内。该绝对隔离是在特定的用户计算环境与 其他用户计算环境和控制环境之间。
在其他情况下,隔离度或隔离等级可以进行限制,以便可以容忍 没有危害、或者所设置的计算机或用户允许的危害度。这代表一种用 户或管理员无效(override),并且可以设置允许更随意地使用本系统 的特定的政策和规则。例如,如果在公司计算环境内具有由公司信息 技术(IT)部提供的当前的防病毒软件、防火墙和其他保护的内联 网上正常使用该计算系统,由于已经提供的过虑,可以允许禁止特殊 的电子邮件处理。当可以信任网络或计算环境时,其他实施例可以提 供无效所有隔离。虽然这种允许的无效不是在所有的实施例中都涉 及,但是其确实表明了由本发明的架构、系统和方法所提供的便利性。 因此,将会明白的是,可以提供不同的隔离等级或隔离度,并且本发 明不会被构造成限制到不能容忍一些程度的非隔离或覆盖的架构、系 统、方法或过程。
相对于来自不同计算环境的处理视频(数字的或模拟的)而执行 的操作可以包括,仅是示例但不是限制:合并或以其他方式组合或格 式化来自几个计算环境的输出(例如信号2187-1,…,2187-5,…, 2187-N)以用于显示在监视器或显示设备上。虽然可以实现各种初始 的或缺省条件中的任何一种,但是在一个实施例中,在引导时的缺省 设置是禁用或关闭计算环境视频信号,这是因为在任何未分配的计算 环境中应当没有行为直到某些系统或用户启动的行为已经被命令。或 者,CSCE(或其他实体)可以打开/关闭或激活/禁止该视频信号。
在一些实施例中,来自计算环境的视频输出的“处理”被实现为 例如在单个监视器上呈现“分层”效果。例如,最新的有效计算环境 可以总是移动到“顶”(或“前面”)层或根据预定的规则或政策以其 他方式进行处理。如果不是其自身直接负责,该CSCE可以提供对此 进程的控制和协调。例如,CSCE可以向视频控制器发送一个或多个 命令以帮助确定哪一“层”放在“前面”,以及如何合并来自各个计 算环境的视频输出。CSCE具有该信息,因为其保持着关于层、有效 计算环境、未分配的或无效的计算环境、窗口位置、鼠标或指示设备 光标坐标和位置以及切换的信息的数据库,出于例如确定鼠标点击的 其他目的。
在一些实施例中,例如在其中视频图形卡或视频子系统可以连续 发送信号(甚至是“黑”屏或空屏)的实施例中,可以在视频控制器 中“打开/关闭”或“激活/禁止”该视频信号。或者,当特定计算环 境未被分配或无效时,CSCE或视频控制器可以简单地被引导来“忽 略”来自该特定计算环境的该信号。换句话说,该计算环境视频卡(独 立的卡或芯片或与处理器或其他逻辑电路集成)可选地可以总是“抽 空(pump out)”视频信号,或者当它们变成有效的处理环境时,CSCE 或其他视频控制器可以使它们仅输出这种视频信号。这将有利地降低 电源消耗和热量产生,并且可以带来增加系统及其组件的寿命的效 果。CSCE还可以向视频控制器或处理器(当存在时)发出信号以告 知其将处理来自计算环境的何种视频输入,以及对于每个视频输入将 使用何种信息,以及可以忽略何种信息。例如,当其被复制或者不代 表计算环境中的实际行为时,用于每个计算环境的桌面部分可以被抑 制。
隔离处理单元计算环境
系统2100还包括一个或多个其他未分配的隔离处理单元(IPU) 计算环境(PUCE)或命令解释程序,例如CE2108-4,CE2108-5,在图 9的实施例中,其中每个都包括CPU(2160,2170)、包含STP(2162,2172) 和TDP(2163,2173)的储存器(2161,2171),接口(2169,2179)和 用于在储存器与CPU之间耦合或去耦合(激活或禁止通信)的开关 (2164,2165,2174,2175)。
操作系统、应用程序,用户数据文件以及支持和与操作系统、应 用程序和用户数据交互操作的计算硬件的组合,在CSCE 2108-2的控 制下,通过UICE 2108-1实现对采用用户数据的所选择的Microsoft Word程序的保护和隔离处理。
可操作地,UICE通过信号2180向CSCE 2108-2发送包括任何必要 数据的命令。CSCE考虑当前的系统2100资源的分配和系统配置的任 何其他原则或政策来接收这些信号,选择适当的计算环境,例如计算 环境2108-4。本发明的其他实施例提供可以分离元件(例如CPU和存 储器)的动态分配,这些分离元件被组装为计算元件,即使在制造计 算机时没有物理地连接,甚至没有邻接地位于计算机系统2100硬件 内。
一旦计算环境2108-4已由CSCE 2108-2或者更特别地由系统开关 控制器(SSC)2138内的规则政策或算法选择,则SSC向CE 2108-4 发送一个或多个信号2186-4,以传送其已被分配来利用识别的用户文 档文件执行Microsoft Windows 2000下的Microsoft Word处理程序。CE 2108-4可选地确认在某些握手或其他通信协议,甚至是与单个逻辑电 压电平一样简单的通信协议下其已接收到通信。因此,信号2186-4可 以是单向或双向的。SSC 2138还向开关2250传送一个或多个开关控制 信号2181。例如,传送开关控制信号2181-1,2181-2,以及2181-3以配置 一个或多个开关SW1,SW2和SW3来允许所期望的存储器访问。这些 相同的开关可选地但是有利地确认来自SSC的通信,并提供状态返回 以指示该开关处在用于预期合作的适当配置(例如打开或关闭,或激 活/禁止)中。同样地,开关2250可以将发送数据类型通信的就绪状 态发送给目标目的地(例如储存器2161的STP 2162和/或TDP 2162), 并且这些是可选的,虽然期望的是,将接收数据类型状态信号的就绪 状态指示返回给开关2250。
特别地,在该字处理例子中,SW12251将激活所有或所选择的部 分主模板通信,该主模板包括Microsoft Windows2000操作系统和至少 Microsoft Word应用程序。应当注意的是,在一些实施例中,操作系 统和应用程序可替换地可以从分离的源独立地提供。在又一个实施例 中,操作系统可以在计算环境内部提供,从而其不需要每次传送,或 者存储在STP 2162中,从而其不需要每次传送,或者存储在耦合ROM 内,或以其他方式。然而应当注意的是,在STP在使用之后不被清除 的情况下,如果STP已被恶意代码写入则存在污染的可能性,但是如 果从只读存储器或ROM中检索到,则这将不是问题。
并联(其中所提供的通信通路足以支持多个访问路径)或串联的 (其中通信通路2187不足以支持多个访问路径)的SW1 2251被配置 成在STP 2162接收到所需的计算机程序代码时,将MTPS 2142连接到 STP 2162。同样地,SW2 2252被配置成提供一个通信通路,以便来 自UDPS 2143的所识别的用户文档文件可以被复制到TDP 2163中。回 想到在复制操作期间可存取的硬件/固件/软件不足以允许恶意代码的 执行。例如,适于将比特从源复制到目的地的硬件仅复制电路不会受 病毒、黑客或其他恶意代码的破坏,并且可以使得仅从源捕获(读取) 比特并将比特复制(写入)到目标。源与目标之间的缓冲器可选地用 作过滤器或限幅器。软件和/或可编程硬件也可以用于复制操作,但 是这种复制装置的能力有利地防止了可能危及系统或计算环境免疫 力的无意修改的污染影响。期望的是,该复制操作仅仅是复制二进制 比特或比特集而没有任何其它解释;然而,尽管期望的是,本发明无 需受限于该条件或其他可以用于防止执行恶意代码的可能性的保护 措施。
在一个实施例中,复制数据的处理可以是“哑的”或受限的,以 便被复制的数据不能执行,从而该数据存储器设备上的数据不能被恶 意代码损坏。例如,为了移动或复制数据,其可以被编码,或者可以 使用具有有限功能的ASIC,或可以使用直接存储器传送或任何其他 移动或复制数据的方法,其不允许执行可以包含某些可执行的比特序 列代码。可选地,复制将受控制系统编排,该控制系统可以寻址或者 可以访问该隔离工作系统和隔离或保护储存器系统。
选择文件以在储存器系统中打开可以启动一个进程,由此将文件 从储存器系统或源(例如UDPS)复制到工作计算环境(例如IPUCE 2108-4的STP 2166),并且在通过开关2250终止与UDPS 2143的连接之 后,可以打开该数据或文件并允许暴露给CPU 2160。将文件保存在 工作计算环境中可以启动一个进程,由此将该文件复制到存储系统。 在工作计算环境中退出文件可以启动一个进程,由此将新的或更新的 文件或数据组复制或写入到目的地储存器系统中(例如UDPS 2143), 并且在源存储器系统(例如TDP 2161)中删除(并且期望物理地擦除)。 术语“copy”或“copies”或“copying”可以在广义的范围内使用, 并且可以包括但是不局限于算法、快照,压缩数据,逐比特,加密, 编码等等。
隔离计算环境也可以将用于识别隔离计算环境(或ICE内的某些 组件)的状况或状态的标志或其他信息或指示器2191发送或以其他方 式传送到控制和切换计算环境2108-2。这种状况和状态可以包括操作 状况就绪、完成处理状况、文件准备复制或保存状况、复位状况、和 /或任何其他控制环境将需要或能够使用的数据或信息中的一个或组 合。
隔离计算环境还可以向单个显示设备(如果需要这种单个显示 器)发送或以其他方式传送窗口x-y坐标和可选的窗口维数2192,以 供控制环境2108-2和/或桌面和用户接口计算环境2108-1(或通过分离 的视频图形处理器或由CSCE控制的视频显示单元)使用来组合或合 并不同的计算环境窗口。通信线路或链路2191,2192还可以通过单个 线路或链路共享。此外,如在本说明其他部分所描述的各种特性可以 通过网络线路或链路传送。
这些以及其他通信通路,通信链路,或信号线路可以适合于在本 说明书其他部分所描述的过滤器或限幅器以限制信息、数据、二进制 比特等的类型、序列、数量或体积,从而进一步减少在一个计算环境 与另一个计算环境之间感染的可能性。这些过滤器和限幅器将相对于 本发明的其他实施例进行更详细的说明。
一旦在CE2108-4中存在操作系统、应用程序和用户数据的适当组 合,就可以开始字处理操作。文件可以保存在TDP 2163内直到退出字 处理程序,或通过经由适当配置的开关SW3 2253利用向UDPS 2143 的写入操作而使用中间保存来保存。
有利地是,当在MTD 2142或UDPS 2143与储存器(例如STP 2164 或TDP 2163)之间进行任何读取或写入操作时,CPU 2160与储存器 去耦合或禁止,从而MTDS 2142或UDPS 2143从不以可能允许恶意代 码执行并污染保护储存器MTDS 2142或UDPS 2143的方式暴露给 CPU 2160。
一旦完成字处理,并且新的或所编辑的文件被写回到保护储存器 中,信号或状态变化或“标志”或其他指示,以及来自CSCE的后续 指令,STP 2162和TDP 2163的内容被清除和擦除。该清除和草除应当 是实际擦除,例如通过写存储器介质,或格式化主引导记录,或分区 表,从而任何可能存在于最后存储在其中的数据集的恶意代码不会扩 展到其他文件或数据集。其与最传统的系统的不同在于,其仅更新了 目录来移除该删除文件的参考而不是实际擦除。删除使用的存储空间 以及优选整个可访问的存储空间的期望使得快速固态存储器比较慢 的机电存储器(例如硬盘驱动存储器)更为期望。其还使最小化在计 算环境内可访问的存储空间量成为一种考虑。在一些实施例中,动态 地分配不同尺寸的存储空间的能力,作为进程添加到可访问的存储器 的能力产生对更多存储器的需求,以及配置固态存储器和较大或较小 昂贵的硬盘驱动存储器。
关于这一点在说明书中提供的说明将揭示一种情况,在该情况 中,保护储存器UDPS 2143中存在的用户数据被病毒污染,该用户数 据带着病毒移动到CE 2108-4,然后暴露给CPU 2160和能够支持在计 算环境内执行病毒代码的操作系统。
如果无论什么原因病毒都不执行,例如虽然暴露给CPU和操作系 统但是具有不满足的执行日期条件的病毒,则其将随包含其的文件返 回或作为新的独立文件返回到保护储存器UDTP 2143中。在此情况 下,特定的计算环境2108-4或系统2100作为整体遭受由于已暴露给病 毒(或其他恶意代码)而引起的任何损害。
另一方面,如果病毒(或其他恶意代码)虽然在计算环境2108-4 内不执行但爆发或以其他方式污染CPU、与CPU相关的RAM或其他 存储器、和/或STP 2162或TDP 2163存储器,则其危害结果被限制到 分离的计算环境2108-4。在该体系和处理系统及方法中,没有提供通 路来允许病毒或其他恶意代码逃到系统2100的剩余部分并使系统 2100或数据在保护储存器MPTS 2142或UDPS 2143中。即使受病毒污 染的文件返回到保护储存器MPTS 2142或UDPS 2143中,其他操作系 统、应用程序或其他数据文件也不会被污染,这是因为PSCE 2108-3 不包括可以执行任何包含在该数据中的位图的处理器,它们仅仅是 “0”和“1”比特,在计算环境内不具有任何程序设计的含义。再次 回想到比特被暴露的唯一操作是由如果有仅可以执行复制的硬件、软 件和/或固件进行的哑复制操作。在病毒在除了PSCE之外的计算环境 2108中执行情况下,其可以损坏或毁坏该文件的副本,PSCE中的原 始数据或文件仍然原封未动。很清楚,一旦发现病毒或其他恶意代码 存在,可以期望采取清除或移除病毒和利用干净的版本替代受病毒污 染的版本。这种病毒或恶意代码检测和/或清除操作事实上可以是在 文件的干净版本返回到保护存储器之前,在隔离计算环境中对文件的 副本执行的处理。保存文件作为不是重写的版本是一种替代的存储选 择。
已经描述允许安全处理恶意感染文件的结构和操作特征,我们下 面离题来描述呈现给人类用户的图形或显示屏显示。为了说明,我们 假定计算机系统2100提供有窗口系统,其中每个进程显示在显示子系 统的不同窗口中。操作系统例如Microsoft Windwos,Unix,Linux,Apple Macintosh OS,以及其他公共操作支持例如开窗和在公共显示器的不 同窗口中呈现每个进程的显示的结构和技术。因此每个计算环境提供 显示屏或图形输出2187,其由视频显示子系统2192处理以呈现窗口多 任务处理系统,就像传统的多任务窗口系统一样。例如通过键盘2190 和鼠标2191或其他指示设备输入/输出类似地通过将键盘按钮和鼠标 分配给有效进程或窗口来提供。用户2129,或在某些情况下,系统本 身识别所选择的或有效窗口,以及跟踪键盘和鼠标行为并将其识别为 所选择的进程。实际上,键盘、鼠标或指示设备以及显示进程通过 UICE 2108-1和CSCE 2108-2被分配给有效窗口或其他所识别的有效 进程。
按照类似方式,计算机系统内的其他每个设备或外围设备,包括 任何一个或多个软盘驱动器、USB端口及通过这些端口附带的任何 USB外围设备、调制解调器、网络接口电路或卡(NIC)、SCSI接口 和设备、PC卡插槽和接口以及通过这些接口连接的设备、CD读/写器、 DVD读/写器、扫描仪、打印机、音频系统、麦克风、扬声器、串行 或并行接口以及与这些接口耦合的设备、照相机、录音机、并且没有 限制任何其他可以耦合至计算机或信息装置的I/O或外围设备或系 统。
回想本发明的架构、系统和方法可以应用到一组多样的具有处理 器的设备和器件中,例如但不局限于计算机,PDA,移动通信设备和 电话、蜂窝式电话、数码相机、视频记录设备、导航和映射系统、汽 车发动机管理系统、航空导航和引导系统、网络服务器和路由器、数 字和HDTV电视接收机和处理器、安全系统以及所有其他包含处理器 并且易受病毒、间谍软件、僵尸(bot)、计算机黑客和其他恶意代码 影响的电子设备和系统方式。同时回想与执行还没有被完全调试的计 算机代码相关的非有意的问题可以以这样一种方式处理,即防止代码 中的任何失败对系统的剩余部分有任何危害结果,如果其被测试、调 试、或在一个隔离计算机环境中使用。因此可能的输入设备、输出设 备、输入/输出设备、以及外围设备组是一个广泛的多样的组,并且 并不局限于通常与传统的桌面和移动笔记本计算相关的设备。外围设 备例如可以是由根据本发明的原理制作的信息系统控制和监控的汽 车或飞机。
还将理解到,根据在此所提供的描述,虽然这些不同的外围设备 在UICE 2108-1的桌面环境中是可视的,实际上访问这些外围设备(除 键盘和鼠标以外)的进程将从其他要求访问外围设备的独立的处理环 境中的一个导出,或者更优选地将产生或启动一个新的进程来与外围 设备交互或通过经由UDPS存储和共享的数据,提供数据或以其他方 式与外围设备或子系统交互。
组合用户接口、控制&切换、以及保护储存器计算环境的功能的 替代实施例
已经描述了由控制&用户接口计算环境2108-1、切换计算环境 2108-2和保护储存器及读取/写入计算环境2108-3的结构和执行的操 作,根据描述可以理解到这些操作可以组合并在与隔离用户计算环境 (例如在图10的实施例中的隔离计算环境2108-4或2108-5的单个计 算环境)分离。特别地,这种架构和系统配置可以提供本发明系统和 方法的至少某些优点,只要组合的块没有能力执行用户数据和/或非 信任的代码,并且可以仅执行诸如将数据或程序移动或复制到隔离计 算环境以供执行的这种操作,但是不能打开和执行它们。在一些实施 例中,仅允许对控制实体(是分布在多个计算环境还是分布在组合中) 的信任的访问。例如,根据可以实现的规则和政策,键盘和鼠标输入 可以被处理为信任的输入或交互介质。开启或上电、登陆到计算机或 设备的标准安全过程,例如密码或生物统计可以被实现来提供一些其 他的用户访问系统的保证,从而可能的输入键盘和鼠标输入被授权和 信任。
具有可动态配置的系统组件的替代实施例
已经描述了一种特定的多计算环境的实施例,其提出了一些操 作、控制、接口和保护特征,下面我们来关注另一个替代实施例,其 中一组公共的计算环境被用于实现用户接口计算环境(UICE),控制 和切换计算环境(CSCE),保护储存器计算环境(PSCE)以及其他 计算环境(CE)的特定集合,其可以被配置成执行字处理、电子邮 件、互联网浏览、或其他操作。
参照图10,示出了用于处理数据或其他信息的系统2200的替代实 施例。如同刚刚描述的图9的实施例2100,该系统和结构2200以及用 于配置系统和操作系统的方法和过程可应用于广泛的多样的电子设 备组中,其传统地包括一个或多个处理器、控制器、微处理器、中央 处理单元(CPU)、ASIC、逻辑电路或用于处理电子数据的其他装置。
为了便于说明,某些元件例如各种计算环境、外围设备、开关、 以及控制线和其他信号利用相同或相似的拓扑结构绘出并给定相同 的参考数字。将会明白的是,存在实现本发明原理的多种方式,这些 描述和附图中的每一种(例如图9和图10中的实施例和系统配置)是 实现和操作根据本发明的系统的典型方式。
系统2200包括桌面和用户接口计算环境(UICE)2108-1处理单元、 控制和切换计算环境(2108-2)处理单元、保护存储器计算环境2108-3 处理单元以及两个隔离处理单元计算环境IPUCE#1 2108-4和 IPUCE#2 2108-5。在图9的实施例中,典型的处理单元元件被示意和 描述来实现特定的处理单元2108-1,…,2108-5,…,2108-N的所需操作。 在图10的实施例中,示出了公共组件配置,其允许多个模块单元被动 态配置成执行系统2200的初始化、配置、和操作所需的功能和操作。 虽然等同的或公共的组件是不需要的,使用一组公共的组件存在优 点,这些组件可以根据预期的操作和处理功能利用软件、固件和用户 或系统数据进行定制。
给出该计算环境2108-1到2108-5之间的普通对应关系,该描述突 出了实现方案的区别(如果存在的话)和/或详细情况。
参照桌面和用户接口计算环境(UICE)2108-1处理单元,应当注意 的是,CPU 2120被示出为包含处理器(PR)和以RAM为形式的与处 理器耦合的存储器、以及可选的处理器芯片组和BIOS,如现有技术 中已知的。将会明白的是,可以使用任何形式的可以执行控制和切换 计算环境(2108-2)的任务的处理器、微处理器、中央处理单元、ASIC 或其他逻辑电路。应当注意,即使对于可能需要执行复杂和综合的数 据处理和需要能够执行复杂计算机程序指令的CPU的整个系统2200, 桌面和用户接口计算环境(UICE)2108-1处理单元的“处理器”也可以 是更为简单的组件。
也可以对控制和切换计算环境(2108-2)处理单元和保护存储器计 算环境2108-3处理单元进行类似的描述。事实上,在一些实施例中, 控制和切换计算环境(2108-2)以及保护存储器计算环境2108-3处理 单元的功能可以由单个单元2155执行,并且在其他实施例中,主模板 复制开关2151和保护存储器复制开关2152的功能和操作甚至可以组 合成单个单元2156。
UICE 2108-1也被例示为从CSCE(2184A-1)接收控制信号 2184A、从保护主模板(2184A-2)接收操作系统(OS)和/或应用程序、 以及从保护存储器(2184A-3)接收数据。还可以将数据发送回保护存 储器(2184A-4)。这四组信号被表示为存在于每个计算环境中,但是 为了保持清楚,不是所有的连接线都已示出。对于一些处理操作,不 是所有信号线都需要或使用。
所述实施例还示出了与UICE,CSCE和PSCE交互操作的分配功能 以耦合和使不同的外围设备可用于可能需要的处理操作。应当注意的 是,在至少一个实施例中,键盘和鼠标(或其他指示或选择设备,例 如触摸屏)可用于其他计算环境或直接为用户桌面和用户计算环境处 理单元使用。
还示出了可选的ASIC 2126。在至少一些实施例中,CPU或ASIC (或其他逻辑电路)足以提供所需的接口处理能力,但是这里为了模 块化和通用性,两者都示出了。
参照控制和切换计算环境2108-2处理单元,控制和切换计算环境 处理单元(CSCE)被示出为类似的组件组,但是将会理解的是,用于 程序和数据的存储器的内容典型地将依据由计算环境提供的功能或 操作而不同。在CSCE 2108-2的情况下,临时存储器2149被表示为包 含I/O开关配置数据2158和数据传送或读取/写入开关配置数据2159。
参照保护存储器计算环境2108-3处理单元,再次示出了类似的组 件组。用于主模板和用户数据的保护存储器被例示为该单元的一部 分。包含操作系统和应用程序元件的该主模板的完整副本,或在某些 实施例中,适于由用户请求的不同处理操作的多个模板的副本被存储 在该保护存储器2141中。用户和可能的系统文件存储在保护数据存储 器UDPS 2143中。回想到保护存储器没有暴露给能够执行可能存在的 用户数据(或代码指令)的处理器或CPU,从而如果提供处理器或 CPU,则其将被禁止或断开与保护存储器的连接。因此,开关2144 和2145将被打开或采取其他步骤来禁用该处理器,例如移除操作电压 或抑制操作所需的操作时钟信号。这通常意味着诸如ASIC或其他逻 辑或处理电路2146的电路可以与软件和/或固件协作,将提供向保护 存储器读取和写入以及保持他们隔离的处理能力。应当注意的是,主 模板复制开关和保护存储器复制开关或多个开关可以作为PSCE的一 部分或独立单元,但是与其通信。复制(读和/或写)例如可以由ASIC 或其他逻辑或处理电路2146执行。
参照两个隔离处理单元计算环境IPUCE#1 2108-4和IPUCE#2 2108-5还保持该模块计算环境结构。这些处理单元可以有利地包括支 持可能请求执行的处理操作的完整范围的CPU,例如字处理、与互联 网的连接和交互、蜂窝电话呼叫接收和语音编码和解码等。
具有组合的控制&用户隔离计算环境的实施例
参照图11,示出了本发明的另一个替代实施例2300,其具有组合 的控制计算环境和一个(或多于一个)用于用户处理的隔离计算环境。 该组合的控制计算环境编排计算系统2300的操作以提供早期描述的 实施例的控制&用户接口计算环境2108-1、切换计算环境2108-2和保 护存储器及读取/写入计算环境2108-3的任何所需的操作。隔离计算环 境2304-1可以采用在前面的实施例描述的形式,在此不再详细描述, 除了这种ICE通常包括用于执行ICE预期的指令集的处理逻辑2381和 可切换地与处理逻辑耦合或去耦合的存储器2380之外。
将会理解的是,在任何给定的实施例中,某些特征和过程步骤将 是可选的,并且根据将要实现所需的性能和/或所需的安全或免疫度 并不需要。某些特征和过程可以根据系统的当前状态和预期的计算环 境操作,在其他的因素中动态实现。在任何情况下,将会理解的是, 根据所述描述,这些控制操作在与隔离用户计算环境分离(物理或临 时地)的计算环境中执行。
在该实施例中,建立控制处理或计算环境(CCE)2302并操作以创 建、控制和终止一个或多个隔离计算环境2304-N。在该实施例中,为 了简化示意,仅示出一个隔离计算环境2304-1,然而,任何数量的这 种用于用户处理的隔离计算环境(ICE)或子系统都可以被固定或动态 地配置和操作。
CCE 2302包括一些逻辑电路或其他逻辑装置2320(例如控制器、 微控制器、处理器、微处理器、中央处理单元或CPU、ASIC、可编 程逻辑等)以及通过一个或多个通信链路2328通过一个或多个开关或 切换装置2325可切换地与逻辑装置2320耦合和去耦合的存储器2321。 开关或切换装置2325通常可以包括多个适合耦合或去耦合存储器 2321与逻辑装置2320之间的重要信号和数据的开关或切换元件,并且 例如可以包括如现有技术中已知的用于使存储器与逻辑电路例如与 CPU耦合和去耦合的信号调节电路。
根据逻辑电路或逻辑装置2320的类型,可以提供例如以 ROM,RAM,寄存器等为形式的分离的存储器,并且也可以通过一个或 多个存储器开关2326可切换地连接或断开(激活或禁用)。可以有选 择地切换以实现向/从内存或存储器进行单向(例如用于读取或写入) 或双向通信或信号传输。在此及本发明的其他实施例的范围内,开关、 多个开关、切换装置等术语是要给出他们最广义的可能的解释,并且 任何物理地或逻辑地从一个位置到另一个位置耦合或去耦合信号或 禁用这种位置之间传送信号的能力,独立于是否存在或可能存在电连 接或光学连接的设备、逻辑、硬件或软件。
逻辑电路或逻辑装置2320的类型和能力通常取决于由CCE 2302 执行的逻辑或其他处理操作。例如,将要执行的处理操作(如对通用 笔记本电脑的控制)可以不同于将要对移动电话或电子照相机执行的 控制操作,至少一部分是由于将由这些不同设备执行的操作通常是不 同的。
在一些实施例中,用于耦合或去耦合与在隔离计算环境2304中的 储存器2321、存储2322、I/O或外围设备(例如键盘2390,鼠标2391, 或网络NIC 2392)的通信或信号,和/或存储设备2380的各种开关(例 如开关2350,2360,2325,2356)和切换能力都可以由逻辑电路2320 提供,或者在其他实施例中可以提供分离的切换逻辑,并且其全部或 部分由逻辑电路或逻辑装置2320控制。在这个或其他实施例中,单个 开关或开关组或多个分离的开关或开关组可以用于实现所需的切换 操作。
虽然至少某些开关可以至少部分地由CCE 2320控制,但是将会 明白的是,通信链路、信号线、总线或其他连接可以不通过或被CCE 2320的元件访问。例如,在至少一个实施例中,网络NIC 2392可以可 切换地与隔离计算环境2304-1连接或断开,但是从NIC接收的数据或 比特不通过CCE 2320而是仅通过ICE 2304-1,以便防止暴露给恶意代 理。在至少一些实施例中,分离的调制解调器和/或网络NIC设备和通 信通路被提供来从外部环境接收数据和向外部环境发送数据,以便提 供附加的免疫和系统保护措施。当接收的数据与发送的数据分离时, 还为在系统2300之外的其他计算机或设备提供了保护措施,因为发送 被污染的或包含恶意代理的数据的机会被减少或消除。存储器2321 可以被实现作为单个物理设备,作为两个或多个物理设备的组合,或 作为一个物理设备或一个或多个物理设备的部分。例如其可以是磁、 光、固态中的任何类型、或其他存储器类型,如现有技术中已知的或 被开发的。
在所示的实施例中,存储器2321提供主模板保护存储器 (MTPS)2322、用户数据保护存储器(UDPS)2323、用于存储器设备和/ 或I/O设备的开关配置信息或数据2324、以及需要支持与用户的接口 和控制的所有操作系统元件和应用程序2325的操作部分。临时工作存 储器2326还可以可选地提供。在一些实施例中,用于这些不同的所存 储的组件的存储器类型可以被有利地选择以便于快速读和/或写访问 和/或擦除存储器组件。特别地,在用户计算环境会话已完成、正被 终止或关闭之后,固态或半导体存储器可以便于快速存取和准备以及 可靠地擦除用户计算环境。
一个或多个隔离计算环境2304-1,…,2304-N可以被固定或动态 地配置。当处理器或其他硬件的数量趋于限制物理的(例如硬件)独 立的会话的数目时,可以使用临时分离但是间歇访问该硬件,实现可 选的附加隔离计算环境,如在该说明书中描述的。
每个ICE 2304被有利地通过CCE受控开关2350可切换地耦合至 存储器(或存储器的一部分)2321,以便根据需要读取和/或入写保 护存储器(例如MTPS 2322和/或UDPS 2323)或者存储器2321的其他 部分。在不同的实施例中,单个通信或信号通路(例如布线、多线总 线、或光学链路)可以与通路分配和仲裁电路或其他逻辑装置一起用 来分配和控制该单个链路上的通信。此外,在可以提供ICE 2304内的 任何操作系统和/或应用程序的实施例中,不需要提供ICE 2304中的存 储器2380与CCE内的存储器2321之间的通路。
这个或这些相同的通信链路2351,2352,2353还可以用于传送任 何标志2355,窗口x-y坐标2356,ICE视频输出2357,和/或在专用或 临时共享间歇的基础上耦合外围设备。或者,分离的专用或共享通信 链路可以用于这些信号或数据。
标志2355提供CCE 2320与ICE 2305之间的状态和/或命令和控 制,例如但不局限于下述标志或状态:“ICE准备读取主模板”,“ICE 准备读取用户保护数据”,“完成的ICE处理”,“遇到的ICE处理错误”, “请求将文件保存到保护存储器中”,“文件保存操作完成”,“复位和 擦除ICE的CCE命令”,以及其他支持所需操作的状态和命令。在本发 明的一些实施例中,标志的状态和复杂度有意保持简短(例如几比特 或几字节),以便减少或消除状态或命令和控制标志可能不利地在ICE 与CCE之间传送或发送病毒或恶意代码的可能性。
正如已经相对于其他实施例所描述的,与视频或图形相关的输出 信号或数据2357从每个ICE提供,从而可以捕获ICE用户环境(例如 字处理屏幕)的再现或呈现并显示在显示屏或其他设备2393上。在大 多数实施例中,将使用单个显示设备,但是本发明并不排除多个显示 设备或实际上是多个视频或图形处理器。当在窗口环境下操作时,受 CCE的控制,窗口x-y或行采样(line-sample)坐标和窗口大小或ICE 窗口的其他描述符都被传送至CCE(或视频处理器2392),从而来自 不同ICE的多个窗口可以相互组合,并且可选地但是期望地与由CCE 2302或视频显示器2393产生的桌面(例如Microsoft2000桌面)显示组 合。
限制在通信通路上传送的数据类型和/或数量的过滤器或限幅器 是可选的,但是有利地在CCE存储器2321与ICE 2304之间,和/或在 ICE 2304与视频显示控制单元2392之间,和/或在ICE 2304和与标志、 窗口坐标和维数、或其他状态或命令和控制信号相关的CCE之间提 供。
例如,存储器存取限幅器2370可以设置在存储器2321与ICE存储 器2380之间。按照类似的方式,限幅器2371可以设置在每个ICE与CCE 或视频显示控制单元2392之间的视频信号通路上。
在一个实施例中,限幅器与开关(例如与开关2350,2360)组合, 尽管在其他实施例中它们是分离的。这种过滤器或限幅器还可以被实 现为CCE逻辑的一部分或ICE逻辑的一部分或两者的一部分。可以可 选地提供具有ICE和CCE之间的一些变形的备份(redundancy)。通常, 在该实施例中,任何这些过滤或限幅操作都将涉及在试图的通信与允 许的通信组之间的比较。如果试图的通信被允许,则其将被允许通过, 如果不允许则将不允许通过。各种错误消息和/或通知可以可选地但 是期望地根据规则或政策实现
具有用于控制和隔离用户处理的单个时间隔离计算环境的实施 例
参照图12,示出了仅提供单个物理计算环境但是可以使用间歇访 问和时间或时分访问来支持多个逻辑或虚拟计算环境的实施例。该单 个物理计算环境可以支持如在前面的实施例中描述的CCE的控制和 一个或多个用户处理会话中的隔离处理计算环境。这种类型的具有时 分的间歇访问也可以被本发明的其他具有或可以支持多个物理计算 环境的实施例使用。
在所示的实施例中,单个处理逻辑元件2404(例如处理器、微处 理器、ASIC、控制器、微控制器、或其他逻辑或处理电路装置)可 以通过开关或切换装置2412可通信地耦合至存储器2406。
在一个实施例中,存储器2406可以被物理地或逻辑地分割或分区 以提供在隔离计算环境存储器2410与控制计算环境2408之间的分离, 其中例如,主模板和保护用户数据以及任何操作系统和应用程序元件 可以存储而不必担心污染。提供该隔离计算环境存储器以用于在ICE 执行期间存储用户数据、操作系统和应用程序元件、临时存储器等的 工作副本。共享公共的物理存储器可有利地伴随有控制例程或过程, 该控制例程或过程确保在ICE模式下操作时恶意代码的执行不会到达 或污染或感染保护数据存储器,例如损坏主模板、原始保护用户数据 文件等。
本发明的其他实施例使用分离的物理储存器或存储器,并提供存 储器地址或访问控制,从而无意的访问例如可能由试图使分配的存储 器地址范围溢出的黑客产生的访问不会发生。为相对于隔离计算环境 工作存储器的控制和保护存储器提供独立的物理存储器,这提供附加 的隔离度,如其提供了完整的物理隔离的可能性,其中通信线路或总 线没有将两者互联(或它们可以物理地或逻辑地切换出或禁止),使 得不会发生任何污染。使用不同的物理存储器也是可选的但是有利地 提供了使用不同存储器设备的优点,例如用于控制环境存储器部分的 ROM或EEPROM,用于ICE的RAM,和诸如用于任意大数据或程序 存储的比如硬盘驱动器的磁存储器。对存储器的ICE或CCE需求也可 以利用多个不同的物理存储器和/或存储器类型。
开关或切换装置2412还可以负责使输入/输出或其他外围设备 (例如但不局限于键盘2418和鼠标2418)与所选择的一个计算环境耦 合和去耦合。在其中相同的处理硬件被临时分配给不同的计算环境的 实施例中,仍然需要所述切换来允许或禁止输入、输出或其他外围设 备的使用,以便可以维持所需的隔离度。例如,虽然键盘和鼠标可以 与执行字处理应用程序的控制和隔离计算环境耦合,但是网络NIC卡 可以仅与隔离计算环境耦合或将其使能到执行互联网浏览会话的隔 离计算环境而不是控制环境。
在一个实施例中,提供复位模式以启动引导或重新启动到已知的 初始状态。用于该初始状态的操作系统和应用程序以复位和重新装载 可以方便实现的方式存储在控制环境存储器2408的非易失性存储器 中。在一个实施例中,其存储在快速ROM中。该模式允许隔离计算 环境执行其通常在产生一个或多个新文件或数据集或产生校正的或 新版本或多个这种文件或数据集的版本时结束的处理操作。在一个实 施例中,复位模式过程为任何这种新的或校正的文件或数据集查看存 储区的特定区域,然后将其复制到保护存储器中以根据定义的规则或 政策添加或替换保护存储器中的文件。由于复位模式过程仅复制文件 或数据集,而不是打开或执行它们,因此与在其他实施例中描述的一 样维持了保护。
在另一个实施例中,与共享硬件资源的临时隔离是通过存储和恢 复中间逻辑或处理器2402状态来实现的。通过存储处理器2404和任何 其他所需的状态信息或数据,一个诸如控制进程的进程可以被中断, 可以引入一个新的隔离计算进程(完整的或部分的),当中断或恢复 时,其处理器状态为存储或恢复等等。多个处理会话可以以使用最小 物理硬件集的方式进行。提供用于存储和恢复处理器状态的结构和方 法,从而多个处理可以在定义的时间周期内处理,有时被称为同时处 理或多任务。我们不再探究这些已知结构和方法的详细情况。然而, 在本发明的上下文内,我们应当注意的是,可以提供寄存器或其他存 储器以用于为多个计算环境独立地存储处理器2404状态,以便保持隔 离,并且恶意代码不能避开所述隔离。因此,处理器的每个不同的临 时分配部分(例如芯片,RAM,存储器或这些或其他组件或部分的 组合)可以单独地、作为某些组,或共同地复位或修复。
在一个实施例中,分离的复位逻辑2450与硬件或软件复位按钮或 开关2451耦合,其提供在不同的计算环境之间转换、在一个进程被中 断时存储状态以及在恢复该进程时恢复该状态所需的隔离控制。复位 逻辑可以是硬连线逻辑或者可以是可编程的,并产生信号给处理器 2404和开关2412,以实现状态的存储和恢复以及其他设备2400的参数 和条件的设置。设备组件的控制线根据需要设置在状态存储器寄存器 2453、存储器2406、处理器2404、开关2412之间。在一些实施例中, 在隔离计算环境中的进程被引导完成,从而通常仅有控制进程可以暂 停并且随后恢复。在其他实施例中,任何进程都可以暂停和恢复。
将会理解的是,这种类型的某些实施例将会找到到所谓的瘦计算 设备,例如移动电话等的特定应用。在这种设备中,在单个使用该设 备时,可能存在处理与电话对话相关的声音处理,接收电子图像或图 片,或查找日历项或电话号码。通过使用最少的硬件来促进多个进程, 可以减少设备的开销,保持小尺寸,以及实现在电源消耗和热量产生 方面的减少。
具有用于控制和隔离用户处理的单个时间共享计算环境的替代 实施例
参照图13中的实施例,示出了根据本发明的方面的架构和系统 2500的通用配置。在该实施例中,根据需要,第一计算环境2501包括 或可以配置成包括和支持桌面环境、控制环境、擦除/重格式化功能 和/或环境、一个开关或多个开关、开关配置、保护存储器、网络接 口和连接或卡、具有预定或动态确定的通信(其中具有限制通信功能) 以提供或保留隔离度的ASIC、视频处理和/或视频控制、鼠标和键盘 输入、输入/输出连接、外围设备连接和控制、以及这些组件的组合 的功能。该第一计算环境2501通过开关2503(其本身可以是可选配置 的或在第一计算环境内实现)耦合至第二或用户计算环境2502。该第 二用户计算环境具有在本发明早期的实施例中描述的相同的隔离,因 此对病毒、黑客、网络恐怖、和由恶意计算机程序代码造成的其他偶 然的或故意的攻击或污染提供相同的免疫力。
典型地,用户计算环境2502将产生可以由用户计算环境或通过第 一控制计算环境2501的显示设备处理和显示的视频输出信号。然而, 将会理解的是,在本发明的一些实施例中,不是所有的计算环境都需 要视频输出信号或甚至用户知晓已创建分离的计算环境。例如,在特 定的移动电话中,用于处理或编码和解码声音信号创建的计算环境可 以不需要任何视频输出而是仅产生所需的信号。这仅仅是一个其中所 述输出为数据集的情况的例子,在该例子中,实时或非实时地产生和 使用该数据集并且不存储。从本说明书中提供的描述中将很明显的 是,任何计算环境的输入和输出将依据处理任务而不同。
开关或切换装置2503可以耦合或去耦合用户计算环境2502与第 一计算环境2501之间的数据2506(例如用户文件或文档的副本),其 处理控制、接口、保护存储器、切换及用于系统2500操作的其他功能。 附加的可选的有限通信链路2508可以包括通信线路和可选的ASIC或 其他逻辑电路或逻辑装置,其可以提供用于支持这种操作,诸如保存 文件、擦除计算环境、擦除内存、擦除存储器、传送窗口和/或对象 坐标和身份、传送鼠标坐标等等,如在本说明书其他部分所描述的。 将会明白的是,这些操作的切换是可选的,并且通信通路可以是直接 的,并且任何信号组合(命令,数据等)都可以进行组合和复用或通 过定义的通信链路集来传送。这种通信链路可以是布线、总线、光学 链路、或其他连接装置,如现有技术中已知的。
至于这里所描述的其他实施例,过滤器或限幅器2510可以在任何 通信通路中提供,以过滤或限制通过通信通路的比特或数据的类型、 图形或数量和量。可以提供其他可选的特殊专用通信通路或链路 2526,如同其他普通可共享的通信通路或链路。
PC卡总线或接口卡实施例和传统计算机
已经描述了本发明系统、架构和方法的几个实施例,下面我们来 关注适于卡或其他电路的本发明系统、架构和方法的实施方案,其通 过ISA总线、PCI总线、USB总线、PC卡总线或其他提供适于所需性 能等级的带宽的总线或接口。按照类似的方式,本发明可以与可翻新 改进地插入到系统或外围设备总线例如到ISA,PCI,SCS,火线,USB或 其他总线或连接中的任何卡、芯片、或芯片组结合使用。
该PC卡实施方案特别有用,因为其允许具有可翻新改进的PC卡 插槽或电缆的笔记本电脑和其他信息装置提供安全等级和防病毒、防 黑客性能,而不完全替代该笔记本电脑。
参照图14,下面关注耦合至主计算机处理器和主处理器存储器的 PC卡元件。在典型的PC卡接口中,通过PCI-CardBus桥将PC卡连接至 PCI本地总线,如在现有技术中已知的。该PCI本地总线随后通过 Host-to-PCI桥耦合至主计算机总线。该主机总线与耦合至主计算机处 理器或CPU的总线相同。对主处理器和所有主计算机的外围设备的访 问提供了改进基于PC卡的辅助处理系统的机会,其具有本发明的系 统、架构和方法的优点。
参照图14,示出了本发明的PC卡版本的示意图。虽然有利地使 用了PC卡,但是将会明白的是,本发明可以体现在其他不同的设备 中并通过其它现有的或将被开发的接口与笔记本电脑或其他信息装 置连接或耦合。
PC卡总线提供了将本发明系统的电路与笔记本电脑耦合所需的 所有信号。在一个实施例中,使用主计算机的电路来提供用户接口计 算环境,但是在其他实施例中,仅仅PC卡的处理器可用于处理。在 一个实施例中,使用主计算机的硬盘驱动器,而在其他实施例中,使 用PC卡上的或通过电缆耦合至该PC卡的固态存储器。有利地是,其 中计算机具有多个PC卡插槽或连接器,一个插槽可以安装和连接携 带本发明的处理器系统的PC卡,并且第二个卡可以支撑具有硬盘驱 动器、光学、固态或其他存储器或这些存储器的组合的存储库。存储 器也可以设置在处理器PC卡上和基于PC卡的存储设备上。
图15是表示用于将PC卡2602耦合到PCI-to-CardBus桥2605的通 用结构2600,通过该桥电路耦合至PCI本地总线2605。该PCI本地总线 随后耦合至主PCI桥2610,其提供对主总线2612和主处理器2614的访 问。主存储器2616,例如DRAM,也耦合至主总线2612,并通过host-PCI 桥2610耦合至PCI本地总线2605。在本实施例中的PC卡包含本发明的 计算系统,而主处理器2614是安装在传统笔记本或桌面计算机中的处 理器。将会理解的是,对于ISA和PCI卡来说,它们可以直接耦合至ISA 本地总线和ISA总线,如现有技术中已知的。PC卡2602可以有利地包 括存储器、网络互联卡(NIC)、调制解调器、图形处理器、无线通 信、和一个完整计算机系统的其他设备及外围操作特征。
可替换的是,或此外,PC卡2602可以包括用于将这种设备耦合 到所述卡的连接器。在其他实施例中,可以提供第二PC卡来扩充存 储器、通信、视频处理或其他特征,并且与包含本发明的处理和计算 环境的PC卡2602(或桌面型计算机的其他插件)交互操作。在可改 进或可插入的软件包中提供本发明的计算和处理环境的能力可以扩 展到具有插件或外部接口能力的各种手持和便携式设备,例如移动电 话、组织器、个人数据助理、卫星电话、医疗器械、娱乐系统、或其 他设备或系统。
图16示出了本发明的实施例2700,其提供独立的动态可配置系统 组件,例如但不局限于:存储元件(例如RAM或ROM)2702、任何 形式的数据储存器(例如磁硬盘驱动器或其他储存器子系统或设备 2706、固态存储器2708、光学储存设备2709等)、视频处理元件2704、 信号处理元件2711、以太网接口2712、网络接口卡2713或能力、调制 解调器2714、无线接口2715、处理器2705、开关或切换元件2730、通 信通路、布线和/或总线2720、ASICS 2717,或相对于本发明描述的 其他组件。在该图中仅示出了互连能力,并且可应用于前面所示意和 描述的本发明的任何实施例,其提供另外的架构、拓扑系统和方法的 详细情况。动态配置和重新配置可以在初始化时、操作期间(甚至在 其他处理操作正在进行的时候)或在系统复位时发生。在一些实施例 中,分配表或数据结构2725将被存储以识别不同组件和元件到不同计 算环境的分配。
一些或所有这些组件的动态可配置性已经相对于本发明的架构、 系统和方法的其他实施例进行了描述。例如,之前描述了计算环境和 这种计算环境的组件可以是模块化的并可动态配置,以便特定的故障 组件和/或计算环境可以通过控制实体,例如CSCE或CCE计算环境去 除服务,直到包含计算环境的故障组件或组件组被换出工作部分或被 修复。同时已经描述了本发明的一些实施例可以使用动态可分配的和 可配置的中央处理单元(CPU)、微处理器、微控制器、ASIC或某些组 合以提供物理结构来创建已经描述的类型的计算或处理环境。该动态 配置还提供了当具有不同特性的组件或元件在系统内可用时,在选择 适于特定的处理任务的组件或元件的特性上的灵活性。在一些情况 下,处理或计算任务的复杂度将指示物理元件,其将支持所需的计算 环境例如对快速处理器或大型存储器的需求,或者在其他情况下,使 对适度的监控任务的电源损耗最小化的愿望,该任务需要较少的处理 能量或速度和最少的存储器数量。回想这种选择和配置可以处于用户 控制下进行的,或者更典型地,是处于根据某些预定或动态确定的规 则或政策的计算系统的自动控制下进行的,并且可选的但是希望地, 符合某些测量的计算系统物理的或逻辑状态、环境条件、处理请求和 复杂度、应用程序大小和数据集大小。本发明的其他实施例提供了对 独立元件(例如CPU和储存器)的动态分配,其可以被组装成计算环 境,即使在制造计算机时没有物理连接甚至不是相邻地位于计算机系 统硬件内。在一些实施例中,动态地分配和配置可以包括和使用外部 组件或元件,比如可以经由已经描述的切换系统、经由外部端口来进 行配置。在一些实施例中,控制计算环境(例如CSCE,CCE或如在此 所描述的其他控制计算环境)可以交互操作或控制相对于外围设备、 输入/输出设备、和/或存储设备描述的开关或切换系统,以允许通信 通路、开关计算系统元件,并构建链路和连接来提供期望的操作。
虽然图16示出了连接至单个示意“线”的组件的不同类型,将会 理解到每个组件将通过布线、布线组、总线或其他具有适当的电(或 光)特性和信令协议的通信链路来支持期望的通信。这种合适的特性 是传统的,现有技术中已知的,在此不进行详细描述。还将理解的是, 虽然本发明的一些实施例可以提供所有前面列出的组件和元件(以及 没有特别列出的其他组件)的动态配置,但是其他实施例可以提供更 有限的动态配置性,例如将不同的数据储存器动态地配置到动态或固 定地配置的计算环境的能力。
图17示出了表示多个计算环境的实施例,每个计算环境具有一些 组件和电线、总线或其他通过开关“X”将计算环境组件连接到不同 的信号线或总线的接口的集合。还示出了多个数据储存器子系统,其 可以被动态分配给整个计算系统以供不同的计算环境使用。在一些实 施例中,每个计算环境可以包括某些数据储存组件和动态可分配的或 可切换的数据储存器,该数据储存器表示,当储存或处理任务所需要 的储存能力(包括例如临时储存器)超出了在定义的计算环境内可用 的储存器的数量时的附加储存能力。
图18示出了本发明的计算环境2801如何通过键盘通信线路或链 路2807(例如电缆或无线链路)和鼠标通信线路或链路2808将多个键 盘2803和鼠标2804(或其他输入或指示设备)耦合至本发明计算系统 内的隔离计算环境(ICE)的隔离“集合”或整个计算环境2801,并 通过视频通信信号链路2806与多个独立的分层视频“集”组合。输出 可以被发送至单个监视器或独立的监视器2805,以创建独立的‘节点’ 2802-1,…,2802-N,其独立地执行且相互隔离,然而所有都在单个 控制器或控制环境的控制下。
具有多个动态配置的虚拟计算或处理环境的实施例
已经描述了本发明的各个实施例,包括多个实施例,其中(i) 组合了用户接口、控制&切换、以及保护存储器计算环境的功能(例如 参见图9和图10以及它们附带的说明);(ii)系统组件是动态可配置的 (例如参见图10及其附带的说明);(iii)存在单个临时隔离的计算环 境用于控制和隔离的用户处理(例如参见图12及其附带的说明);(iv) 存在单个临时共享的计算环境,用于控制和隔离的用户处理(例如参 见图13及其附带的说明);(v)存在PC卡总线或其他接口卡实施例和 传统的计算机(例如参见图14和图15及其附带的说明);(vi)该系统 具有独立的动态可分配的系统组件,用于根据计算任务或其他基础来 定义计算环境(例如参见图16及其附带的说明);以及(vii)多个计 算环境被定义或配置,其中每个具有组件或布线、总线或通过开关或 复用器(例如协作的开关组)将计算环境组件连接到不同信号线或总 线其他接口的某些集合(例如参见图17及其附带的说明)。本发明的 其他实施例也已描述,该列表不是打算识别这里的所有实施例,而是 要建立用于标记另一个实施例的基础,这里也称为虚拟的处理空间和 虚拟处理环境。
如以下所描述的,该实施例包含物理系统组件的动态配置(包括 选择、分配和切换等方面)以及到多维虚拟处理空间中的任意维数组 的时间复用(时间或时间维度)的扩展。实施例还可以动态可配置性 的概念以及PC卡总线或其他接口卡扩展的概念扩展到包含其他插件 或模块(例如PCI卡插槽子板、母板芯片组替换或附加),以及可以在 传统组件之间插入的接口(例如可以插入到(或与之紧密配合)母板 和传统微处理器的处理器(例如由Intel,Advanced Micro Deviecs,摩 托罗拉或其他公司制造的类型)和传统的计算机的处理器的本发明的 接口)。此外,插件和接口的概念可以组合。下面详细描述虚拟处理 或计算空间以及虚拟处理或计算环境实施例。
具有多个复用虚拟处理环境(VPE)的多维虚拟处理空间(VPS) 的实施例
该实施例以及前面描述的实施例提供了病毒、黑客、以及其他恶 意代码免疫环境,其中每个进程被保持与其他是或可能驻留在虚拟处 理空间中的每个进程隔离。来自外部或可能受污染的源的进程输入通 过输入隔离器进入到虚拟处理空间内的隔离处理环境进行处理,该接 受新进程之前,该虚拟处理空已经被清除、清空或以其他方式复位到 已知的信任状态,从而可能由以前的进程引入的任何污染都可以消 除。然后处理环境处理或执行接收的外部进程并在完成时通过输出隔 离器把进程输出或结果导出到外部世界,例如导引到请求进程或另一 个被配置成接收该结果的进程。输入和输出隔离器可以是相同的物理 隔离器,或者它们可以是不同的,使用不同隔离器的优点在于它们可 以与输出进程在时间上部分重叠地处理输入进程。当在例如执行或试 图执行病毒或其他恶意的或破坏性的代码(甚至是伪装成数据的代 码)的处理期间处理环境检测到问题时,该进程可以冲洗外部进程结 果,并且不将其传送至外部世界。因此,即使执行病毒或其他恶意代 码,该处理环境也被清除、清空、复位或以其他方式返回到已知的和 信任的状态。在一个实施例中,已知信任状态可选地从信任模板或其 他保护储存器恢复,该信任模板或其他保护储存器在处理任务期间也 保持与处理环境隔离(包括嵌入的模板的本发明的实施例不需要这种 清空和恢复)。信任模板是用于重装操作系统、应用程序、系统参数 等的源。在一个实施例中,通过在只读存储器中提供信任模板来提供 隔离。在一个实施例中,从输入到处理器的隔离以及从处理器到输出 的隔离是通过硬件电路提供的,该硬件电路仅执行比特或比特流复制 或传送操作,并且没有能力来执行病毒或其他恶意代码或被修改来执 行其他操作。用于两个处理环境和两个外部进程的处理环境隔离的方 式的一个实施例在图19中示出。
已经描述了多处理环境隔离的方面,将会理解的是,用于单个处 理或计算环境、多计算环境以及用于时分复用计算环境的其他实施例 的详细情况已经描述。如何保持隔离的详细情况同样可应用于当前实 施例,下面来关注包含这些特征中的至少一些方面的多维处理空间。
参照图20,示出了多维虚拟处理空间的实施例,用于处理或执行 至少一个进程,但是更常见的是多个或大量进程。因此虚拟处理空间 可以是1维,2维,3维,4维或N维,其中N是任意正整数。原则上, N可以是任何正整数而没有限制,但是实际上由于在定义的时间周期 内(或其他操作限制)对一个或多个物理硬件元件(例如逻辑电路、 微处理器、微控制器、存储器元件,类似的处理或计算硬件)配置、 分配、控制和/或操作非常大量的虚拟处理环境,虚拟处理环境的数 量例如可以被限制为小于1000的数量,例如在1和1000之间的任意特 定整数,或小于100,小于10或小于等于2,3,4,5,6,7,8,9或 10的数。
由于与图示具有3维以上的虚拟处理空间的结构和操作相关的难 度,这里的描述关注于具有三维的典型处理空间上。这里使用术语“虚 拟”至少部分是由于可以在单个物理处理器内创建多维处理空间,取 决于人们的观点,该单个处理器可以被认为是一维或三维。即使是考 虑基于时间的处理事件或处理器事件时间序列,维数也可以认为是二 维(处理器空间维数加上时间)或四维(三个处理器空间维数加上时 间)。在配置多个处理器的情况下,维数被进一步扩展或增加。事实 上,本发明的结构、设备和方法提供了更大的维数,从而通过小于N 个物理处理器数量和时间来创建N维虚拟处理空间。
图20的典型实施例具有维度“处理器数量”(处理器的个数),“处 理时间段”(其可以被解释为一个处理器时钟周期或多个处理器时钟 周期集合或其他时间间隔),以及“进程类型”(在一个实施例中,其 可以被解释为与一个物理处理器内的资源或一组资源相关)。在图20 中识别的处理器类型作为示例包括但不局限于浮点操作、图形渲染操 作、通信操作、以及任何其他与计算、信息处理、信号处理、通信、 游戏、动画、语音处理、数字信号处理以及任何其他指令、代码或在 计算或信息处理技术中已知的操作类型相关的不同操作类型的任何 其他倒微度(mired)。
将会明白的是,根据本发明可以提供专用处理器,其中,传统处 理器的分离元件被集成,或可以提供专用处理器,使得处理器元件可 被独立地访问或寻址,从而不用于一种类型的处理操作的元件在公共 或部分重叠的时间周期内将可用于其他操作。本发明还提供了多个可 在单个处理器内提供的处理器元件的示例或副本,而无需复制处理器 内的所有结构。在图20的实施例中,在虚拟产品空间内定义5个虚拟 处理环境,如在下表中示出的,表中示出了典型的虚拟处理环境和复 用的隔离或分离参数。
由该虚拟处理空间提出的范例可以用复用操作类推,其中例如当 选择输入信号呈现给电子系统中的后续电路时,使用逻辑电路(例如 一个或多个开关或切换元件)来选择多个复用器的输入中的一个作为 该复用器的单个输出。
表1.典型的虚拟处理环境和复用的隔离或分离参数
    进程     提供与其他进程的分离和隔离的复用参数     进程或数量 进程/指令类型     时间段   其他     1     1 浮点操作     50   …     2     1 浮点操作     70   …     3     1 通信操作     50   …     4     2 浮点操作     50   …     5     1 图形渲染操作     100   …
在本发明的系统、设备和方法中,外部进程(或其定义的命令、 指令和数据)有选择地路由或复用到虚拟处理器空间内的特定资源组 (称作虚拟处理环境)。该虚拟处理环境同样可以通过一组物理或逻 辑开关、切换元件、或开关或切换元件组定义(例如复用器或复用器 组)。
图20示出了典型的实施例,其中N维虚拟处理空间2950定义了多 个虚拟处理或计算环境,包括VPE1 2951,VPE2 2952,和VPE4 2954。 这些虚拟处理或计算环境中的一些也可以相当于物理处理或计算环 境。虚拟处理空间(VPS)和虚拟处理器环境(VPE)配置、分配和 控制单元(CACU)2960负责配置物理处理资源,例如处理器、存储 器、高速缓存器、I/O设备、键盘、显示器、CD ROM及任何其他可 能需要的处理组件或外围设备。在该实施例中,沿着物理处理器身份 维度轴2955、处理时间段维度轴2956和指令或进程类型维度轴2957 定义VPS 2950。在该实施例中,所识别的指令或进程类型是浮点型、 图形渲染型以及通信型。可以明白的是,也可以识别其他类型。在该 实施例中,指令或进程类型被识别,并且可以使用不同的处理系统资 源方面。此外,如相对于图16和图17中的可动态配置和切换的组件的 描述,处理系统可以具有一组需要的可配置资源,并且这些物理元件 可以被分配给特定的进程。将会理解的是,定义特定的虚拟处理实施 例的能力可以根据物理处理资源来限定,因此定义虚拟处理空间以支 持所需的虚拟(或物理)处理或计算环境的能力将取决于所存在的物 理资源。比如扩展物理资源的修改例将允许扩展VPS的维数。在为特 定的配置提供冗余资源的情况下,VPS 2950可以提供特定VPE的多个 示例或副本。
CACU 2960还与模板2958的信任资源通信并控制该模板的信任 资源,该模板的信任资源存储或产生已知的干净和功能版本以及任何 操作系统、程序应用、驱动软件、系统或程序参数和数据、或处理特 定的处理操作所需要的其他软件元件。其中保护模板免受变更或污染 并被用作处理代码和指令的信任资源的方式在本说明书中和在此引 入作为参考的相关专利申请的说明书中进行了描述,因此这里不再重 复。
隔离储存分配控制器逻辑2962负责将进程输入2941(例如处理器 输入P12942-1,P122942-2,…,PK2942-K)连接到特定的隔离储存器 (ISL)2943(例如ISL12944-1,ISL22942-2,…,ISLM2942-M)。该隔离 储存器分配控制器2962可用于切换可能的连接的网络或结构的连接, 从而特定的处理专门路由到并与可用的ISL 2943连接。这些ISL可以 依次连接至适当的虚拟处理环境,其中实际上该连接是与物理资源连 接。与通过输入隔离(或输入ISL)将进程输入连接到处理器(例如 VPE的物理表现)和通过输出隔离(或输出ISL)输出进程输出相关 的操作已参照图21中的方法进行描述。动态切换和配置组件的操作也 已描述,并且在此不再重复。在输入进程中ISL的动态分配不需要, 并且可以是固定的,但是对于例如动态配置和分配提供的其他灵活性 而言,这种动态配置和分配是有利的。
虽然相对处理器数量、时间段、以及图20中的实施例的进程类型 描述了三维虚拟处理空间,将会理解的是,所述维度并不仅仅局限于 这些维数。例如,利用适当配置的物理结构、指令集和格式、数据集 和格式,所述维度可以扩展到其他处理参数、变量、条件等。此外, 虽然到目前为止所述描述建议例如当前公共用于个人计算机、笔记本 电脑、服务器、路由器、个人信息设备、个人数据助理、信息装置、 蜂窝电话、电视机、家用电器、汽车电子、工业控制和自动化、机器 人技术、飞机控制和其他计算和信息处理系统及设备的数字计算,本 发明并不局限于此。例如,本发明还可应用于模拟计算和信号处理以 及数字计算和数据处理,以及混合的数模设备和系统。本发明还可应 用于光学计算,其中例如频率波长、传播模式、以及其他光学设备 和系统参数的这种附加的维数可以被选择和复用。光学、数字和/或 模拟元件可以以任何组合的形式提供以允许对虚拟处理空间和在此 定义的多个虚拟处理环境进行配置、分配、和控制。当通过编程操作 制造、建立时所述配置、分配和控制可以是固定的,或在根据操作政 策操作期间由控制元件进行动态设置。
本发明的系统、设备和方法的实施例可以使用切换、互连、复用、 选择、配置和/或复用各种类型中的任何一种来实现待处理的任务的 所需结构,并且在处理系统内可以同时使用适于所述结构和过程的不 同形式。各种开关,以及切换和控制方案和方法已相对于其他实施例 进行了描述,并且这些实施例可以使用这些方案和方法。
将会理解的是,复用的许多形式和类型都是现有技术中已知的, 未来也可以开发出其他形式和类型,这些类型中的任何或所有类型都 可以与本发明的系统、设备和方法结合使用。以下清单是为了示例而 提供,而不是为了限制:地址复用、突发时分复用、码分复用、解复 用、差分复用、隔离复用、多用户复用、多用户空间复用、正交频分 复用、偏振分割复用、空分复用、空间复用、副载波复用、统计复用、 时分复用、波分复用、安全虚拟化、创建独立的或安全处理或计算环 境的方法、和/或信息、数据或计算机处理的任何其他复用或分割技 术,过程或方法。还将理解的是,可以使用这些复用方案、虚拟化方 案或分割方案中的任何一个或组合。
已经阐述了虚拟处理空间(VPS)和多个处理或计算环境的实施 例,下面来关注对操作虚拟处理空间内的每个虚拟处理环境的进程和 方法的描述。步骤的顺序是示意性的,并且将会理解的是,可以应用 不同的顺序以实现等同的或类似的结果,并且特定的步骤可以并行执 行,其中相对于资源不会发生冲突。在进程2970中的每个主步骤被编 号,每个主步骤中的典型的子步骤由字母来表示。方法的实施例也在 图21的流程图中示出。
1、识别外部进程和创建、配置或分配信任的虚拟处理或计算环 境(以及可选的隔离储存器锁)以执行所识别的外部进程(步骤2971)
(a)从多个可能的外部进程输入(EPlin,EP2in,…,EPKin)中识 别第一外部进程输入(EPlin),其中K是正整数范围内的整数(步骤 2971a)。为了简化说明和命名,术语“外部进程输入(EPlin)”和“外 部进程输出(EPlout)”分别是指输入和输出进程以及执行根据该执 行结果产生的进程所需的内容(例如操作系统需求和/或参数,应用 程序和/或参数、命令、指令、数据、或定义或执行进程所需的其他 元件)。
(b)从N维虚拟处理空间(VSP)内的多个可能的虚拟处理环境 (VPE1,VPE2,VPE3,…,VPEM)中建立第一个已知的信任虚拟处理环 境(VPE1),其中N为正整数范围内的整数(步骤2971b)。当要执行 的进程是计算进程时,虚拟处理环境还可以被认为是虚拟计算环境, 或更简单地为计算环境。由于这些处理或计算环境相互隔离并与外部 进程隔离,并且是虚拟的或物理的子系统或单元,他们也被称作隔离 处理单元计算环境,可用于用户应用程序处理、系统控制或任何其他 操作或处理任务的任何目的。例如,这些虚拟处理环境可以配置成作 为控制&切换计算环境、保护储存器计算环境、读取/写入控制计算环 境、用户接口计算环境、用户计算环境、控制计算环境、隔离处理单 元计算环境、用户接口计算环境或其他计算或处理环境进行操作。这 些虚拟计算或处理环境可以静态地确定但是有利的是从现有系统组 件中动态地定义和配置。这种系统组件可以是本地的或地理分布的。
(c)可选的,在这个阶段可以识别、配置和/或分配隔离储存器 锁(以下见ISLlin和ISLlout),使得它们在需要时是可用的,如下所 描述的(步骤2971c)。应当注意隔离储存器锁可以存储命令、数据或 其他信息或内容,但是不能执行任何可能是病毒或其他恶意代码的比 特集合。短语“隔离储存器锁”中的术语“锁”与用于航天器中的“密 封舱(air lock)”或其他压力或防污染室或环境的术语“锁”类似, 其防止密封舱一方的环境与密封舱另一方的环境直接连接或影响。
2.将外部进程输入安全装载到信任的虚拟处理环境中(步骤 2972)
(a)建立第一已知的信任(清空的)隔离储存器(ISLlin),以 用于存储执行EPlin所需的输入组件(步骤2972a)。
(b)使EPlin与ISLlin去隔离(耦合)(步骤2972b)。(耦合和去 耦合可以是固定的或动态确定的,并且可以是物理的、逻辑的或虚拟 的)。
(c)将EPlin装载到ISL中。(使用复制操作和复制设备或硬件有 利地执行在任何源与任何目的地之间的装载或传送,该设备或硬件在 内荣比特被复制时不能执行该任意多的复制内容比特(例如EPlin或 EPout)(步骤2972c)。此外,有利地是,隔离储存器锁(ISLlin和 ISLlout)不能执行存储在其内部的任意多个内容比特。还将理解的 是,有利地,在外部进程与虚拟处理环境之间从来不存在耦合,并且: (i)通过输入隔离储存器锁将外部进程输入的副本传送至虚拟处理 环境,以及(ii)通过输出隔离储存器锁将外部进程输出的副本从虚 拟处理环境传送回外部进程(或另一个指定的进程)。
(d)将ISLlin与EPlin隔离(逻辑地或物理地不耦合)(步骤 2972d)。
(e)使ISLlin与VPE1去隔离(耦合)(步骤2972e)。
(f)将EPlin从ISLlin传送/装载/复制到VPE1(步骤2972f)。
(g)使ISLlin与VPE1隔离(去耦合)(步骤2972g)。
3.在隔离虚拟处理环境内执行外部进程(步骤2973)。
(a)使用VPE1处理EPlin输入以产生EPlout输出结果(步骤 2973a)。
4.将外部进程结果安全卸载到启动的外部进程(步骤2974)。
(a)建立第一已知信任(清空的)隔离储存器锁(ISLlout), 用于存储由VPE1执行EPlin而产生的输出组件(在一些实施例中, ISLlin与ISLout相同,而在其他实施例中是不同的)(步骤2974a)。
(b)使VPE1与ISLlout去隔离(步骤2974b)。
(c)将EPlout传送/装载/复制至ISLlout(步骤2974c)。
(d)使VPE1与ISLlout隔离(去耦合)(步骤2974d)。
(e)使ISLlout与EPlout去隔离(耦合)(其中输出结果EPlout 是或可以被认为是与输入进程EPlin相同的进程或不同的进程)(步骤 2974e)。
(f)将EPlout传送/装载/复制到EP1(步骤2974f)。
(g)使VPEl与ISLlout隔离(去耦合)(步骤2974g)。
5.解分配信任的虚拟处理环境和释放任何分配的虚拟处理空间 资源(步骤2975)。
(a)释放和解分配任何已分配给VPElin或VPElout的虚拟的处 理环境或虚拟处理空间资源(步骤2975)。应当注意的是,所述资源 在其可用性对于所述进行来说不再需要之后的任何时间都可选地可 以被释放和解分配(步骤2975a)。例如,在其已被识别为进程但是不 需要排除在对其他外部或内部进程可用的资源池之外后直到必要,所 述资源可以被调度来供进程使用。
将会理解的是,所描述的进程仅仅是用于实现所需的或所要求的 隔离度的一个实施例。其他用于实现隔离的方法和过程也可以使用, 并且在所描述的实施例中步骤的顺序可以改变,同时实现相同的结 果。
单个计算机内隔离的多个进程流的时间复用的典型实施例
在本发明的一个实施例中,分离的进程或处理流保持分离并通过 其他控制逻辑的控制电路隔离。可以使用处理流,其中复杂的或多部 分的进程的完成需要不止执行一个进程。在该上下文中的分离意味着 (在需要的情况下)进程的执行(例如计算机操作系统和/或应用程 序指令的执行)可以与处理逻辑内的其他进程相隔离地执行。处理逻 辑可以是微处理器、处理器、控制器、微控制器、专用协处理器、数 字信号处理器、光计算机、模拟计算机、或执行处理操作的其他设备 或系统。虽然本说明书把注意力聚焦在具有单个处理器内核的单个处 理器上,本发明的结构和方法可以应用到多处理器系统中每个或所选 择的处理器上或应用到单个处理器的多个内核上。本发明还可以应用 于具有在单个板上的多个处理器和/或分布在不同的板或不同的机器 之间但是耦合的多个处理器的计算机,所述分布在不同的板或不同的 机器之间但是耦合的多个处理器用于相互通信或与一些其他主控制 逻辑通信。
多个进程可以基于在物理处理设备空间变量的任何一种组合或 在这里所描述的多位虚拟处理空间来进行区分或分离。某些特别有用 的变量涉及在至少部分共享的处理资源组中的时间的或基于时间的 处理任务的切换或复用或时间共享。这种处理情况的例子是在多个进 程是在具有单个处理器以及处理器逻辑与存储器子系统之间的一个 或多个缓存或其他非常快的中间存储器的计算机内的以时间复用方 式的进程时。在一些当前的计算机中,快速中间存储器可以是一个或 多个所谓的第一级(L1)和/或第二级(L2)高速缓存存储器,并且 存储器子系统可以是随机存取存储器(RAM);然而,本发明并不局 限于这些配置,其甚至也不需要比如高速缓存存储器的中间存储器。 这种计算机典型地还可以包括一个(或多于一个)海量存储设备例如 硬盘驱动器,以用于存储操作系统、应用程序和操作系统、应用程序 和用户数据。未来可以预计的是,其他海量存储非易失性存储器系统 将会扩充或替代这些硬盘驱动器中的一些。
一个进程与另一个进程的隔离通常可以例如要求防止在一个进 程或进程流中发生影响另一个进程或处理流的问题,或防止操作系 统、应用程序、系统或程序数据、或用户数据遭受另一个进程的破坏。 这些问题常规地是由计算机病毒、计算机黑客代码、计算机间谍软件 或及机器人(所谓的“间谍机器”)、或其他恶意代码引起的。他们还 会由计算机操作系统或应用程序中的臭虫或编码错误产生,或由一些 不一致的计算机设置、设备错误或设备驱动问题产生。存储器或存储 器子系统中的存储器溢出,例如在高速缓存或其他中间存储器中(例 如级别1和/或级别2高速缓存存储器)或在一个程序进程与另一个程 序进程之间的存储器子系统中(例如与处理器相关的RAM存储器 等),可以经常产生程序错误或污染。
用户数据和/或程序或操作系统组件的隔离可以以各种方式实 现,例如但不局限于逻辑隔离、基于存储器地址管理的隔离、物理隔 离(例如通过可切换地断开所有或部分实现设备或子系统操作的通信 或电源通路从而禁用它,或者渲染对一个或多个进程不可见的特定的 设备、系统或子系统的操作)。这些用于隔离的方法和装置可以在短 期内或长期内是临时的。一些进程从来不会看见或访问设备或子系 统。
当处理任何共享处理资源中的多个进程或进程流时,存储器管理 特别重要,例如在仅具有一个物理处理器和共享的物理存储器的单个 计算机中。处理器执行和海量存储器管理也是防止计算或处理系统中 的恶意行为的有价值的工具。例如,如果其他程序项、数据项、文件、 用户数据等的存在可以对其他进程隐藏,则在一些实施例中,对监视 或获取有关退出计算机或计算或处理环境的其他进程或数据的信息 的进程的消除存在较小的可能性。
另一方面,在一些情况下,其还可以期望的是,信任的用户(例 如具有足够权限和处于适当位置的安全装置的管理员)执行信任的程 序使得可以确定处理系统的操作健康、监视系统中的行为、和/或进 行校正行为或保持管理系统操作。因此,本发明的实施例逐进程地提 供了选择的隔离或非隔离。
虽然存在一些尝试来提供基于软件的隔离度以解决某些问题,但 是当需要和允许时它们不能确保隔离,因此允许有见识的 (knowledge)和复杂的黑客和病毒爆发的入口点、阿基里斯治愈 (Achilles-Heal)、或其他机会。例如各种版本的Microsoft Windows (Windows98,98SE,NT,2000,XP等)的操作系统特别把具有用于该操 作系统的应用程序作为目标。其他操作系统例如Apple计算机产品, 各种个人数据助理,手机、及其他信息装置具有目标并易受攻击。
这里所描述的本发明的时间复用可以与单个物理计算机、多个处 理器计算机、具有所谓的双核或多核处理器的单个处理器或虚拟计算 机(例如但不局限于这里所描述的虚拟计算机和虚拟计算空间)一起 使用,其中在任何这些配置中除了时间之外可能存在附加的复用或处 理维度,和/或其中可能或不可能存在与进程相关的实际的时间或时 序。本发明的系统、设备、结构和方法还可以独立于他们的底层技术 而应用于计算机中,包括例如光计算机、数字计算机、模拟计算机、 基于生物或神经的计算机或系统,和/或任何混合的计算机,包括但 不局限于上述所列出的计算环境的组合。本发明还可以应用于各种非 计算机中,其包括计算组件,例如电视机、娱乐系统和设备、视频处 理器、汽车和航模和/或控制系统,和/或具有处理器或处理逻辑的任 何其他设备或系统。
为了不妨碍其中分离的进程保持独立的这种方式,以下的描述被 限制在具有单个处理器的计算机,其中三个输入处理流,分别称作具 有成员A1….AI,B1…BJ,和C1…CK的A,B,和C,并且其中I,J,K是正整数。 如相对本实施例所描述的本发明可以容易地独立于类型或应用程序 而扩展到其他物理和虚拟计算和处理系统中。
除了在例如一个虚拟处理或处理环境的物理或逻辑或虚拟计算 机中允许临时共享处理资源或设备或电路,本发明的系统和方法保持 隔离,以便在所述计算环境中呈现的不同进程可以防止受污染。这可 以,至少部分地,通过分离控制每个进程对存储器的可视性和/或访 问使得可以仅看到并且可以仅访问其有权看到或访问的存储器和处 理环境的其他组件的那些部分来实现。此外,当允许时可见性和/或 访问可以仅是只读存取或允许部分或完全的读取操作和/或部分或完 全的写入操作。最后,甚至在设备或电路变为可见时,可视性也被限 制,使得仅有一部分设备、设备特征、或其他设备性能可以被观察到。 在一个示例中,不同的存储设备的专用部分可以变为可视的,并且可 进行到两个不同的进程的读取/写入访问,尽管管理进程可以仅读取 整个存储器。
现有技术中公知的是计算机黑客或病毒可以破坏计算机的操作 以使存储器或缓存溢出。在这些机器中的存储器控制主要是在软件控 制下,其中该软件存在于BIOS、操作系统、应用程序或这些软件中 的某些组合中。因为这些典型地可以由黑客或病毒或其他恶意代码访 问,所以他们可以被访问和修改而无需用户确认或许可
本发明可以在原始的环境中(和信任的环境中)保持处理环境配 置和控制,包括存储器配置和控制,从而不期望的错误和恶意黑客或 病毒代码都不可以访问该配置或控制和修改该配置或控制以损害计 算系统或数据或该计算系统内的其他信息。因此,其他进程或属于这 些进程的数据的污染也可以保护。应当注意的是,通常即使恶意代码 存在于计算系统内中,必须访问执行代理(例如处理器(例如中央处 理单元或CPU)或任何其他逻辑处理设备或电路中的所有或部分电 路)和其他程序和/或数据来污染。在仅存在执行代理的情况下,恶 意代码可以执行但是其不能污染另一个数据或程序元素。如果恶意代 码仅仅与另一个程序或数据一起存储而不隔离(例如存储在公共的硬 盘驱动器)但是同时不访问程序执行代理,那么恶意代码不能污染该 其他程序或数据项。应当注意的是,数据还可以是或携带例如可执行 代码的程序信息,并且这是根据文件类型扩展仅表现为不可执行代码 的文件必须被怀疑的原因。回想到,隔离可以是物理的、逻辑的、虚 拟的或任何其他方式,或方式的组合。
本发明的实施例提供了这些特征中的两种。在一个特定的实施例 中,存储器配置和控制保持在信任的只读存储器(ROM)中,该信 任的只读存储器不能被写入或以其他方式被执行程序修改。可以提供 特殊的信任过程,以便可以以安全和信任的方式进行所需的改变。在 另一个实施例中,使用硬件ASIC保持存储器配置和控制。在另一个 实施例中,使用具有可被修改但不是由源自非信任源的进程(例如在 计算机处理器中执行的进程)修改的固件的硬件ASIC保持存储器配 置和控制。存储器配置和控制可以利用分配给特殊进程的单个物理存 储器的固定大小来设置,或者其可以动态地确定,例如通过使用统计 监控或通过用户简档,该用户简档建议并发的处理环境和存储器的数 量或其他期望执行的进程的资源需求。
通过使用例如原始的、信任的和稳定的嵌入式主模板,本发明的 实施例在竞争(成功或不成功)处理或计算任务后消除或简化了计算 环境修复进程。在这种情况下,不需要清洗或清除,然后恢复处理环 境。例如,本发明的实施例可以包括只读存储器,其存储在该处理环 境中需要的Microsoft Windows XP操作系统(或任何其他操作系统软 件)和任何其他应用程序。不同的处理环境可以提供不同的嵌入或存 储的操作系统和/或应用程序。此外,某些方法可以嵌入一些组件并 根据需要装载其他组件以允许灵活性以及增加速度和吞吐量。例如, 一个实施例可以嵌入操作系统并将应用程序装载到可写入访问存储 器。在这种实施例中,嵌入的操作系统不需要清洗和恢复,但是存储 可能被污染的应用程序的存储器将被清洗,然后在完成其处理任务之 后恢复到已知的原始状态。
参照图22,以下对单个处理器和存储器提出一个用于三个进程 A,B和C的时间复用操作的结构和操作场景。为了便于说明,出于描 述的目的,假定这三个进程(“A”,“B”和“C”)等待处理器可用, 并且它们同时启动。计算机系统、处理器、存储器等本领域普通技术 的工作人员已知的传统元件没有示出以避免成为本发明的障碍。
计算系统3002包括处理器3004,具有第一级(L1)高速缓存器 3006,一个或多个输入总线端口3008,用于接收一个或多个来自输入 源3010的输入流,一个或多个输出总线端口3012,用于将一个或多个 输出流传送给接收机3014,以及端口或管脚,用于传送状况3016和控 制3018。处理器还包括总线或用于与片上、机载或其他存储器(例如 第二级(L2)高速缓存器3020,和随机存取存储器(RAM)3022) 通信的其他装置。该处理器可以是传统的处理器或微处理器或一个具 有专用设计的处理器。本发明的结构还提供定时、地址控制和切换 (TACS)逻辑3030,其包括输入总线端口3032,用于接收输入或输 入组3036,以及输出总线端口3034,用于传送输出或输出组3038。在 该实施例中,TACS逻辑3030被连接来接收供处理器3004使用的输入 3036作为输入3040,并用于接收处理器输出3042以及对其进一步进行 处理以产生输出3038。
TACS逻辑包括输入流3036串行化逻辑或其他输入进程流串行化 装置3044,其接收输入进程流3036(在该例子中,三个输入进程A,B,C) 并可选地对它们进行解析或以其他方式在将要处理的进程流中识别 组件。术语“串行器(seriallizer)”意在具有最广义的可能的含义, 并不限制以逐比特、逐字或以任何其他特定方式处理输入流,但不是 接受具有输入流特性或输入流特性组合的多个输入流中的任何一个 或任何组合,并根据定义的政策或逻辑组来对所述流进行处理以产生 其输出。(解串行器可以类似地接收和解串行任何一个输入或组合以 产生其输出)。可选地,还可以识别在特定的处理周期内将由每个进 程使用的处理器组件,但是当处理器的其他元件将被独立地分配给一 个进程或另一个进程时,这是极为有利的。如同可以存在于典型的计 算机和方法内,这些组件例如可以是单个指令,具有其数据的单个指 令,若干指令,或任何其他命令组、指令组、数据组。在该示例中, 串行器3044获取一个组件A(例如A1),后跟组件B(例如B1),后跟 组件C(例如C1),然后重复A(例如A2),B(例如B2)和C(例如C2), 直到每个完成然后处理其他进程流。其他示例可以根据预定或动态确 定的政策从在输入3032的等待处理流中选择。对输入流的数量没有限 制,并且在一个实施例中,它们排队直到TACS逻辑3030和处理器3004 已准备好接收它们以用于处理。通常A,B或C中的一个将在长度上不 同,并将最先完成,但是没有理由在解析和串行化下一个进程流D之 前等待其他进程完成。事实上,所述进程是彼此完全独立地执行的。 可以实现其他方案,例如如果处理器流B具有较高优先级,那么多个 B组件可以散布在单个组件A和C之间,例如串行化流“… A1B1B2B3C1…”。
下面描述一个进程的实施例,在该进程中,处理器存储器(例如 处理器芯片3004上的L1 3006或L2 3020高速缓冲存储器或其他缓冲 存储器或例如RAM 3022的外部存储器)被控制以保持进程绝对分离。 提供存储器内部隔离的替代方式是为高速缓冲器、其他快速中间存储 器或例如RAM缓冲器的其他存储器子系统提供独立的物理存储器芯 片,但是由于成本、互连和其他考虑因素,这并不是优选地。在实现 多个处理器或多个处理器内核的情况下,具有独立的物理存储器设备 或芯片可以更可行。此外,某些实施例可以提供多个处理器内核和与 每个内核相关的快速存储器,从而可以不需要独立的存储器子系统 (例如外部RAM)。
然而回想到,不是所有的实施例都需要或从进程的绝对分离或隔 离中受益,并且在一些实施例中,可以提供信任监控进程,其允许授 权的和信任的管理员监控计算机操作。在它们之间存在定义的信任等 级的情况下,也可以允许其他进程操作而不需要绝对隔离。此外,即 使没有信任,只要多个输入和输出被成组在一起且以所描述的隔离等 级处理,则可以一起处理多个进程。例如,可以创建处理环境,以使 用两个不同的应用程序执行字处理操作和照片编辑进程。即使该处理 环境的输入和输出是文本文件和图形文件,本发明也是可操作的,这 是因为本发明并不关注来自处理或计算环境的输入或输出的特性和 内容。
在该实施例中,串行化流3050由信任的TACS逻辑3030产生,并 且TACS逻辑还根据正处理的进程组件修改明显的进程环境配置(以 简单的术语,计算机的物理或逻辑配置)。在一个实施例中,在数据 流A,B,C的组件以所描述的方式串行化的情况下,时序控制电路用于 在接收到每个组件时对每个组件读取和应用不同的配置。TACS逻辑 及时地在每个时刻有效地读取不同的配置记录(例如来自信任ROM 的BIOS配置),从而对于专用于进程A的每个时间段,其仅看到识别 为进程A的存储器或其他计算机环境元件,包括仅看到分配给A的存 储器并且不能无意地访问在分配给进程“A”的存储器(地址)范围 之外的其他存储器。
在一个实施例中,通过使处理器3004向L1和L2高速缓冲器、RAM 的特定的地址范围写入和从中读取来实现存储器管理和控制。这例如 可以使用地址重映射方案来实现,在该地址重映射方案中,每个存储 器仅有一个区域对处理器而言是可见的,并且那些区域被映射到每个 存储器中不同的地址范围或以其他方式利用每个存储器中不同的地 址范围识别(例如L1,L2,RAM和海量存储器磁盘驱动器)。换句话说, 处理器看到第一L1缓存器地址范围ADDR1 3061,但是,当处理进程 “A”实际读取或写入时,看到与进程“A”相关的地址范围ADDR2 3062,当处理进程“B”实际读取或写入时,看到与进程“B”相关 的地址范围ADDR3 3063,并且当处理进程“C”实际读取或写入时, 看到与进程“C”相关的地址范围ADDR4 3064。类似的映射或识别 发生在其他存储设备中,例如硬盘驱动存储器设备、第二级高速缓冲 器以及RAM。按照类似方式,其他设备可以映射到特定的进程或利 用特定的进程专门识别以保持分离。此外,在本发明的实施例中,映 射或专门识别或分配不仅仅是操作系统或软件重分配,而是涉及信任 的控制,该信任控制重新定义计算系统的配置或组件以便一个进程不 会看到或获知其他进程。
在所示的实施例中,TACS 3030通过到L1高速缓存器3065的控制 信号(或可选状态)、到L2高速缓存器3066的控制信号、到RAM 3066 的控制信号以及可选的到海量存储设备或其他设备3068的控制信号 来负责控制存储器地址控制。
这与进程A,B,C中的一个进程是否包括并执行病毒或其他恶意代 码没有关系。在被其他进程使用之前,任何可能受污染的公共进程环 境元件被清除,复位、或修复,并且需要保留的任何进程环境的元件 不被共享。因此,在进程B执行病毒的情况下,这种执行的效果将仅 仅在分配给进程B的存储器中是明显的。一旦进程B由于完成或错误 而终止,分配给进程B的存储器将被复位,任何污染将不会传播到其 他进程。然而,通常,处理器的内部组件(除了例如存储在缓冲存储 器中的内容)将不保留作为下一个进程的其他进程的剩余元件(例如 指令或具有其相关数据的指令),或这种剩余的元件本身不可以自身 操作来产生危害或引入任何污染。在代码通过处理器元件(例如寄存 器等)时,由于没有保留在其中,所以这种代码是不相关的,并且下 一进入的代码将有效地清除剩余的元件,但是在存在存储器的情况 下,元件应当被清洗或以其他方式复位或回到原始的已知的信任的状 态。对于可以与本发明的特征结合使用的传统的处理器结构和设备, 该特征可能包含有害的剩余特征,这种元件可以被清除或复位。这可 以采用时序地址控制和切换逻辑来进行考虑。例如,清除指令或代码 可以在可能的危害指令或进程之后引入,或者在这种危害不能提前预 测的情况下,这种清除或复位进程可以在由另一个进程拥有的每个进 程之间引入。对于未来将要开发的处理器结构,清除或复位特征可以 内置在处理器结构中以改进处理器的吞吐量而无需在输入流中插入 清除或复位进程。
一旦处理器3004产生其输出,它们由处理器方输入端口3070接 收,并由TACS逻辑处理以解串行化组合的输出流3052并提供合适的 输出序列。虽然输出流3038被示意为具有与输入流3036的顺序匹配的 顺序,当标签或其他进程标识符被使用来识别哪个进程与特定的输出 相关时,不需要该匹配顺序。
已经描述了使用特定的时序、地址控制和切换逻辑(TACS逻辑) 3030的特定实施例,本领域的普通技术人员将会理解的是,可以使用 替代的结构和方法来实现本发明的替代实施例。在附图23中示出一种 这样的替代方式,其示出了使用地址范围控制来保持计算机中的多个 处理之间的可控隔离度的系统的替代实施例。处理器逻辑3080,其可 以是用于处理计算机程序指令或其他指令的任何逻辑,例如处理器、 控制器或中央处理单元,包括某些内部地址控制逻辑3081。各种形式 的处理器地址控制逻辑在本领域是公知的,在此不再详细描述。提供 独立的地址控制和隔离逻辑3082或者本发明的地址隔离和控制逻辑 的特征插入到处理器的地址控制逻辑中或以其他方式在处理器3080 内提供。地址隔离和控制逻辑(AICL)3082利用处理器内的地址控 制逻辑3081以及可寻址存储器/缓冲器/存储器3085(根据需要)传递 控制和状况信号。可寻址存储器/缓冲器/存储器3085可以是,为了示 例但不是限制:RAM,ROM,高速缓存存储器,硬盘驱动器,或任何其 他储存器设备或存储器映射输入/输出设备。输入由AICL 3082接收并 处理以产生特定的控制信号3083,该特定的控制信号3083可以被传送 至地址控制逻辑3081可寻址存储器3085。或者,AICL 3082可以产生 特定的控制信号3083,该特定的控制信号3083可以传送至地址控制逻 辑3081,然后地址控制逻辑可以将附加的控制信号3089(可选地接收 状态信号)传送到可寻址存储器3085。AICL 3082的结构通常取决于 待处理地输入3086的特性,并且这可以是基于所述输入来统计地定义 或动态地确定的。输出3087可以是相同的输出,其已在传统的处理器 中为相应的输入产生,除了例如执行病毒或其他恶意代码的异常的处 理情况可选地被抑制,并且不会发生可能发生的错误或例外情况(或 系统故障)。
回想到在图22的实施例中,一些强调放在对时间复用的应用上, 并且由其他控制逻辑的控制电路使独立的进程或处理流保持独立并 隔离。回想到多个进程可以在物理处理空间变量的任何一个或组合的 基础上或在这里所描述的多维虚拟处理空间的基础上进行区分或分 离。完全隔离或隔离的控制度的原因以及优点已经在此描述并且不再 重复,因为具有多维空间,可以通过一组独立的变量或参数定义。
在一个实施例中,在一个时间段或周期内执行的控制环境接收由 在较早的时间段或周期内的非控制进程提交或剩下的操作请求。该请 求以这样一种方式提出或提交,其虽然与其他进程共享但不能污染该 进程。例如,不会携带可执行代码的单个比特或少量的比特被存储在 一个或几个寄存器以及处理器或其他逻辑中。控制环境查看或询问这 些寄存器并在识别该请求是由另一个进程作出之后,可以利用标志或 其他指示器(例如寄存器中的比特或少量比特)授权访问或许可或拒 绝对该操作或能力的访问或许可,从而当请求进程接着使用计算环境 时,操作或能力可用。该操作或能力通常可以是任何计算环境有能力 提供的操作或能力,其附带条件是,控制环境将不允许可能将其他进 程或数据暴露给污染的操作或条件。该允许的操作或性能例如可以通 过一组规则、政策、表、逻辑或以任何其他方式来定义。在一些实施 例中,授权许可或访问可以改变明显的计算环境配置以使可见或可访 问例如硬盘驱动器或其他海量储存设备的储存设备,例如随机存取存 储器的所有或部分与处理器相关的存储器子系统,例如高速缓冲存储 器的一个或多个与处理器相关的快速中间存储器中的所有或部分,使 任何输入或输出端口可用或隐藏,使任何网络接口卡可用或隐藏,和 /或更普通的隐藏、限制、打开、关闭或以其他方式使一组设备、电 路、逻辑、操作、硬件或软件中任何一个元件可用或不可用于所述请 求进程。授权许可或访问一个元件或能力必须要求控制进程限制或拒 绝对其他进程的许可或访问,从而保持适当的隔离度。授权或拒绝许 可或访问例如可以由诸如关闭开关或一组开关的物理变化、逻辑变换 产生,该物理变化创建物理通路或给设备或电路通电,逻辑变化改变 计算机环境内部的物理硬件逻辑或软件或固件,或以任何其他方式修 改或创建不同的病毒、逻辑或物理处理或计算环境。可以根据规则、 政策、表、逻辑或以任何其他方式建立这些组合,然而所建立的防止 由非控制进程进行修改,实际上在一些实施例中,所建立的可以要求 专用管理特权。如在本说明书中所描述的,可以使用在本说明书中描 述的动态切换和配置结构和方法的方面或使用其他结构和方法来建 立这些对计算环境的修改中的一些。
在所述设备中,有必要共享的是存储器子系统(典型地为RAM) 和处理器与存储器子系统之间的任何中间快速存储器(典型地为一个 或多个处理器芯片或芯片组上的高速缓冲存储器)。使用如上所述的 地址逻辑控制和过程以及用于配置和控制地址分配、主文件、数据和 指令总线可用性、描述表等其他公知技术,这些存储器中不同的部分 可为不同的进程可见。在本发明的一个实施例中,例如可以存储在存 储器或寄存器的数据结构中的描述符表,通常不为其他进程看见,并 且只有在控制进程时才可见。在另一个实施例中,所选择的描述符表 部分保持隐藏,而其他部分可以有选择地为一个或多个进程可见,并 且在其他实施例中,保持独立的描述符表,并执行控制来使得它们中 的一个或多个可有选择地用于进程,即使在它们是可见时,可见性可 以仅是瞬时的,或者针对特定的指令或一部分进程。常规地,这种描 述符表是可见的并且可以为所有进程访问,并且这种可见性和可访问 性为恶意代码提供了机会来改变这种描述符表的内容从而实现改变 和毁坏所述计算环境的能力。除了控制进程之外,隔离、隐藏或拒绝 对这种与存储器地址或计算环境的其他组件相关的描述符表访问的 方法是可以保护计算或处理环境的另一种方式。在至少一个实施例 中,配置信息保持在只读存储器中。提供给非控制进程(在一些实施 例中,给控制进程)的操作系统工或应用程序都能操作这种存储的配 置信息。
本发明的这些和/或其他实施例还可以或可替换地控制可视性和/ 或访问处理环境内的各种总线、输入/输出端口或设备、装载到环境 中的应用程序软件、操作系统或操作系统组件,或这些或其他的任意 组合。在至少一些实施例中,选择的硬件或软件组件的存在(因此拒 绝访问)保证了不可以检测操作系统。在一些实施例中,这有利地通 过修改操作系统(甚至包括嵌入信任的只读操作系统版本)和/或控 制硬件和/或固件级的所述配置来确保。在一些实施例中,物理或逻 辑分离的BIOS提供了动态地配置或重新配置每个处理环境。在其他 实施例中,建立基线BIOS配置,并可以动态地建立添加特定的能力 的配置中的变化。
作为一个例子,在一个特定的实施例中,地址位置或范围被静态 或动态地定义在操作系统层以下的级或层上,从而操作系统(例如任 何Microsoft Windows,Linux,Apple Computer或其他操作系统)不能修 改或对定义施加任何影响,从而操作系统仅看到允许其看到的定义。 低级程序或进程例如可以是任何不能被其他访问的程序或进程,例如 不能为操作系统、应用程序访问,当然不能为包含潜在恶意代码的数 据访问。在一些实施例中,低级定义可以使用保护BIOS,通过地址 控制逻辑(当要隐藏的元件是存储器地址位置),通过TACS控制,甚 至通过主处理器本身,和通过任何其他插入到进程中或操作为独立的 逻辑元件和与处理器通信的逻辑来实现。当涉及TACS控制时,其例 如可以创建定义具体地址范围的全局描述,该范围将专门可用于时间 隔离复用事件。可替换的控制器可以根据其他在任何N维虚拟处理空 间中可用的非时间定义的隔离来定义地址隔离。
在一个实施例中,表有差别地定义每个进程的存储器地址范围可 用性,并且这种定义可以是逻辑的或物理的。在一个实施例中,BIOS 保持以表为形式的映射。例如,如果存在可用于计算或处理系统的硬 件的1Gb的总RAM存储器,较低级控制进程允许操作系统仅看到预定 的或动态确定的存储器数量,例如256Mb。低级程序或控制可以使不 同的数量和不同的存储器地址范围用于不同的操作系统示例,例如与 第一进程相关的第一Microsoft Windows操作系统和与第二进程相关 的第二Microsofi Windows操作系统。
常规的系统和方法典型的使用单个“沙箱”或“汤碗”,其中所 有进程可以相互作用,但是当程序代码被适当地设计而在恶意、黑客、 或病毒代码引入时将不同的进程和数据暴露给破坏时不可以。本发明 系统和方法的一个有利方面是每个进程使用其自己的沙箱或干净的 空的碗,因而不会发生污染,即使存在执行或企图在处理或计算环境 中执行的恶意的、黑客或病毒代码。
将会理解的是,使用上述涉及控制进程和另一个进程之间传递的 有限的消息的技术,该控制进程可以有效地控制其他进程,即使在执 行其他进程时其不存在于该处理器中(除了在处理器中留下的条件、 状态、标志、或其他指示符)。在其他进程已使用允许其访问的处理 资源后,控制进程也可以清除、清洗、复位、或以其他方式重新建立 原始的处理环境。
通过如上所述控制存储器地址范围来有选择地隐藏部分存储器 的能力,可以应用到计算或处理环境内部或外部的任何存储器映射设 备或子系统。本发明的系统和方法类似地可以有选择地隐藏其他设 备、电路、软件,以及其他好处中的类似结果。例如,本发明的实施 例已经描述了一种需求或期望,即在将用户数据暴露到使某些隐藏在 数据(或程序)中的恶意代码执行和使得计算或处理环境污染的处理 元件之前,将用户数据从第一储存器位置(例如硬盘驱动器非易失性 存储器设备)移动到另一个隔离储存器位置(有时称作爆发室)。然 而,将会理解的是,在本发明的实施例中,提供了部分存储器、储存 器、或逻辑的受保证的控制隔离,可以不需要这种数据到隔离储存器 的复制或移动,从而消除了耗时步骤。实质上,本发明的这种实施例 配置处理环境,从而数据项本身被合适地隔离,并且可选地,一些附 加的内存或其他储存器可以为临时工作储存器或为特定的进程可能 需要或期望的其他目的而定义。因此,可以消除在处理之前向安全存 储器的复制以及从安全存储器复制回的步骤。数据的副本可以是在执 行之前作出,以便在进程存在问题的情况下,可以保证原始数据项被 保持并且不再进一步被污染。保持这种复制例如可以允许检查所述项 和/或在清除是可能的情况下清除具有污染或病毒的项。
本发明的其他实施例可以提供存储器或储存器,其可以被动态切 换到或切换出计算环境或计算环境的特定示例。这将消除对复制的需 求,和/或将提供替代的机构,从而多个干净的存储器中的一个可以 切换进,而其他可能由于暴露给前面的进程而污染的存储器被临时切 换出,同时他们被独立的进程清除或清洗。本发明的另一个实施例可 以提供将存储器逻辑分开或分段成不同的部分,每个部分可能具有不 同的主模板,从而不同的存储器地址范围可以存储完整的新的原始的 主模板,准备用于处理或计算环境中的处理任务。
在另一个实施例中,计算环境可以通过在一个地址范围产生或创 建模板或操作系统并在多个不同物理设备的同一物理设备中的另一 个地址范围创建用户数据。实际上,多个具有主模板或其他模板和数 据的计算环境可以以这种方式产生。因为低级配置或其他控制确保了 所定义的存储器地址范围之外没有交互作用,所以每个是完整地和逻 辑地隔离的环境。以硬件、固件、软件或这些中的任意组合定义的管 理控制可以提供管理程序(hyper-visor)来控制每个处理环境,接入 或断开组件,管理多个处理环境,从而不会发生任何污染。在一个实 施例中,即使该管理控制或管理程序都不能无效(override)或改变 防止污染的低级配置。可以提供外部管理进程,从而任何软件或固件 组件都可以根据需要来装载、更新或清除。
将会理解的是,根据这里的描述,可以使用各种方法来产生软件 或代码的信任部分或将其复制到存储器、储存器、或处理器中。在本 发明的一些实施例中,这些被称作模板和主模板。各种保护复制方案 可以如这里所描述地使用。对于支持某些能量保存暂停、冬眠、恢复 和唤醒特征的操作系统和处理器,该特征存储从处理器和/或从易失 性RAM存储器到非易失性存储器(例如硬盘驱动器)的系统状态, 可以使用这些特征来产生模板或者模板被预存的地方,或者将信任模 板从储存器写入到存储器或处理器。按照这种方式,所述模板处于与 支持这些特征的现有的操作系统和硬件兼容的形式。
各种系统配置和操作场景的实施例已经在本说明书中进行了描 述。例如,已经描述了其中存在多个物理处理器的实施例,每个处理 器具有分配的计算或处理环境。相对于图9所描述的实施例识别用户 接口计算环境、控制和切换计算环境、保护储存器计算环境、和至少 一个用户计算环境。在图10的实施例中,系统包含桌面和用户接口计 算环境处理单元、控制和切换计算环境处理单元、隔离处理单元计算 环境、保护储存器计算环境处理单元、以及隔离处理单元计算环境。 在实施例中,以复用方式使用单个处理器,从而可以使用较少的物理 硬件和/或软件组件集来执行较大的进程集。虽然所述描述强调本发 明系统和方法对任何进程的灵活性和可应用性,以及具体阐述的该进 程是示意性的,但是值得强调的是,甚至某些特殊命名或识别的进程 的功能和操作可以成组,从而他们在相同进程内执行,同时保持需要 的隔离。进程的组合或成组对于某些信任的管理操作具有特定用途, 例如将桌面和用户接口处理环境、视频处理环境、控制和切换环境定 义成超级控制环境;但是保持该超级或成组的控制环境与一个或多个 用户数据处理环境分离。
该进程定义或成组的好处在本发明的复用实施例中提供了某些 功效,并且特别地不是专门地针对时间复用实施例。由于减少了分离 的进程的数量,在不同进程之间的切换的复杂度减少,并且可以存储 和重装状态和/或装载模板和/或清除处理环境所消耗的时间也可以减 少。在一个实施例中,所有非用户数据进程在单个控制处理环境中定 义和实现,而与用户数据相关的处理环境与控制环境分离地执行和保 持。
对于该实施例,以及所有其他复用处理情形,应当清楚的是,可 以将执行的优先权分配给不同的进程,从而访问特定的处理资源(例 如特定的端口,数字信号处理器(DSP),或任何其他资源)的优先 权或分配给进程的时间量(处理器时钟周期或指令周期)可以调整。 该调整可以静态或动态地设置。可以设置缺省值然后当要执行高优先 级进程时修改。高优先级进程例如可以包括实时或伪实时处理应用程 序,例如视频图象捕获、计算机游戏、以及其中可检测的延迟可能引 起用户反对的其他进程。正常或甚至更低的优先级处理应用程序可以 包括字处理应用程序,其中需要非常少的处理能量来跟随用户键入的 文本。很清楚,不同的系统可以根据用户的目标和其中运用计算系统 的环境,利用不同的处理优先级进行设置。
上面刚刚描述的方法强调了其中多个进程可以被成组、组合或集 成为一个较大的或更复杂的进程的方式。也可以采取其他方式,其可 以被认为是单个进程或使用多个执行的系统资源。例如,在提供多个 物理处理器、多个可与那些处理器耦合的存储器、和/或其他的多个 可用资源的副本的系统配置中,单个进程的处理需求可以在其间分 布,从而该进程可以更快地或以所需的吞吐量执行。典型地,使用多 个处理器的进程将是相对复杂的处理任务,其具有容易定义的子任 务,该子任务可以在不同的处理器中分布,并且他们的结果以某些方 式组合以产生最终的结果,或者使用多个处理器的进程将是具有许多 数据或许多并行性的较简单的处理任务,从而使用多个处理器将允许 快速完成整个任务。虽然基本的常规处理不同于这里描述的处理,但 是SETI处理任务是在多个处理器之间被划分的单个较大处理任务中 的一个著名的例子。
任何处理任务都可以以该方式被划分、重新定义、和/或分布。 根据相对于图16的实施例以及本说明书中的其他地方和/或前述虚拟 处理空间和时间或其他非时间复用实施例描述的灵活切换和系统配 置特征,本发明清楚地提供了其中多个系统资源被动态或静态配置和 重新配置的系统和方法,其扩展到单个处理器配置之外。例如,在时 间复用实施例中,不同的进程可以被配置成仅具有一部分处理器(处 理器以某些方式共享),专门使用该处理器,专门使用多个处理器, 或部分访问多个处理器。在实现共享处理器访问的情况下,这种共享 仅被允许与已对本发明描述的安全和保护特征一致。处理器、CPU、 或进程的其他处理或计算逻辑的这种可切换分配也可以应用到任何 其它系统资源中。
当应用到其中某些程度的并行、分布、或协作处理是有利的网格 计算、聚类、并行处理、海量并行处理、对称处理、和/或其他处理 场合时,本发明的这个方面特别有益和有用。
至少部分是由于多个系统资源可以在复用或并行计算配置中逻 辑或物理地组合或使用,物理计算系统可以被构建具有多个或多种处 理资源,例如多个处理器或CPU,多个存储器,或甚至多个片上系统 (SOC),其可以根据当前的处理组来自动(或手动)和动态地配置, 以根据定义的规则、政策或逻辑采用某些优化方式来执行一个或一组 处理任务。优化参数例如可以包括最大化吞吐量、最快执行、最小能 量消耗、最大误差减少、最小热量产生、或任何其他数据或操作偏好 或需求。包含该特征的本发明的实施例可以可选地使用相对低性能的 处理器或CPU或其他系统组件以使硬件成本最小化,而不会由于动态 组合这些资源而损害性能。
将会理解的是,根据这里所提供的描述,本发明的实施例可以提 供以静态方式或动态方式(例如通过使用一种已描述的复用方案)可 切换地配置物理或虚拟计算系统或环境以包括(或移除)任何可用的 资源。例如,除了处理器,存储器元件、硬盘驱动器或其他储存子系 统,系统的实施例可以切换或复用调制解调器,网络接口卡(NICs) 或其他网络接口,嗅探器或只读NIC,视频显示器或处理卡或逻辑电 路,图形卡或处理逻辑电路,通用串行总线(USB)端口和接口,火 线或IEEE 1394接口和端口,串行端口,并行端口,PC卡端口和接口, PCI接口,存储器接口,麦克风和扬声器输入和输出端口,数字信号 处理器和逻辑,打印机端口,CD和DVD接口,音频和视频处理逻辑, 无线接口,和任何其他单独的硬件,执行软件或固件的硬件,以及在 某种程度上与允许或禁止的外部设备接口的端口,外部设备和系统。
在一个实施例中,一个执行的进程是网络接口例如网络接口卡 (NIC)型进程。NIC具有缓冲器或其他储存器装置,用于存储从外 部资源或进程接收的数据。一旦接收到且存储,所述复用处理场景读 取缓冲器并且可以以与其他保护处理方案类似的方式处理所接收的 数据。换句话说,虽然外部资源将表现出比内部数据集更高的对污染 (例如来自电子邮件,兜售信息,病毒、间谍机,或装满间谍软件的 网站等)的关注,但是由本发明系统和方法提供的保护措施对于其他 用户数据集提供相同的高保护级别。提供了这些相同的好处,而不依 赖于外部连接是否通过调制解调器、软盘驱动器、USB存储器设备、 输入/输出端口、无线连接、或任何其他接口。提供装置来隔离输入 数据,从而其不能污染其他用户数据或所存储的应用程序和操作系统 的信任版本。
本发明的切换和控制特征的用途可应用到任何缓冲器、高速缓存 器、数据储存器和/或存储器系统和子系统,其可以存在于处理或计 算系统内部;例如包括但不局限于任何嵌入的操作系统,应用程序软 件代码,或嵌入数据。正好如同相对硬盘驱动器储存设备进行的描述, 开关或切换逻辑可以用于静态地、动态地或以任何时间或复用方式, 从计算机系统物理地或逻辑地添加和/或删除任何识别的缓冲器、高 速缓存器、数据储存器和/或存储器系统或子系统。此外,本发明的 切换和控制特征可应用于通常不与数据储存功能相关的系统资源,例 如视频或图形控制器或处理器,打印机,声卡,或任何其他系统或计 算机资源。存储器地址范围映射、上电/断电,基于BIOS配置和去配 置,以及其他用于隐藏此种资源或使此种资源可见的装置已经在整个 说明书中进行了描述并且在此不再重复。
特别地参照包括具有嵌入操作系统、应用程序和/或存储在其中 的其他可执行或非可执行的代码或数据的储存器或存储器的系统,这 些嵌入的元件可以切换到(例如添加)或切换出(移除)处理环境以 提供所希望的或所需的操作系统、应用程序或执行处理任务所需的其 他代码或数据。例如,嵌入的Microsoft Windows XP(或任何其他操作 系统)、Microsoft Outlook,Adobe Photoshop的存储版本和/或例如嵌入 的屏幕图像图形的数据可以嵌入在不同的物理或逻辑分离的存储器 或储存装置。这些例如可以是不同的存储器芯片,通过前述地址映射 和控制或通过其他装置隔离的逻辑分离的公共物理设备的部分。然后 当需要被识别时将这些添加到处理环境,而当需要不再存在时从处理 环境中移除,从而释放所述资源以用于其他进程。系统内的控制环境 或其他控制元件,期望或检测对特定的嵌入(以及非嵌入)代码或数 据的需求,并使用前述本发明的切换和配置特征,将该嵌入元件配置 到处理环境中。检测可以是请求或一些其他检测装置例如程序调用。 控制环境或其他控制元件也负责预料或检测何时嵌入元件的需要到 期,并从处理环境的配置中移除该元件,并使之可用于其他处理需求 请求。
控制环境和/或硬件切换环境(可选地包括某些软件和/或固件) 使得任何可寻址存储器、嵌入式储存器等可被作为只读、只写或读写 存储器存取,从而存取的状态可以控制或限制。根据手边的处理任务, 该存取类型控制(只读、只写、读写)通常是有用的。其还提供了用 于保持特定的存储器或储存器以只读方式保留模板的过程以供正常 访问,从而模板不能通过写操作而被污染或危害,但是允许具有足够 访问特权的用户或进程更新该模板(例如更新到较新的版本)。
在保持存储器物理的或逻辑的隔离的上下文内,硬盘驱动器或其 他具有多个底盘或表面的旋转储存介质可以通过操作分别用于每个 底盘表面的读/写头来隔离。常规的,具有两个底盘和四个表面的硬 盘驱动器将由单个磁盘驱动控制器和由共同移动多个读/写磁头的致 动器来操作。本发明的实施例提供了分离的控制器,器至少以分离的 方式控制对读/写磁头的访问,从而一个控制器仅获知其单个(或一 组)表面和读/写磁头;但是,不能获知同一磁盘驱动器内的其他表 面或磁头。在另一个实施例中,还可以提供分离的致动器,从而针对 每个表面或一组表面,致动器臂和读/写磁头独立操作。本发明的动 态配置特征还可以应用到这种硬盘驱动器以使更多或更少的表面可 用,并使他们实现只读、只写、或读写。
在本发明的一个实施例中,本发明的特征在硬盘驱动器内或附加 到硬盘驱动器上的或硬盘驱动器控制器内的逻辑板上提供。然后逻辑 或物理隔离的硬盘驱动器底盘表面可用于隔离的储存器。在一个实施 例中,这些元件和特征被组合,从而具有控制特征的硬盘驱动器提供 具有本发明的保护和安全特征的网络器件,而无需分离的计算机或外 部处理器。因此,本发明还提供了具有本发明的保护和安全特征的网 络或网络装置。
可用于本发明实施例的其他可选特征
已经描述了用于产生和操作计算机、信息装置和其他设备的计算 机和信息装置体系结构、系统配置和方法及过程的几种不同的实施 例,我们下面暂时离题来描述可以提供给某些实施例的一些特征(包 括某些可选的特征)。这些描述还提供了对下述的指示,即可以在各 种计算环境中处理的应用程序的类型,以及对病毒、黑客代码、特洛 伊木马和其他恶意代码的何种特定敏感度可以存在安全或免疫问题, 以及如何使用本发明的架构、系统、方法和过程解决这种问题。在本 描述的上下文内,术语计算环境CE的使用意在包含如在本说明书中 描述的各种计算环境、隔离计算环境或计算或隔离子系统的任何变 形,以及在此引入作为参考的相关申请中描述的这种计算环境和子系 统的子系统。
可以使用独立的逻辑控制设备,例如使用直接存储器存取的 ASIC或逻辑控制设备,在专用子系统或计算环境之间移动数据。有 利地,该移动数据的进程不允许执行数据,其可能允许或放任黑客、 病毒、其他恶意代码等。此外,数据可以被加密、压缩、或编码以防 止其执行。
如果并且当需要时,可以实现计算环境的修复或恢复。可以使用 自动修复过程将计算环境(CE)修复或返回到理想状态。这种修复 可以“不工作”地进行,或在每次交易之后或不重启。主模板典型 地代表专用子系统的理想状态,或者可以存储在储存系统上。交易可 以包括读取电子邮件,其中每个单独的电子信息的打开表示独立的交 易。可选地,在修复过程中可以忽略一个或多个项。例如,如果已打 开电子邮件,修复过程可以运行而忽略所打开的电子邮件,检测和修 复问题,然后用户可以对该电子邮件作出响应而无需退出。在另一个 实施例中,所有下载和电子邮件都可以当在网络子系统中打开下载或 电子邮件之前立即保存到储存器系统。
在一个实施例中,CE的逻辑可以触发一个与修复过程有关的事 件。该修复过程可以在工作系统的主模板与当前的工作系统的状态之 间执行比较。它们之间的任何差别都可以触发后续的修复过程,其中 从工作系统中删除某些或所有不同的数据。此外,根据需要可以通过 修复过程从主模板复制数据。在一个实施例中,修复过程可以使工作 系统等同于主模板。
在一个实施例中,修复过程可以在一个或多个电子商务交易之后 进行,或在冲浪一个或多个网页等之后进行。因此可以在下一次交易 之前使所有已知的和未知的病毒和特洛伊木马无效。虽然该进程不能 从计算机中消除病毒、蠕虫和特洛伊木马(它们可能存储在储存系统 中),其将它们保持在操作状态。修复进程可以修复易失性存储器和 非易失性存储器,或清除易失性存储器或将易失性存储器设置为理想 状态。
在一个实施例中,如果用户选择一个以上的电子邮件来打开,则 两个或多个电子邮件可以被复制到工作系统中并且可以同时打开。可 选地,每个电子邮件可以被复制到其自己的独立的隔离的工作系统 中,独立打开、浏览和工作。如果用户需要将数据从一个隔离的电子 邮件复制到另一个隔离的电子邮件,可以使用不允许执行代码的复制 过程。,
在一个实施例中,网络商业软件,或电子邮件软件,或任何软件 都可以被修改,以便独立的记录或仅仅是交易特别需要的记录的副本 被复制到储存系统,被使用,然后被复制回储存器系统中的数据库, 并且在每个这种交易之后进行修复。可选地,在例如其中数据与多于 一个的数据库或CGI交互的交易中,该交易可以被分解成多个不连续 的段,根据需要向和从隔离存储器系统或工作系统复制数据,可以在 交易的每段之间,或在交易的某些段之间运行修复。可选地,软件可 以包含定义什么数据类型可能包含交易的指令,用于限制复制过程来 仅复制满足特定标准的数据。
在一个实施例中,为了进一步加速修复进程,工作系统的主模板 和工作系统的软件中的每个都可以装载到它们自己单独的隔离的易 失性存储区或命令解释程序以增加修复进程的速度。因此,如果工作 系统中的数据处在易失性存储器中,并且主模板处在易失性存储器 中,则可以以更高的速度进行修复。或者,可以使用新的工作系统命 令解释程序,以消除对修复的需求。例如用户可以使用一个命令解释 程序打开电子邮件,读取电子邮件,并且如果他们想要响应该电子邮 件,则可以使用第二命令解释程序以用于该响应。可选地,在用户正 使用第二命令解释程序书写对电子邮件的响应时,可以对第一命令解 释程序或计算环境检查病毒,并且使其他命令解释程序或计算环境准 备使用。
在另一个实施例中,使用加密或压缩或其他防止执行数据的复制 的方法,可以将数据直接下载到储存器系统中。可选地,可以使用采 用本发明的隔离的隐藏备份或存档系统,其可以根据需要产生储存系 统、工作系统的易失性或非易失性存储器中的或数据的隐藏备份阵列 或存档,并且其可以盖时间戳。将数据复制到这种备份或存档系统还 可以使用这里所描述的技术来防止执行文件和损坏备份系统上的数 据。
对于文件保存操作,在一个实施例中,每次在工作系统中保存时, 可以对储存系统复制。可选地,为了防止病毒或特洛伊木马通过执行 上百万已保存到存储器系统的保存引起严重破坏,可选地,可以对文 件可以被保存的频率施加限制,或可以设置对将数据保存到工作系统 的进程的其他限制。可选地,这可以作为ROM或复制、存储、保存 或其他程序的一部分。
具有有限功能的独立的处理器可用于处理隔离工作系统中的数 据,或者可以给主处理器提供有限的功能。这可以利用多个数据储存 设备或者具有隔离分区的一个数据储存设备来进行。
在本发明的系统和方法的一个实施例中,数据可以以消除传送恶 意代码的可能性的方式,直接从/到一个或多个计算环境传送至/从一 个或多个第二计算环境。在一个实施例中,该方法过程例如可以包括 ASIC或其他逻辑电路或逻辑装置在第一计算环境中的使用,该ASIC 或其他逻辑电路或逻辑装置具有发送和/或接收ASCII或扩展ASCII的 能力,连接至通向第二计算环境的数据线。在一些实施例中,ASIC 或逻辑装置的能力被特别限制,从而不可能发生其他处理。可选地, 第二计算环境可以直接接收ASCII数据,或取而代之,可以通过具有 接收和/或发送ASCII或扩展ASCII数据的能力的第二ASIC接收数据。 这些ASIC可以限制数据量、ASCII字符、和/或可以作出的请求(例 如在一时间周期内),以便例如防止缓冲器溢出。
在一个实施例中,可以提供用于处理经过ASCII滤除或剥离的文 件或内容的选项。例如,如果文件、数据集、或互联网或万维网内容 不是经过ASCII滤除或剥离的,那么来自外部世界的文件和从其导出 的文件(或从其后代或孩子中导出的)被标记为和识别为“不安全” 和可能感染的,而被剥离或滤波以仅包括特定允许的ASCII字符的文 件或内容可以被识别为“安全”。这种类型的标记可以用于其他预定 的文件或除了ASCII之外的内容。因此通常,可选地,如果文件已知 没有暴露给感染物、恶意的或简单的可能有问题的未知代码,则该文 件被处理为安全的;并且如果文件已知没有被这样暴露,则该文件被 标记为安全的。
在一个实施例中,可以进行修复过程,其可以例如由以下构成或 包括一个或多个以下部分:(a)使CE中的软件等同和/或部分等同于 所有或部分主模板,(b)删除和/或修复计算环境或其中例如计算环 境储存器(“爆发室”)的一部分,和/或切换至辅助CE;(c)重新格 式化和/或修复一个或多个数据储存设备、主引导记录、分区表等,(d) 运行一个或多个其他修复进程,或(e)这些中的任何组合。修复进 程可以在例如每次用户“退出”文档(和/或其他可在其运行时使用 的标准)时运行。因此,可以在干净的环境下打开每个新的文件,该 环境不包含病毒和/或黑客软件或其他恶意代码。
在一个实施例中,主模板可以存储在数据储存设备上,其可选地 可以隐藏、和/或通常对用户不可见,并且可以称作保护主模板,和/ 或主模板。可选地,其可以是“只读”的,和/或锁定的,和/或关闭, 和/或禁用直到需要,和/或断开连接,和/或去激活,和/或与其的通信 可以终止和/或去激活。这些(及其他)技术都可以用于保护该保护 主模板免受恶意代码攻击。
在一个实施例中,数据储存设备和/或分区可以用于临时存储用 户个人数据(由用户建立的文件、电子邮件、地址本、书签、喜好, 数据库组件等)。该数据储存区也可以称作临时储存器。例如,当用 户保存文档时,其可以被保存至临时储存器中。当用户保存数据库时, 例如其(可能相关的组件)可以保存到临时储存器中。当用户下载电 子邮件时,其可以保存至临时储存器中。当创建诸如书签和喜好项目 时,它们可以在创建时,和/或退出应用程序时,保存到临时储存器 中。当从保护储存器中请求文档时(这里所描述的),其可以首先被 复制到临时储存器中。例如,如果用户想打开互联网浏览器,那么喜 好/书签、和其他用户信息可以从保护储存器复制到临时储存器。需 要注意的是,这是可选的步骤,对该过程不是必不可少的,但是在一 些实施例中是期望的。
修复进程可以修复临时储存器,并利用已提前准备的新的副本来 替换。例如,在一个实施例中,多个临时储存区可以被隔离地准备。 然后,当它们需要时,可以删除旧的临时储存设备并用例如可以使用 RAM、RAM盘、命令解释程序等创建的一个或多个新的设备来替换。
在一个实施例中,例如,保护储存器可以是其中用户个人数据除 了在修复之后或者如果爆发进程被暂停外与爆发室隔离的储存区。临 时储存器可以是数据储存区,该数据储存区可以在数据从保护储存器 穿梭到临时储存器时或在已经对文档进行处理后再次从临时储存器 返回到保护储存器时使用(可选的)。在一个实施例中,临时储存器 (在本申请及某些早期的相关申请中也称作爆发室)可以总是可为计 算环境访问。在该示例中,用户可以在工作时将数据保存到临时储存 器中,然后在退出时,将文档(或其他文件或数据集)从临时储存器 复制到保护储存器。
参照文件和备份,可选地,在一个实施例中,备份系统或存档可 以用于保存具有所有用户个人日期的连续备份:例如文档、电子邮件、 喜好等。可选地,如果文件被病毒损坏或破坏,用户可以从备份系统 中复制过去的版本。连续备份和/或存档可以盖时间/日期戳,从而用 户可以方便地确定备份进行的时间。备份的频率可以作为制造商的缺 省预先确定,但是可以由用户改变。可选地,备份系统通常可以对用 户隐藏。在一个实施例中,当备份系统对用户可用时,其保持在“只 读”模式,从而其不能被用户偶然的修改。可选地,备份可以存在于 独立的数据储存设备(在一些实施例中,分区)上,和/或位于例如 网络的其他地方上。需要注意的是,这是可选的步骤,其不是该过程 必不可少的,但是在一些实施例中是期望的。
相对于已在计算环境中发生的问题或错误的指示,可以采取各种 恢复或修复步骤。在一个实施例中,可以允许处理器完成处理和/或 可以“清除”或复位处理器,RAM可以被清除或复位,(可选地, 在第一RAM被清除时,可以使第二隔离的RAM(其可选地为不可用 和/或去激活)变为可用,例如可以建立和/或激活和使用与其的通信, 但是第二RAM的使用不是必须的),并且可以在修复进程中使用处理 器和/或RAM。下面描述一个对爆发室或隔离处理环境的修复过程的 典型实施例,但是可以使用许多替代的进程和/或不同的处理器和/或 RAM或其他存储器或储存器。在一个实施例中,CE的修复也可以被 定义为利用另一个CE替代该CE。一种实现此的方法是删除第一CE, 并激活与第二CE的通信。或者,在使用第二CE时修复第一爆发室。
收件箱或发件箱中的电子邮件(E-mail)通常被存储作为包含许 多单独的消息的大文件。例如,一个“收件箱”可以包含所有已发送 至用户的消息。因此,当读取或发送一封电子邮件时,整个电子邮件 文件会处在病毒或黑客的危险中。根据本发明的一个实施例,电子邮 件软件可以被修改,从而某一时刻的电子邮件可以被复制到临时储存 器或隔离计算环境中打开以供使用。这将保护其他电子邮件免受污 染。修复可以在打开下一封电子邮件之前运行。在一个实施例中,地 址本、或其他电子邮件组件可以存储在保护储存器中,可以将仅有用 户选择的特定地址从保护储存器复制到工作区以供使用。因此,病毒 将不能访问用户的整个地址本。可选地,更新地址本可以受到限制, 从而必须首先进行修复进程,从而保护地址本免受污染。
可选地,数据库和其他软件可以存储多个文件作为一个大文件或 数据库,如同大多数电子邮件程序将单独的电子邮件处理为一个文 件。这种软件可以被修改,从而单独的文件和/或离散的记录可以被 复制到临时储存器中并由用户在某一时间对一个进行处理,因此整个 数据库没有处在危险中。然后在打开下一个文件或记录之前运行修 复。例如,电子邮箱中的每封电子邮件可以作为分离的文件存储。或 者,可以在目录和/或数据库中输入数据的位置,并且仅仅该数据可 以被复制,在没有打开保护储存器中的任何文件的情况下不是复制到 临时储存器和/或CE。在一个实施例中,计算机程序代码可以防止在 保护储存器中打开用户数据。在一个实施例中,电子邮件和/或数据 库可以被从保护储存区复制到CE和/或其他数据储存设备,并且一封 电子邮件或文件可以被打开来处理。仅有一封电子邮件(或数据库文 件)可以被打开并处理,剩下的电子邮件和/或数据库可以删除(因 为其仍驻留在保护储存设备中)。在一个实施例中,用户和网站使用 所拥有的本发明的技术和方法。例如,在一个实施例中,系统或设备 用户决定在网站上进行电子商务交易。代替在网站上以常规方式输入 数据,用户指示他/她想要进行电子商务交易,其使得网站软件拾取 (或用户软件自动提供)用户公共加密密钥。该网站将用户密钥移动 到隔离的计算环境中,并使用用户可以使用的单机的应用程序或过程 加密以输入其交易或数据库信息。然后,可以将加密的文件移动到其 连接的或可以与例如互联网的网络连接或耦合的隔离的计算环境,或 者网络可以连接打其中该孤立的应用程序已经加密的隔离的计算环 境。然后加密后的应用程序被发送至用户。用户的计算机接收应用程 序,并将其移动到隔离的计算环境并在该隔离的计算环境中对该应用 程序进行解密。然后用户将他们的用户数据输入到应用程序中。该应 用程序可以创建用户已输入的数据的数据库,然后可以对数据库进行 加密,接着利用隔离的计算环境建立网络连接,或将加密的数据库移 动到新的隔离计算环境,然后将加密数据发送回电子商务网站,移动 到新的隔离计算环境,并进行解密。按照该方式,解密的数据库和电 子商务从来不会暴露给所述网络。
在一个实施例中,以太网电缆(或其他网络连接通信链路)可以 仅在一个方向上而不是两个方向上通信,并且每个接收和发送电缆被 切换以分别与计算环境通信。在这些实施例中,以太网(或其他网络 连接通信链路)的每条线或方向独立地与每个与独立的隔离计算环境 耦合的通信链路切换。一个计算环境发送,另一个计算环境接收,并 且它们的行为通过控制计算环境来协调,例如通过CSCE或CCE。在 另一个实施例中,一对网络接口或能力(NICs)或调制解调器也被配 置成利用提供发送/接收能力的所述对来仅发送或仅接收。通过在一 个计算环境中提供仅仅接收能力,在另一个隔离计算环境中提供仅仅 发送能力,即使是黑客或病毒有权访问接收计算环境,该黑客或病毒 也不能离开仅仅发送计算环境或与仅仅发送计算机之外的任何地方 通信。
在一个实施例中,可选地,提供内部DHCP路由器或其他路由器, 从而计算环境可以具有多个网络交易,多个NIC卡,或多个I/O设备。 在一个实施例中,任何数量的外围设备以隔离的方式与任意数量的计 算环境专门耦合。这些设备例如可以是USB设备,火线设备,SCSI 设备,串行设备,或任何其他设备类型,如现有技术中已知的。
在一个实施例中,可以保留较旧的文件,而不是替代早先保存的 文件版本。例如,当更新的Netscape书签和用户数据被复制回保护储 存器时,它们不能替代Netscape书签的先前版本和历史。因此,下一 次使用数据,如果其被污染且不能正常操作时,控制方法和/或用户 可以运行修复,并且切换回使用数据的先前版本。
在一个实施例中,可选地,可以创建两个或多个CE,一个例如 具有完整的主模板,而另一个例如仅包含频繁使用的应用程序和操作 系统的简略组。可选地,当需要软件时,如果CE不包含该软件,可 以通过将其从主模板复制而将需要的软件添加到CE中,该主模板例 如可以包含完整的用户软件组并且可选地包含操作系统。
在一个实施例中,可选地,在激活网络通信之前:在发送之前, 可以使用通过在隔离的计算环境中执行加密来维护电子邮件的方法 来对一些或所有将要发送的电子邮件进行加密,然后将电子邮件复制 到第二隔离计算环境,在该第二隔离计算环境中,该电子邮件将被发 送(并暴露给潜在的黑客)。在接收到加密的电子邮件之后,在解密 之前,该电子邮件被移动到隔离的计算环境。从而电子邮件决不会暴 露给处于非加密形式的互联网。我们的软件自动触发加密和/或解密 进程而无需用户涉及。可选地,可以自动为每个电子邮件提供用户公 有密钥。
可选地,在一个实施例中,保护存储器可以是只读的和/或被锁 定的,直到CSCE或CCE或其他控制环境接收命令来将数据移动到 CE。因此,在该示例中,如果用户选择保护储存器中的文件打开, 则代码(例如可以是ROM和/或操作系统中的指令)可以指示CSCE 进行修复。然后在修复之后,CSCE可以将保护存储器切换到读-写和 /或解锁。数据可以被从保护储存器复制到临时储存器和/或爆发室。 这些事件可以以其它顺序发生,可以包含附加和/或其他步骤,和/或 可以不包含这些步骤中的一些。
可选地,多个CE可以同时操作,从而如果一个CE“崩溃”和/ 或退出和/或关闭,和/或不再需要,则另一个CE将代替所使用的CE。 例如,CSCE可以切换至辅助CE,和/或激活与辅助CE的通信。
在一个实施例中,与保护储存器相关的代码不允许数据执行和/ 或不支持在保护储存器中的数据执行。因此,在该实施例中,没有用 户数据可以在保护储存器中执行。可选地,与保护存储器的通信从来 不会在修复之前、在与该CE的新的网络连接之前,和/或在打开任何 用户文件之前利用CE建立。因此,保护储存器不会受黑客和病毒执 行的影响。
在一个实施例中,计算环境(也称作x-室或爆发室)中的每个都 可以相互等同,和/或可以相互不同,和/或充当“时间延迟”镜像。 在一个实施例中,辅助CE可以是等同的,但是键击和/或输入可以被 以延迟方式发送至多个CE。因此,某些CE可以是时间延迟的,从而 如果CE崩溃,则控制系统可以切换至一时间延迟的CE。在一个实施 例中,控制方法可以使用进程监视器和/或崩溃检测系统来确定是否 切换到辅助系统CE,并且可选地,可以诊断问题从而可以在切换到 连续的较旧的CE时可以避免该问题。
在一个实施例中,易失性存储器中的数据在执行命令之前可以被 复制和/或保存、和/或备份到另一个存储区和/或逻辑设备。可以存储 在执行命令之前数据的连续备份。然后,当执行命令时,如果发生诸 如冻结之类的问题,则可以使用新的辅助系统和/或辅助自主修复用 户工作区,和/或可选地,易失性存储器的备份可以被装载到易失性 存储器中。这可以提供易失性存储器的较好版本以供使用。如果问题 或冻结再次发生,则可以使用保存的易失性存储器的较老的版本。可 选地,可以向用户通知该问题并要求用户改变他们输入什么和/或他 们如何输入、和/或其他行为。可选地,当使用辅助CE时,控制方法 可以选择来使用易失性存储器的较早备份,和/或命令辅助系统来对 数据进行不同地处理以避免崩溃。
执行修复的替代方法例如是预备多个隔离的CE。这些CE可以是 RAM盘、RAM、命令解释程序、易失性存储器、或其他数据存储器 的形式,并且具有相关的RAM,和/或处理,和/或计算,并且可以包 含一个或多个主模板的所有或部分的副本。隔离例如可以通过激活和 /或去激活通信以将CE从隔离的备份切换到当前的CE来创建。
可选地,在一个实施例中,在一个或多个未曾料到的、和/或未 识别的文件出现在临时储存区中时(例如没有出现在信息的保护数据 库中的一个或多个文件,该信息涉及什么数据应该处于临时储存区 中),代码,例如在控制和/或操作系统中的,和/或ROM可以引起用 户对这种文件的注意。用户可以给出破坏和/或保存文件,和/或标记 文件的选项,以指示该文件有些可疑,和/或需要进一步的检查或验 证。在另一个实施例中,未识别的文件可以被删除和/或保存到数据 储存设备和/或被标记以进一步检查,和/或可以自动和/或手动地发送 以供进一步检验,例如发送到网络管理员和/或病毒检查实体。
在一个实施例中,一个或多个数据储存设备可以是在只读和读/ 写模式和/或锁定和/或解锁、和/或可访问和/或不可访问模式之间切换 的硬件和/或软件。在一个示例中,用户可以打开来自只读数据储存 设备的一个文件,对该文件进行处理,并且当用户保存该文件时,将 其保存到临时储存区中。可选地,在关闭一些或所有文件时,逻辑和 /或控制方法可以执行一个或多个以下步骤,清除和/或复位RAM,清 除/复位处理器,和/或使一个或多个数据存储设备解锁和/或锁定,和 /或读写和/或只读,将数据从临时储存器移动到数据储存设备,关闭/ 锁定/使只读一个或多个数据储存设备,可选地清除/复位临时储存区, (可选地运行修复进程),等待下一个用户命令。在一个实施例中, 临时储存器可以由易失性和/或非易失性存储器构成。在一个例子中; 可以使用随机存取存储器和/或快闪ROM,和/或其他数据存储器。在 一个实施例中,为了复制文档之间的数据,要复制的数据可以被装载 到RAM和/或易失性存储器的一个或多个特定的地址中。当接收粘贴 命令时,可以通过使用不允许数据执行的复制进程来传送数据。例如, 数据可以简化成不能执行的仅发送ASCII文本。
在一个实施例中,虽然文件不能在保护储存器中打开,但是它们 例如可以被但不局限于:复制、移动、删除、作标志、备份、存档、 及其他这种功能,只要这些功能从“安全”接口执行,例如控制环境。
在一个实施例中,为了运行命令(将改变偏好、修改主模板,删 除备份)即或向控制环境提供其他管理事件等等,管理必须从安全环 境发生,例如具有其自己的用户接口软件的控制环境。这里,术语隔 离可以用于传送这样的概念,有时所描述的是隔离的;在其他特定的 时间如这里所描述的,其可能是不隔离的。例如当正执行用户数据时, CE可以被隔离,直到运行修复进程。然后,为了运行修复进程,可 以建立例如与只读主模板之间的通信,可以进行修复,然后可以建立 与CE的其他通信,例如与网络的通信。根据需要和当需要防止黑客 和病毒蔓延时使用隔离。
参照主模板,用于CE中的主模板的“一次性(disposable)副本” 可以以多种方式并使用各种标准创建。在一个实施例中,可以创建 CE中的各种主模板。可以建立创建主模板的标准。例如,一种标准 可以是基于选择在计算机/计算设备上公共使用的程序的。例如,假 定计算机用户最常使用:(1)字处理程序,(2)电子邮件程序,(3) 两个互联网浏览器和防止弹出的实用程序和跟踪在线拍卖的程序;在 较少程度上使用各种其他应用程序、游戏、实用程序和/或其他程序。 使用该例子,使用这些需求中的每个作为标准来创建主模板。这样, 一个主模板可以包含操作系统和字处理程序;另一个主模板可以包含 操作系统和电子邮件程序。另一个主模板可以包含操作系统,两个互 联网浏览器和防止弹出的实用程序和跟踪在线拍卖的程序;而另一个 主模板可以包含所有的用户软件。
在另一个实施例中,可以创建一个(或多个)主模板,并且仅有 被需要来满足标准的部分主模板可以被复制来创建一个或多个CE。 例如,可以存在一个主模板,但是其可以用于在一个或多个CE中创 建部分主模板。例如,使用上述标准,一个主模板可以用于创建CE, 该CE准备好以供用户可能使用。
在一个实施例中,用户能够选择使用/打开哪个CE,并且可以将 数据复制到CE中。可选地,CE的选择和/或使用的主模板的副本可以 自动发生,并且可以通过代码来编排。例如,如果用户选择打开字处 理文档,当文档被选择时,代码可以执行对包含合适的字处理软件的 CE搜索,和/或可以检查数据库和/或目录以识别合适的软件的位置, 和/或使用其他装置来识别正确的软件,和/或要使用的CE。
在本发明的一些实施例中,来自一个、几个、或所有计算环境的 数据可以显示在单个显示设备上(或显示在一组比存在的操作计算环 境少的显示设备上),从而存在对共享这种显示设备和子系统而没有 污染的期望。
在一个实施例中,控制环境可以使用多个操作模式。例如,在第 一操作模式下,控制环境不允许在用户计算环境之间进行复制,除了 ASCII和扩展的ASCII之外,和/或不允许文件共享在网络上。在第二 操作模式下,控制计算环境可以允许复制未知的可执行代码和/或可 以允许在网络上共享文件。第一模式可以被分类成“对黑客和病毒免 疫”,而第二操作模式可能被分类成“对黑客和病毒有抵抗力”或“不 安全”。在第二操作模式下创建的文档可以例如标记为“不安全”文 档。也可以使用其他操作模式。可以例如通过控制环境,和/或用户, 和/或管理员进行切换模式。切换可以是自动的,和/或由手动切换进 程触发,或由某些检测到的条件触发。
存在许多其他可能的模式,其可以利用本发明的实施例实现。例 如,可以存在各种管理模式。在管理模式的一个例子中,用户必须使 用密钥,或密码,或任何验证身份或认证的装置,以便对一个或多个 计算环境(例如保护储存器或控制环境)进行修复和/或维护,。在管 理模式和/修复模式的第二例子中,保护储存器、控制环境可以被自 动地保存到一个或多个数据存储器中,被重新格式化/复位/删除,并 根据需要被重新装载以按照原始方式重新创建其状态。可以使用例如 控制环境的各种环境的主模板,并且利用适当的认证和切换,在维护 过程中另一个环境可以进行对控制环境的修复。在一个实施例中,该 切换可以发生在调度中,和/或可以由用户触发。
在另一个实施例中,控制环境可以标记每个保存到保护存储器中 的文件。如果该文件是未知的或非信任的,则其例如可以被标记为“非 信任的”,而如果该文件是从原始环境内部创建的,则该控制环境可 以将该文件标记为“信任的”。在一个例子中,在“对黑客和病毒免 疫”模式下,控制环境可以允许将信任的数据从第一用户计算环境复 制到第二用户计算环境中,但是不允许将“非信任的”数据复制到第 二用户计算环境中。切换至“低安全”模式下可以使控制环境允许将 非信任的代码从第一用户计算环境复制到第二用户计算环境,并且所 得到的文件可以被标记为“非信任的”。
在另一个实施例中,在一种模式下,在两个或多个计算环境中链 接的数据可以在这些环境之间直接复制。在另一个实施例中,信任的 链接数据组可以被复制或移动到用户环境,并且如果所有数据是信任 的,在它们之间和/或通过链接复制数据。因此,整个数据库和链接 数据组可以被移动或复制到用户计算环境并通过在各个文件和/或数 据库之间数据的交叉复制和链接进行工作。如果所有数据都是信任 的,则数据可以在一个(或者在一个以上,例如2个,3个等)用户计 算环境中一起工作。因为所有代码都是信任的,用户计算环境可以直 接与第一计算环境通信。在不同的非信任操作模式下,非信任的数据 可以与信任的或非信任的数据合并,导致非信任的数据,并且被标记 为“非信任的数据”。按照这种方式,在信任的环境下保持和共享链 接数据的整个数据库和数据库。
在另一个实施例中,使用这种新技术的由计算机构成的网络可以 共享和混合信任的数据、数据库和在信任/安全通信线路上传送的链 接数据文件。
在一个实施例中,控制计算环境例如可以从不允许将标记为非信 任的文件与标记为信任的文件混合。有利地是,该方法使得由信任的 /安全的网络连接附加的整个计算机网络共享和混合信任的文件,数 据库和连接数据,同时具有在其计算机上包含非信任文件并使用非信 任文件而不危及其信任的文件的能力。
在一个实施例中,服务器可以是这里所描述的技术,并且客户节 点可以通过安全/信任的网络连接来连接,客户节点可以由现有计算 中的计算机构成。在该示例中,服务器可以执行以下步骤:(1)重新 格式化客户计算机硬盘驱动器并且可以清除存储器;(2)在用户选择 文件之后,在桌面环境中提供用户计算机访问桌面环境;(3)将所请 求的文件提供给用户环境并将与桌面计算机的通信例如限制到1比 特,意味着“保存”文件,和多于1比特,保存文件和擦除计算环境。 还可以存在步骤:(4)为了以不把控制环境置于风险下的方式保存文 件,可以通过服务器上的用户计算环境从客户计算机复制用户文件, 然后以通常保存位于用户计算环境中的数据的方式进行保存。然后 (5)当客户完成时,客户计算机可以由服务器重新格式化并复位。 可选地,客户机可以作为“瘦客户机”操作,因此很少或者没有数 据需要复制回客户计算机。
在一个实施例中,标记为非信任的文件可以利用“剥离”进程来 变成信任的,该进程从例如字处理文件中删除任何潜在的可执行代 码。例如非信任的文件数据可以作为ASCII字符被复制到安全环境中 并被分类成信任的。在一个实施例中,保护储存器可以是外部的和/ 或便携的,和/或可热插拔的,和/或便携式介质。在一个实施例中, 软件和/或物理按钮和/或开关和/或组合可以用于触发事件,例如复位 /修复计算环境。
可能或没有被隐藏的内部或外部备份系统可以例如由控制环境 切换,以便备份保护储存器、主模板、控制环境的副本等。
下面来关注如何显示和使用来自任意选择的一个或一组计算环 境的数据的描述。这种数据可以包括但不局限于视频输出或数据表示 或在计算环境中发生的行为以及在处理事件期间用于或由计算环境 产生的实际输入、输出和中间数据集或文件。
在一个涉及基于窗口的用户接口的实施例中,将所有(或选择) 窗口、图标(以及应用程序或数据的名称,例如图标表示),及其他 相关数据和/或识别装置的所有(或选择)大小、形状和位置坐标从 计算环境(在一些实施例中也称作“爆发室”或“x-室”,因为包含 任何代码的爆发并且没有外部危害)发送至系统内部的控制实体,通 常,控制计算环境(在一些实施例中也称作“大脑”),例如CSCE或 CCE计算环境已经描述。当支持单个并行的计算环境操作时,例如可 以通过使用本发明的过程,使用一个或多个计算环境中运行的计算机 程序软件指令或以时分方式,将该信息提供给控制计算环境。或者, 其所有或部分都可以通过或在控制计算环境内创建。
由控制计算环境存储和跟踪的该数据在这里将被称作“计算环境 数据”或“x-室数据”。
此外,控制计算环境还可以或可替换地跟踪被称为控制数据或 “大脑数据”的其他数据,例如表示其中每个“层”或“进程”创 建的顺序以及其中每个窗口创建的顺序的数据。其还将信息维持在选 择的或有效窗口或进程上。
控制计算环境,例如在一些实施例中描述的、相对于其他实施例 也称作系统“大脑”的CSCE或CCE,还可以跟踪鼠标光标的位置或 其他指示设备的位置和/或键盘或其他用户输入行为。因此,控制计 算环境随后可以确定鼠标光标相对于这些打开窗口、图标等的位置 (当鼠标或指示设备点击发生时),其由每个计算环境产生。将会理 解的是,虽然本说明书主要描述了使用键盘和鼠标命令的人类用户交 互,例如但不局限于触摸屏交互和命令,声音交互和命令,下拉菜单, 热点选择交互和命令,功能钮按压,触摸笔交互和命令,各种其他用 户输入和交互方法和设备,如在现有技术中已知的,或者期望开发的。
因此,通过计算鼠标位置“点击”(或其他“选择”),并比较其 与分配的计算环境位置(其窗口在“前面”或“有效”),然后对于 CSCE可以确定哪个窗口(或图标、或项目或计算环境过程)是要选 择的,并且接收该“点击”输入。
因此,当点击鼠标按钮时,控制计算环境根据由控制计算环境采 集的信息,例如可以确定例如在常规的窗口项中哪一层“有效并在前 面”,或者要运行哪个应用程序,或者何处重新定向鼠标和键盘信号。
作为示例而不是限制,从计算环境(“CE”)到CSCE的直接连接 可以使用来自计算环境的第一(可能是专用的)ASIC到CSCE(或过 滤器)中的第二(可能是专用的)ASIC,以防止无意的行为或结果。 这种无意的结果例如可以是执行的某些代码,使得缓冲器或存储器溢 出,打算放置或传播恶意代码。ASIC仅仅是一个逻辑电路的示例, 其提供过滤和限制操作,从而仅有预定的允许的处理可以发生。例如, 以ASIC或其他方式实现的作为“接收机”操作的这种逻辑,可以将 所接收的通信仅理解或解释为“x,y”或“行,采样”坐标,而不是 别的。应当注意的是,在一些实施例中,在计算环境与CCE之间的通 信路径中放置的单个ASIC或其他逻辑可以足以在预期的通信中提供 所需的限制或过滤操作。这种ASIC或逻辑电路(可选地使用软件和/ 或固件)可以被控制来安全确实地从可用的一组可能允许的功能或操 作中选择一个功能,或者可以是动态可编程的(例如通过从保护或其 他安全储存器下载代码或发送控制信号或多个信号)以实现这种选 择。
“x-室数据”或可以包含在提供给控制计算环境的数据中的用户 计算环境数据的例子可以不包括或包括以下任何一种或多种,但是不 局限于:窗口位置和大小(类似接线框);图标的名称和它们所代表 的;文件大小、文件位置、以及类似的文件或数据集参考或识别符。 作为进一步的示例,这些可以包括B树,主目录,桌面数据库等。其 还可以或可替代地包括列表或其他数据结构或应用程序、驱动器或操 作系统部分相关或打算交互操作,打开的索引,或具有处理性能,利 用其文件或文件类型或设备或设备类型。
控制数据或“大脑数据”的例子可以不包括或包括以下任何一个 或多个:用于识别创建层、窗口和/或处理器的顺序的数据,这种层、 窗口和/或进程的当前顺序或优先级;鼠标或指示设备绝对值,屏幕 相对值、窗口相对光标位置,和/或这些的组合或其他数据。将会理 解的是,在某些实施例中,多个计算环境可以具有类似的或等同的属 性,该数据或信息中的一些可以仅需要创建一次,然后如果以及当存 在相关计算环境的变化时,对其进行修改或与每个计算环境适配以供 后续更新。
已经描述了包括多种可选特征的本发明的几个实施例,将会很清 楚的是,本发明的不同方面和特征可以组合并一起使用,以及单独使 用。在此部分中,关注具有某些特征组合的特定的典型实施例。该描 述仅仅是示意性的并不打算以任何方式限制本发明的精神和范围。如 在本说明书中的其他地方描述的本发明的多个方面和特征在以下段 落中没有描述。
在一个方面,本发明提供了一种信息装置。在信息装置的一个实 施例中,该信息装置的类型是具有用于程序和数据的第一储存器和处 理逻辑并执行计算机程序指令以执行涉及用户数据的任务;该信息装 置的特征在于:创建并保持分离的控制处理环境和用户处理环境,从 而:(1)具有未知或非信任内容的用户数据在控制处理器逻辑环境中 不会暴露给可以执行嵌入在用户数据中的任何计算机程序代码指令 的计算机程序代码;和(2)当与第一储存器隔离时,具有未知或非 信任内容的用户数据仅暴露在用户处理器逻辑环境中的不同于第一 储存器的临时储存器中。在信息装置的另一个实施例中,所述信息装 置是或包括个人数据助理。在信息装置的另一个实施例中,所述信息 装置包括或者是计算机。
在另一个方面,本发明提供一种信息装置,包括:至少一个处理 逻辑设备,用于执行至少一个指令;第一储存器,用于存储第一数据 和第一程序代码,包含所述至少一个指令并包含用户数据;第二储存 器,用于存储第二数据;切换系统,用于在自动控制下可选择地独立 地耦合和去耦合所述处理逻辑设备与第一储存器和/或第二储存器, 该切换系统从所述处理逻辑设备接收至少一个控制信号以用于选择 该切换系统的条件;所述处理逻辑设备根据以下条件在控制配置和用 户数据配置下操作:(i)当该处理逻辑装载有不能执行具有非信任内 容或不是源自已有的控制环境的数据项的程序指令时,该处理逻辑设 备可以与第一储存器耦合;(ii)当该处理逻辑装载有可以执行具有非 信任内容或不是源自已有的控制环境的数据项的程序指令时,该处理 逻辑设备不能或仅有限地到第一储存器耦合以传送已有的信息;(iii) 当该处理逻辑装载有可以执行具有非信任内容或不是源自已有的控 制环境的数据项的程序指令时,该处理逻辑设备可以与第二储存器耦 合;以及(iv)当该处理逻辑装载有仅能将数据项从第一储存器复制 到第二储存器或从第二储存器复制到第一储存器的程序指令时,该处 理逻辑设备可以与第一储存器和第二储存器耦合。
在前述信息装置的一个实施例中,切换系统可以以以下方式中的 至少一种来使处理逻辑设备与第一储存器和第二储存器耦合或去耦 合:(i)处理逻辑设备仅与第一储存器耦合,(ii)处理逻辑设备仅与 第二储存器耦合,(iii)处理逻辑设备同时与第一和第二储存器耦合, (iv)处理逻辑设备既不与第一储存器耦合也不与第二储存器耦合。 在前述信息装置的另一个实施例中,处理逻辑设备包括微处理器。在 前述信息装置的另一个实施例中,处理逻辑设备从由以下电路构成的 处理逻辑电路组中选择:微处理器、中央处理单元(CPU)、控制器、 微控制器、ASIC、逻辑电路、可编程逻辑电路以及这些电路的组合。 在前述信息装置的另一个实施例中,所述信息装置从一组由以下装置 构成的信息装置组中选择:计算机、笔记本电脑、个人数据助理、个 人数据管理器、蜂窝电话、移动电话、无线电接收机、无线电发射机、 GPS接收机、卫星电话、车载计算机、飞机机载计算机、导航设备、 家用电器、打印设备、扫描设备、照相机,电子照相机、电视接收机、 广播控制系统、电子工具、医疗监控设备、安全设备、环境控制系统、 电子设备,以及这些装置的组合。在前述信息装置的另一个实施例中, 第一数据存储器和第二数据存储器是独立地可选的,并且从由以下组 成的存储器组中选择:旋转磁性硬盘驱动器、转动磁性软盘驱动器、 CD、DVD、半导体存储器、固态存储器、化学存储器、分子存储器、 微驱动器、闪存、紧缩型快闪卡存储器、RAM存储器、ROM存储器 和其组合。
在前述信息装置的另一个实施例中,至少一个处理逻辑设备包括 多个处理逻辑设备。在该信息装置的另一个实施例中,多个处理逻辑 设备中的至少一个包括至少一个微处理器,并且至少一个指令包含来 自操作系统的多个计算机程序代码段和来自应用程序的多个计算机 程序代码段;并且其中所述切换系统可以耦合至所述微处理器,用于 接收改变切换配置的切换控制命令,以可选择地耦合和去耦合该微处 理器与第一和第二存储器。在该信息装置的另一个实施例中,所述多 个处理逻辑设备通过执行一个处理逻辑设备的自动控制系统间歇地 顺序地隔离并且可通信地受限。在该信息装置的另一个实施例中,第 二储存器被配置成当其与所述处理逻辑设备耦合时在处理操作期间 作为临时储存器执行,并且如果所述处理以错误状态或没有错误状态 完成,则在已独立发生每个处理之后被自动擦除,其中错误状态可以 包括对病毒或其他恶意代码执行的检测。在该信息装置的另一个实施 例中,多个处理逻辑设备和至少所述第一和第二储存器可被动态配置 成创建具有确定特性的计算环境。在该信息装置的另一个实施例中, 第一储存器存储具有操作系统和应用程序组件以及用户数据的保护 副本的主模板文件。
在另一个方面,本发明提供了一种用于操作一种用于操作具有用 于执行至少一个指令的至少一个处理逻辑设备,用于存储第一数据和 包含所述至少一个指令并包含用户数据的第一程序代码的第一储存 器,以及用于存储第二数据的第二储存器的类型的信息装置的方法; 该方法包括:在从处理逻辑设备接收到至少一个控制信号以用于选择 切换系统的条件之后,在自动控制下有选择地并且独立地切换以耦合 和去耦合该处理逻辑设备与第一储存器和/或第二储存器;根据以下 条件在控制配置和用户数据配置下操作所述处理逻辑设备:(i)当处 理逻辑装载有不能执行具有非信任内容或不是源自己知的控制环境 的数据项的程序指令时,允许将所述处理逻辑设备与第一储存器耦 合;(ii)当该处理逻辑装载有能够执行具有非信任内容或不是源自已 知的控制环境的数据项的程序指令时,不允许或仅有限地允许将该处 理逻辑设备与第一储存器耦合以传送已知的信息;(iii)当处理逻辑 装载有能够执行具有非信任内容或不是源自己知的控制环境的数据 项的程序指令时,允许将该处理逻辑设备与第二储存器耦合;以及 (iv)当处理逻辑装载有仅能够将数据项从第一储存器复制到第二储 存器或从第二储存器复制到第一储存器的程序指令时,允许将该处理 逻辑设备与第一储存器和第二储存器耦合。
在用于操作信息装置的方法的另一个实施例中,该方法还包括: 在任何处理逻辑设备已使用第二储存器来处理用户数据之后擦除该 第二储存器。
在用于操作信息装置的方法的另一个实施例中,其中所述信息装 置从由以下装置组成的信息装置组中选择:计算机、笔记本电脑、个 人数据助理、个人数据管理器、蜂窝电话、移动电话、无线电接收机、 无线电发射机、GPS接收机、卫星电话、车载计算机、飞机机载计算 机、导航设备、家用电器、打印设备、扫描设备、照相机、电子照相 机、电视接收机、广播控制系统、电子工具、医疗监控设备、安全设 备、环境控制系统、电子设备以及这些装置的组合。
在用于操作信息装置的方法的另一个实施例中,至少一个处理逻 辑设备包括多个处理逻辑设备。在用于操作信息装置的方法的另一个 实施例中,所述多个处理逻辑设备中的至少一个设备包括至少一个微 处理器,并且所述至少一个指令包括来自操作系统的多个计算机程序 代码段以及来自应用程序的多个计算机程序代码段;并且其中所述切 换系统可耦合至所述微处理器,用于接收改变切换配置的切换控制命 令,以可选择地耦合和去耦合该微处理器与第一和第二储存器。
在另一个方面,本发明提供了一种信息处理设备,包括:具有计 算机PC卡和多个PC卡总线接口连接器的形状系数(form factor)的 外壳;多个设置在所述外壳中的处理器;多个设置在所述外壳中或与 其耦合的数据存储器;从所述多个数据存储器中选择的保护数据存储 部分,用于存储至少用户数据;与所述多个数据存储器耦合的数据存 储器开关系统,所述开关系统与数据存储器开关配置耦合,以用于配 置与在所述外壳内设置的一个或多个数据存储器的通信;与至少一个 外围设备耦合的I/O系统,所述I/O系统与包含多个用于配置与所述 外壳内设置的外围设备的通信的特性的I/O系统配置耦合;多个计算 环境,所述每个计算环境包括至少一个处理器并由从所述多个特性中 选择的一个特性识别,其包括:与所述数据存储器开关耦合的数据存 储器开关通信通路,所述数据存储器开关通信通路根据所述数据存储 器开关配置将至少一个数据存储器与所述计算环境耦合;I/O开关通 信通路,其与所述I/O开关系统耦合,所述I/O开关通信通路用于根 据所述I/O开关系统配置将所述外围设备与所述计算环境耦合;所述 计算环境可以执行处理行为,包括:从所述I/O开关系统接收输入, 以及将输出发送给所述I/O开关系统,所述处理行为独立于所述另一 个计算环境的处理行为而执行;从所述多个计算环境中选择的控制计 算环境,用于配置所述数据存储器开关配置,用于配置所述I/O开关 系统配置,所述数据存储器开关配置支持所述控制计算环境与所述保 护数据存储器之间的通信;并且至少一个用户隔离计算系统从所述多 个计算环境中选择;其中所述I/O开关系统配置被配置成将接收的输 入导引到所述至少一个计算环境,所述I/O开关系统配置被配置成将 由一个或多个计算环境产生的输出导引到所述外围设备。
在所述信息处理设备的另一个实施例中,从由以下电路构成的处 理逻辑电路组中独立地选择所述多个处理器:微处理器、中央处理单 元(CPU)、控制器、微控制器、ASIC、逻辑电路、可编程逻辑电路, 以及这些电路的组合;并且所述多个数据存储器可以从由以下构成的 存储器组中选择:旋转式磁硬盘驱动器、旋转式磁软盘驱动器、CD、 DVD、半导体存储器、固态存储器、化学存储器、磁存储器、分子 存储器、微驱动器、闪速、紧凑型闪速卡存储器、RAM存储器、ROM 存储器、以及这些存储器的组合。
在另一个方面,本发明提供了一种具有用于程序和数据的第一储 存器以及处理逻辑,并且执行计算机程序指令以执行涉及用户数据的 任务的类型的计算机;该计算机的特征在于:创建并保持分离的控制 处理环境和用户处理环境,从而:(1)具有未知或非信任内容的用户 数据在控制处理器逻辑环境中不会暴露给可以执行任何嵌入在用户 数据中的计算机程序代码指令的计算机程序代码;以及(2)当与第 一储存器隔离时,具有未知或非信任内容的用户数据仅暴露在用户处 理器逻辑环境中的与第一储存器不同的临时储存器中。
在另一个方面,本发明提供了一种计算机系统,包括:至少一个 处理逻辑设备,用于执行至少一个指令;第一储存器,用于存储第一 数据和包含所述至少一个指令并包含用户数据的第一程序代码;第二 储存器,用于存储第二数据;切换系统,用于在自动控制下可选择地 并且独立地耦合和去耦合该处理逻辑设备与第一储存器和/或第二储 存器,该切换系统从处理逻辑设备接收至少一个控制信号以用于选择 切换系统的条件;该处理逻辑设备根据以下条件在控制配置和用户数 据配置下操作:(i)当处理逻辑装载有不能执行具有非信任内容或不 是源自已知的控制环境的数据项的程序指令时,所述处理逻辑设备可 以与第一储存器耦合;(ii)当该处理逻辑装载有能够执行具有非信任 内容或不是源自己知的控制环境的数据项的程序指令时,所述处理逻 辑设备不与或仅有限地与第一储存器耦合以传送已知的信息;(iii) 当处理逻辑装载有能够执行具有非信任内容或不是源自已知的控制 环境的数据项的程序指令时,该处理逻辑设备可以与第二储存器耦 合;(iv)当处理逻辑装载有仅能够将数据项从第一储存器复制到第 二储存器或从第二储存器复制到第一储存器的程序指令时,该处理逻 辑设备可以与第一储存器和第二储存器耦合。
在另一个方面,本发明提供了一种具有第一储存器和至少一个处 理器的类型的计算机系统,该计算机系统的特征在于:在储存器和处 理器中的至少一个中创建和保持分离的控制处理环境和用户处理环 境,从而:(1)所识别的数据没有暴露在嵌入在所述数据中的处理器 可执行指令中;以及(2)当与第一储存器隔离时,所识别的数据仅 暴露在不同于第一储存器的第二储存器的处理器中。
以上为了示意和说明的目的已对本发明的特定实施例和最佳方 式进行了描述。这些描述并不是要穷举或限制本发明到所公开的精确 的形式,很明显的是,根据以上教导可以对其作出各种修改和变动。 选择和描述这些实施例是为了最佳地解释本发明的原理及其实际应 用,从而使本领域其他技术人员能够最佳地利用本发明及具有适合预 期的特定应用的各种修改的各个实施例。本发明的范围是要由所附的 权利要求书及其等效物所定义。
相关申请
本申请按照35 U.S.C 120要求于2004年12月23日申请的、名 称为“Isolated Multiplexed Multi-Dimensional Processing In a Virtual Processing Space Having Virus,Spyware,And Hacker Protection Feature”的美国实用专利申请No.11/022,290以及名称都为“Computer System Architecture And Method Providing Operating-System Independent Virus-,Hacker-,And Cyber-Terror-Immune Processing Environments”的、在2004年1月15日申请的美国实用专利申请 No.10/760131和在2004年10月13日申请的PCT/US2004/33955的 优先权;两者都是Kenneth Largman,Anthony B.More和Jeffrey Blair 作为发明人,每件申请都在此引入作为参考。
相关专利内容
标题 发布/更新时间 阅读量
电子照相机 2020-05-12 39
电子照相机 2020-05-12 420
电子照相机 2020-05-13 141
电子照相机 2020-05-13 492
电子照相机 2020-05-11 280
电子照相机 2020-05-11 506
电子照相机 2020-05-11 144
电子照相机 2020-05-12 279
电子照相机 2020-05-12 865
电子照相机 2020-05-13 281
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈