CN101198934B - 信息处理设备和恢复方法 - Google Patents
信息处理设备和恢复方法 Download PDFInfo
- Publication number
- CN101198934B CN101198934B CN2006800210569A CN200680021056A CN101198934B CN 101198934 B CN101198934 B CN 101198934B CN 2006800210569 A CN2006800210569 A CN 2006800210569A CN 200680021056 A CN200680021056 A CN 200680021056A CN 101198934 B CN101198934 B CN 101198934B
- Authority
- CN
- China
- Prior art keywords
- territory
- fault
- recovery
- processing
- territories
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Multi Processors (AREA)
Abstract
一种信息处理设备,用于恢复由于附加应用和设备驱动器而发生错误的域,同时保持安全性和可靠性,该信息处理设备包括多个处理器,其中所述多个处理器根据要执行的处理内容,形成多个域,并且不同域中的处理器通过通信单元彼此通信;该信息处理设备还包括恢复单元,用于针对发生错误的域,基于由所述域通知的故障恢复请求和为每个域预先设定的恢复条件,执行故障恢复处理。
Description
本申请基于并要求2005年6月17日提交的日本专利申请No.2005-177811的优先权,其全部内容合并在此作为参考。
技术领域
本发明涉及由多个处理器形成的信息处理设备,具体涉及一种信息处理设备、恢复设备、程序和恢复方法,该信息处理设备包括具有处理器的域,该处理器能够执行从外部获得的附加处理操作。
背景技术
在移动电话等信息通信终端设备中,用于实现终端设备基本功能(例如,呼叫处理功能、用于互联网访问的浏览功能、电子邮件功能、屏幕控制功能等)的基本处理通常是预先与操作系统安装在一起的,而除上述基本处理之外的其他附加处理(程序)是通过用户操作等从例如网络等外部下载到终端设备中,并执行以实现安装的。然而,当执行下载的附加处理时,操作系统、基本处理等可能容易受到附加处理的攻击。
图42是示出了信息通信终端设备的典型结构的一个示例的示意图,其中信息通信终端设备执行下载的附加处理。图42中示意性地示出了典型的现有设备结构框图。下面将描述如下情况:附加处理是由本机代码(native code)(在提供方端编译或经过汇编处理的二进制代码)提供的应用程序或设备驱动器(发出访问设备的请求和对来自设备的中断进行处理的软件,也被称为“I/O驱动器”)。
在图42所示的结构中,当下载并执行附加处理23时(在附加处理23是设备驱动器的情况下,当该处理合并到操作系统中并被执行时),基本操作22、操作系统(称作“OS”)21、CPU(控制处理单元)10、存储器50和输入/输出设备(I/O)60可能受到附加处理23的直接攻击。这是因为没有安装任何装置来限制附加处理23对基本处理22、CPU 10、OS 21、存储器50或输入输出设备(I/O)的攻击,以实现安全的执行环境。具体而言,在图42所示结构的情况下,认为附加处理23能够任意地向基本处理22、OS 21、CPU 10、存储器50和输入/输出设备60发出处理请求,并被允许自由地访问每一个硬件或软件资源。由此,允许了恶意的附加处理23(或无恶意但受到病毒等发生的附加处理)自由地攻击毫无防备的OS 21和基本处理22等。
例如,存在如下情况:附加设备驱动器合并到OS 21内核中,作为驻留驱动器。在这种情况下,该设备驱动器的可靠性将直接影响OS21的可靠性和性能。从设备驱动器的属性也清楚可见,程序驱动器包括处理对设备的设置和在来自设备的中断时要由调度程序启动的中断服务,并且由于处理性能,中断服务的执行时间(在此期间禁止时间重调度)限制为非常短(例如,少于1毫秒)的时间。换言之,如果附加设备驱动器是具有恶意的驱动器,则信息处理设备的处理性能可能很容易降低。对于并非驻留驱动器的可加载驱动器(可选择向存储器加载或从存储器卸载的驱动器)也是如此。因此,当作为附加处理而安装的恶意驱动器发起攻击时,OS 21的内核受到直接的致命攻击(基本上无法进行操作)。
在上述情况下,目前提出了多种设计构架,通过限制下载的附加处理的执行环境来保护基本处理等。下面,将对照几个典型示例进行概述。
图43是示出了一个典型结构示例的图,该结构提供了通过软件保护附加处理的执行的环境。在图43所示的示例中,由本机代码实现的附加处理23设计为在虚拟机24上执行。例如,假设附加处理23是用JAVA(注册商标)字节代码描述的,下载的JAVA(注册商标)字节代码将在形成虚拟机24的JVM(JAVA(注册商标)虚拟机)上执行。
在这种结构中,在软件上将基本处理22、OS 21等与附加处理23相分离,以确保它们的安全。具体而言,附加处理23只通过虚拟机24访问OS 21、CPU 10、存储器50、I/O 60等。通常,虚拟机24是不被授权在OS 21的内核模式下执行操作(例如,执行特许指令)等的,所以不允许附加处理23直接操作OS 21。此外,因为虚拟机24通常以解释程序模式执行附加处理23的指令代码,所以容易监控附加处理23的指令/操作的适当性,并且例如通过限制附加处理23对硬件资源和软件资源的未授权访问(例如,在网络或屏幕等上输出多个数据),允许虚拟机23用作保护过滤器或保护屏障器、或者从软件方面来说用作保护门。因此,在软件上通过虚拟机24将基本处理22、OS21等与附加处理23分离开来。
但是,图43所示的虚拟机系统具有如下问题。
当下载的附加处理23通过漏洞(例如,安全漏洞)攻击虚拟机24时,系统安全将受到破坏。
此外,因为诸如JAVA(注册商标)虚拟机等虚拟机24一般采用逐指令地解释和执行JAVA(注册商标)字节代码等指令代码的解释程序方法,所以其执行速率比较低。
此外,虽然虚拟机24在执行附加处理23时通过发出系统调用,向OS 21进行处理请求,但是由于系统调用的开销较高,所以处理执行速度较慢。例如,在虚拟机24中,发出与附加处理23的一条指令相对应的一个或多个系统调用。执行一系列这种控制会产生较高的开销,例如通过发出系统调用从用户模式到系统模式的上下文切换、在OS 21的系统调用进入单元处对系统调用分组数据的解码、对参数等的验证检查(错误检测处理)、处理的分配(分派)、在处理结束时传输处理结果、上下文切换、从内核空间向用户空间的切换等。
在图43所示结构的情况下,无法将作为附加处理23的设备驱动器合并到OS 21中。从图43清楚可见,虚拟机24位于OS 21之上的上层。当虚拟机24构造为基于附加处理23的代码向OS 21发出处理请求、接收来自OS 21的处理结果并在需要时向附加处理23返回该结果时,将作为设备驱动器的附加处理合并到OS 21中需要将控制附加处理的执行的虚拟机也合并到OS 21中,理论上来说,图43所示的虚拟机系统中无法实现上述结构。
例如,图44示出了作为另一种软件安全性管理系统的已知结构。如图44所示,将附加处理23下载到终端(信息处理设备)中,附加处理23上附着有证书25,用于证明该附加处理23是可信任的。终端方构造为检查所附证书25的内容,并在认证所附证书25是正确证书时,允许安装并运行下载的附加处理23。可以使用数字签名(ITU-TXS09)作为证书25。例如,利用要证明的组织及其公钥以及证书25中存储的CA(证明授权)(用CA的秘密密钥对要证明的组织或公钥进行加密)数据签名,在认证该证书时,用CA公钥对CA一部分数字签名进行解码,以检查解码的内容是否符合证书的数据内容,并在两者彼此符合时确定证书数据是可靠的。备选地,只要证书25证明真实的出售方,证书25可以是任意证书。例如,在Windows(注册商标)2000上也安装有设备驱动器的驱动器签名。
在图44所示系统的情况下,可以通过本机代码提供附加处理23,这能够进行比图43所示的虚拟机系统高速的运行。应用程序和设备驱动器也可以作为附加处理23运行。但是,系统可靠性完全依赖于附加处理23的安全性。换言之,当附加处理23有预先未觉察到的问题时,系统可能受到致命破坏。
图45是示出了通过软件执行安全性管理的处理器结构的图。参照图45,CPU 11具有安全模式12和非安全模式13,下载的附加处理23和对应于附加处理23的OS 21B主要运行在非安全模式13下。存储器管理单元14与在安全模式12下访问的存储区(地址空间)相分离地管理在非安全模式13下访问的存储区,从而禁止在非安全模式13下对安全模式12下的存储区进行访问。换言之,存储器管理单元14执行对非安全模式13的存储器访问控制,并禁止在非安全模式13下对安全模式12下的存储区进行访问。
因此,在图45所示的结构中,在安全模式12下执行基本处理22,虚拟地将执行附加处理23的CPU与另一CPU相分离,从而提高安全性。
但是,在CPU上,安全模式和非安全模式是以时分形式执行的,并且除非是从非安全模式返回的,否则不执行安全模式下的系统操作。
此外,因为非安全模式和安全模式是以时分形式处理的,所以在模式切换时会产生诸如模式切换等开销。
此外,当在非安全模式下将附加处理23作为设备驱动器合并到OS 21B中时,如果该驱动器是恶意的,则可能无法返回安全模式,从而导致对系统的致命破坏。
PCT国际申请No.2004-500666(文献1)的日文版本中引述了类似图45所示结构的处理器,其具有在系统存储器中提供的分离区,并包括正常执行模式和分离执行模式。文献1中描述的设备具有正常执行模式,这是在普通操作模式下可操作的模式,而并没有在非安全环境下向处理器提供的安全性功能,即分离执行模式。该设备构造为禁止从正常执行模式访问分离区,并在分离执行模式下支持预定分离指令的执行。即使采用这种结构,由于以时分形式处理正常执行模式和分离执行模式,也会在切换时产生模式切换等开销。
此外,还公开了一种包括两个处理器单元和开关单元的结构,其中一个处理器单元与公共数据通信网络连接,另一个处理器单元不与公共数据通信网络连接,而作为数据安全性单元进行操作(见PCT国际申请No.2002-542537(文献2)日文版本)。文献2中记载的系统具有与公共数据通信网络连接的处理器单元和通过开关分离的数据安全性单元,从而确保了数据安全性单元的安全性。但是,对于由上述附加处理(从网络等下载的附加处理)的执行造成的对连接至公共数据通信网络连接的处理器单元的攻击,该设备没有考虑任何对策。虽然数据安全性单元是安全的,但是与公共数据通信网络连接的处理器单元没有能够有效对抗附加处理引起的攻击的安全性机制。因此,为了在与公共数据通信网络连接的处理器单元中实现安全性管理,有必要采用上述任何系统。
此外,在PCT国际申请No.2002-533791(文献3)日文版本中记载了一种在处理器上同时运行执行程序或分离的操作系统的系统,其中为了保护错误程序运行环境,在运行第一程序时设定只能由第一程序使用的存储空间,通过单链接执行第一程序与计算机执行环境之间的通信,单链接包括使用共享存储空间、专用中断或专用I/O端口,并且除了在有限运行环境下访问设定的存储空间和单链接,第一程序对处理器上资源的访问是受制约的。在文献3所述方法的情况下,因为除了在有限运行环境下访问设定的存储空间和单链接(使用共享存储空间、专用中断或专用I/O端口),第一程序对处理器上资源的访问是受制约的,所以第一程序无法用作设备驱动器,从而无法应用于包括设备驱动器在内的附加处理。
作为公开了用于稍后所述的本发明中的处理器间通信单元有关技术的公开技术,日本专利公开No.H6-332864(文献4)公开了一种在多处理器系统中进行CPU之间的通信的系统。文献4中引述作为其背景技术的是如下结构:当多处理器使用共享存储器执行CPU之间的通信时,CPU2在产生对于CPU1的中断时,将通信信息写入到针对CPU1的固定域中为其自身所用的内置CPU通信信息写入区,以产生中断,并在中断发生时,CPU1访问与CPU2相对应的内置CPU通信信息写入区,以执行中断处理。在文献4中还引述了用于减少对共享存储器的访问次数的发明。
日本专利公开No.2001-154999(文献5)提出了并行计算系统,其中处理器分析电路在其自身的处理器启动时检测到故障,要求服务处理器进行恢复,服务处理器执行恢复处理。
文献1:PCT国际申请No.2004-500666日文版本
文献2:PCT国际申请No.2002-542537日文版本
文献3:PCT国际申请No.2002-533791日文版本
文献4:日本专利公开No.H6-332864
文献5:日本专利公开No.2001-154999
如上所述,为了对抗来自下载的恶意或错误的附加处理以确保安全性,具有这种对策措施的相关设备实际上具有多种尚未解决的问题,例如处理性能问题、无法运行设备驱动器的问题、以及确保安全性的问题。具体而言,如图43和45所示,与信息处理设备有关的设计构架禁止从设备外部下载附加的设备驱动器,该设计构架表明无法附加设备和附加功能,从而在这方面来说可用性是有限的。
另一方面,如上所述,因为在例如内核模式下操作附加设备驱动器时,OS和系统的可靠性受到直接影响,所以在确保安全性和可靠性方面需要大幅度改进。
此外,相关并行计算系统中的恢复处理的一个示例是文献5中公开的技术,这种恢复处理的问题在于恢复是响应于恶意请求而执行的,例如被通知包括病毒的恢复请求。
因此,本发明的目的是提供一种信息处理设备、一种恢复设备、程序和恢复方法,能够恢复受到附加应用程序和设备驱动器造成的发生错误的域得到恢复,从而确保安全性和可靠性。
发明内容
根据本发明第一典型方面,一种信息处理设备包括多个处理器,其中所述多个处理器根据要执行的处理内容,形成多个域,并且不同域中的处理器通过通信单元彼此通信;所述信息处理设备还包括恢复单元,用于针对发生错误的域,基于由所述域通知的故障恢复请求和为每个域预先设定的恢复条件,执行故障恢复处理。
根据本发明第二典型方面,一种恢复设备,用于在具有由多个处理器形成的多个域的信息处理设备上,恢复域上发生的故障,其中所述多个处理器,根据要执行的处理内容,形成多个域;所述恢复设备包括恢复单元,用于针对发生错误的域,基于由所述域通知的故障恢复请求和为每个域预先设定的恢复条件,执行故障恢复处理。
根据本发明第三典型方面,一种程序,在信息处理设备上执行以恢复所述信息处理设备的功能,所述信息处理设备作为由多个处理器形成的计算机处理设备,所述程序使所述信息处理设备利用所述多个处理器执行如下功能,其中所述多个处理器根据要执行的处理内容形成多个域:
通信功能,使不同域中的处理器彼此通信;以及
恢复功能,针对发生错误的域,基于由所述域通知的故障恢复请求和为每个域预先设定的恢复条件,执行故障恢复处理。
根据本发明第四典型方面,一种恢复方法,用于恢复由多个处理器形成的信息处理设备的处理功能,其中
所述多个处理器根据要执行的处理内容形成多个域;以及
不同域中的处理器通过通信步骤进行通信,
所述恢复方法包括恢复步骤:针对发生错误的域,基于由所述域通知的故障恢复请求和为每个域预先设定的恢复条件,由所述信息处理设备上的恢复单元执行故障恢复处理。
附图说明
图1是示出了本发明第一示例的信息处理设备硬件结构的图;
图2是示出了第一示例的处理器间通信单元结构的图;
图3是用于说明第一示例的处理器间通信单元的操作的图;
图4是示出了第一示例的访问控制单元结构的图;
图5是示出了第一示例的访问控制单元的访问允许数据的示例图;
图6是用于说明第一示例的访问控制单元的操作的图;
图7是示出了第一示例的访问控制单元30的另一结构的图;
图8是示出了第一示例的访问控制单元30的又一结构的图;
图9是示出了本发明第二示例的信息处理设备硬件结构的图;
图10是示出了本发明第三示例的信息处理设备硬件结构的图;
图11是示出了第三示例的信息处理设备的变化示例硬件结构的图;
图12是示出了第三示例的信息处理设备软件结构的图;
图13是用于说明第三示例的操作的图;
图14是用于说明第三示例的操作的图;
图15是用于说明第三示例的操作的图;
图16是用于说明第三示例的操作的图;
图17是用于说明第三示例的操作的图;
图18是用于说明第三示例的操作的图;
图19是用于说明第三示例的操作的图;
图20是用于说明第三示例的操作的图;
图21是示出了本发明第四示例的信息处理设备结构的图;
图22是用于说明第四示例的操作的图;
图23是用于说明第四示例的操作的图;
图24是示出了根据本发明第一典型实施方式的信息处理设备结构的图;
图25是示出了本发明第一典型实施方式中可靠性设定的一个示例的图;
图26是示出了根据本发明第一典型实施方式的信息处理设备的域停止恢复单元400的结构图;
图27是示出了通信处理内容(处理内容)与根据本发明第一典型实施方式的信息处理设备处的通信分层结构之间的对应关系的一个示例图;
图28是示出了根据本发明第一典型实施方式的信息处理设备硬件结构的一个示例的方框图;
图29是用于说明根据本发明第一典型实施方式的信息处理设备的一个操作示例的图;
图30是用于说明根据本发明第一典型实施方式的信息处理设备的一个操作示例的图;
图31是用于说明根据本发明第一典型实施方式的信息处理设备的一个操作示例的图;
图32是用于说明根据本发明第一典型实施方式的信息处理设备的一个操作示例的图;
图33是用于说明根据本发明第一典型实施方式的信息处理设备的一个操作示例的图;
图34是示出了根据本发明第二典型实施方式的信息处理设备的域停止恢复单元400的结构图;
图35是用于说明根据本发明第二典型实施方式的信息处理设备的一个操作示例的图;
图36是用于说明根据本发明第二典型实施方式的信息处理设备的一个操作示例的图;
图37是用于说明根据本发明第二典型实施方式的信息处理设备的一个操作示例的图;
图38是示出了根据本发明第三典型实施方式的信息处理设备的域停止恢复单元400的结构图;
图39是示出了根据本发明第三典型实施方式的信息处理设备的恢复处理允许数据404a的一个内容示例的图;
图40是用于说明根据本发明第三典型实施方式的信息处理设备的恢复处理控制单元404的一个操作示例的图;
图41是示出了根据本发明第四典型实施方式的信息处理设备的域停止恢复单元400的结构图;
图42是示出了相关系统结构的一个示例的图;
图43是示出了相关系统结构的另一示例的图;
图44是示出了相关系统结构的又一示例的图;以及
图45是示出了相关系统结构的再一示例的图。
具体实施方式
首先,将描述本发明应用于的信息处理设备的基本结构。
根据该基本结构的第一示例,在具有包括多个CPU的多CPU结构的信息处理设备中,根据要执行的程序(处理)的安全性级别,将多个CPU划分成多个域(例如,基本域、可信域、不可信域等)。
基本域被认为是执行安全性级别比固定级别高的处理的域,可信域被认为是具有安全性级别比基本域执行的处理低的至少一个处理的域,不可信域被认为是具有安全性级别比可信域执行的处理低的至少一个处理的域。
备选地,基本域可以具有固定安全性级别等于或高于可信域中的执行处理的安全性级别的每个执行处理,并包括安全性级别更高的至少一个处理,作为基本域的执行处理集合。
可信域可以具有固定安全性级别等于或高于不可信域中的执行处理的安全性级别的每个执行处理,并包括安全性级别更高的至少一个处理,作为每个域的执行处理集合。在这种情况下,基本域执行安全性级别比可信域高的处理,可信域执行安全性级别比不可信域高的处理。
每个域构造为包括一个或多个CPU,并通过处理器间通信单元(例如,图1中的40)执行不同域之间的CPU通信,其中当属于执行低安全性处理(例如附加处理)的域的CPU针对相关访问请求,访问执行高安全性处理的域的存储器和输入/输出设备时,由访问控制单元(例如,图1中的30)确定访问允许/不允许,从而只进行允许的访问。
通过由低安全性域端且硬件结构不同于高安全性域的CPU执行下载的附加处理(包括设备驱动器和应用程序),由此构造的第一示例确保了高安全性域的安全性。
这里,下载不仅包括通过由移动电话运营商提供的数据通信网络以及常用无线电LAN网络进行到信息设备的下载,还包括通过累积型介质和有线通信介质等连接进行到信息设备的下载,累积型介质的代表是SD卡,有线通信介质的代表是USB。
根据第一示例,并非通过开关等分离地控制高安全性域和低安全性域的CPU,而是通过能够实现彼此通信的处理器间通信单元连接这些CPU,从而能够实现高安全性域和低安全性域的CPU之间的同步和协同操作,同时确保安全性。
处理器间通信单元(图1的40)构造为从一个域的CPU向其他域的CPU传输数据(命令),而不是构造为对其他域的CPU等进行直接攻击。例如,即使在通过从低安全性域端CPU向高安全性域端CPU连续传输大量数据以试图引起高安全性域的CPU性能下降、缓冲上溢等,处理器间通信单元也抑制相关数据,阻止向高安全性域的CPU传输。
此外,在第一示例中,访问控制单元(图1的30)执行如下访问控制:只允许低安全性域端CPU对预先允许的存储空间、输入/输出设备等进行预先允许形式的访问。这能够防止下载的附加处理对高安全性域的攻击。备选地,通过访问控制单元按需对频带、数据流(band、flow)等的控制,可以防止下载的附加处理对高安全性域的多种攻击。以下对照第一示例进行描述。
图1是示出了第一示例结构的图。参照图1,提供了:CPU组10A,执行包括基本处理22和OS 21A的软件20A;CPU组10B,执行包括附加处理23和附加处理兼容OS 21B的软件20B;处理器间通信单元401和402,执行CPU组10A和10B之间的通信;以及访问控制单元30,控制CPU组10B对存储器50和/或输入/输出设备(I/O)60的访问。虽然图1中示出的CPU组10A和10B各自由多个(3个)CPU形成,但是显而易见的是每个组可以由一个CPU形成。此外,很显然,在CPU组10A和10B中,CPU的数目无需相同。下面,将CPU组10A和10B简称为CPU 10A和10B。在第一示例中,要下载的附加处理23由二进制格式的本机代码形成。附加处理23可以具有通过对下载的源程序进行编译处理(汇编处理)而获得的二进制格式。
根据第一示例,CPU 10B与执行基本处理22的CPU 10A相分离地向执行提供的附加处理23,可独立操作的CPU 10A和CPU 10B实现了高速运行,同时提高了安全性,从而执行应用程序和设备驱动器。显然,如下结构也是可以的:执行基本处理22的CPU 10A作为主方,执行附加处理23的CPU 10B作为从方,从方在主方的监督下进行操作。在这种情况下,例如,通过经由处理器间通信单元402接收来自CPU 10A的命令,实现CPU 10B对附加处理23的执行。
处理器间通信单元401和402控制CPU 10A和CPU 10B之间的数据发送和接收。由于彼此独立放置,所以CPU 10A和CPU 10B可以彼此并行地执行各自的处理(程序),同时也能够通过处理器间通信单元401和402实现CPU 10A和CPU 10B之间的同步处理和协同(重点)处理。例如,当用户在显示设备的屏幕上指示执行附加处理时,执行基本处理22的CPU 10A通过处理器间通信单元401向CPU 10B发送启动附加处理23的请求,从而在CPU 10B上执行附加处理23,通过处理器间通信单元402从CPU 10B向CPU10A发送执行结果,并且形成基本处理22的屏幕控制例程等向用户呈现反映附加处理23的执行结果的信息。
第一示例构造为:在CPU 10B执行附加处理时,当发出对存储器50或输入/输出设备(I/O)60的访问请求时,访问控制单元30执行访问允许控制,以只执行对存储器50或输入/输出设备(I/O)60的允许的访问请求。在CPU 10B中,附加处理23是在OS 21B上执行的,当从附加处理23发出对基本处理22或OS 21A的处理请求时,通过处理器间通信单元401向CPU 10A通知该请求。换言之,不允许附加处理23直接操作基本处理22。例如,即使在恶意附加处理器23试图通过向CPU 10A频繁发出请求,给出负荷,从而显著降低CPU 10A端的基本处理执行性能时,也可以通过处理器间通信单元401的控制来阻止向CPU 10A端发送这种请求,从而防止上述攻击,确保安全性。
在图1所示的示例中,处理器间通信单元401控制从CPU 10B向CPU 10A的信息传输,处理器间通信单元402控制从CPU 10A向CPU10B的信息传输。显然,可以备选地构造一个处理器间通信设备,以执行交互式的数据发送和接收。在第一示例中,当执行基本处理22的多个CPU 10A要求CPU之间的通信时,执行CPU之间的通信,而不使用处理器间通信单元40。对于执行附加处理23的多个CPU 10B,情况也是如此。如后所述,当形成CPU组10B的多个CPU中的一些动态地切换为CPU组10A的元件时,虽然CPU组10B在逻辑上属于CPU组10A,但是可以通过处理器间通信单元40执行CPU之间的通信。
第一示例能够下载、安装和执行作为附加处理23执行的应用程序和设备驱动器。将添加的设备驱动器合并到OS 21B中,并在CPU10B上执行,对输入/输出设备60的访问控制是在访问控制单元30的监控下执行的。
在移动电话和PDA等便携式信息通信设备中,图1中的基本处理22和OS 21A一般存储在未示出的可重写非易失性存储器(EEPROM:电可编程可擦除ROM)中,CPU 10A从EEPROM获取、解码和执行指令代码。换言之,分别存储有执行基本处理22和附加处理23的OS 21A和21B的存储器在硬件上是彼此分离的,分别在基本处理端和附加处理端。当执行EEPROM中存储的基本处理、OS等指令代码时,在每个OS启动时,CPU 10A和10B将由执行的程序安装、参考并更新的表等数据扩展到由DRAM(动态随机存取存储器)形成的存储器50。对于CPU 10B,访问控制单元30管理要读/写的存储区,以限制对CPU 10A参考的存储区的访问。此外,在便携式信息通信终端之外的其他常用信息处理设备中,显然,可以分离地设置如下两种存储器:第一种是其中加载有基本处理22和OS21A,其指令代码由CPU10A获取;第二种是其中加载由附加处理23和OS21B,其指令代码由CPU10B获取。备选地,在常用信息处理设备中,可以在存储器50中彼此分离地设置加载有基本处理22和OS 21A的区、以及加载有附加处理23和OS 21B的区,以便由访问控制单元30管理CPU10B对存储器50的读/写访问。在这种情况下,因为CPU 10A和CPU10B均参考的代码只存储在共用存储区,所以访问控制单元30可以执行访问控制,以便只允许CPU 10B从共用存储区读取数据。
此外,在便携式信息处理设备中,当安装的电池的剩余电能减少时,通过强行关闭除了执行基本处理的CPU之外的其他CPU,或者根据要执行的处理的可靠性,优先关闭执行低可靠性处理的CPU,可以节约剩余电能。例如,这可以通过基于剩余电池能量的有关信息来确定执行基本处理的CPU并执行关闭而实现,其中剩余电池能量的有关信息是由检测剩余电池能量的单元和通知检测结果的单元获得的。
此外,因为便携式信息处理设备中的资源,例如与外部通信的带宽或非易失性存储器的容量等进一步受限,所以可以根据可靠性改变资源的相对确保率。例如,这可以通过进行如下确定来实现:在执行基本处理的CPU中,当要执行的处理可靠性较高时,优先允许确保资源,而当可靠性较低时,限制资源。
图2是示出了第一示例中处理器间通信单元硬件结构的一个示例图。参照图2,在相对侧的CPU(执行基本处理的CPU和执行附加处理的CPU)之间放置的一组中断控制设备41和共享存储器42形成图1中的整个处理器间通信单元401和402。中断控制设备41包括针对CPU#0、CPU#1、...、CPU#n的n个中断控制设备410-41n,每一个中断控制设备包括中断指令单元411、中断状态保持单元412和中断取消单元413。共享存储器42包括针对CPU#0、CPU#1、...、CPU#n的n个通信区420-42n,每一个通信区包括用于排列或缓冲传输信息(数据、消息)的通信队列421和用于执行互斥控制的互斥控制区422。
例如,对于两个区CPU#0和CPU#1,CPU#1的中断控制设备411和CPU#1的通信区421形成从CPU#0向CPU#1的处理器间通信单元401,CPU#0的中断控制设备410和CPU#0的通信区420形成从CPU#1向CPU#0的处理器间通信单元402。
假设中断控制设备41和共享存储器42通过总线与CPU#0、CPU#1、...、CPU#n连接。在共享存储器42的通信队列421中,可以设定存储传输数据的缓冲器指针(例如,存储器50的缓冲区地址),而不是传输数据本身。
在第一示例中,共享存储器42中CPU#i的互斥控制区422i设置为执行互斥控制,以在CPU#i的通信区42i已被特定CPU占用时阻止其他CPU使用CPU#i的通信区42i。具体而言,CPU#i的互斥控制区422i用于存储同步管理信息,例如包括互斥量或标志的信号量。
共享存储器42上安装的互斥控制机制确保发送CPU和接收CPU之间的数据一致性。
此外,由于该互斥控制机制,当互斥控制区422锁定时,不允许发送端CPU接受至发送CPU的中断请求,从而阻止不合理中断产生,例如从发送CPU到接收CPU的频繁数据传输。
互斥控制区422可以用于对形成队列和解除队列的锁定管理。
在图2中,当结构为通过中断控制控制设备41允许对一个接收CPU进行多个中断时,可以在共享存储器422中将每个CPU的通信区中的通信队列421和互斥控制区422设置为多个。
虽然没有特别限制,但是对于共享存储器42,图1中存储器50的预定存储区可以用作共享存储器,或者可以与存储器50相分离地在处理器间通信单元40中设置共享存储器。此外,虽然图中未示出,但是来自中断控制设备410-41n的中断请求线可以并行地连接至接收CPU(增加中断数目)或以串级链(daisy chain)的方式连接。
当从中断控制设备41接收到中断请求时,接收CPU向中断控制设备41通知该请求,中断控制设备41向数据线(未示出)发送中断设备号(中断矢量信息),接收CPU根据中断设备号产生中断矢量,从而通过调度程序启动在接收CPU上执行的中断服务例程,该中断服务例程执行如下一系列控制:从相应共享存储器42的通信队列中获得数据,并释放(解锁)互斥控制区中的互斥量等信号量,以从中断返回。
图3是用于说明图2所示第一示例的处理器间通信单元的操作过程的图,示出了从CPU#k向CPU0传送数据时的过程。在图3中,箭头旁边的数字表示步骤编号。
步骤1:发送CPU#k锁定共享存储器42中针对CPU#0的通信区的互斥控制区。当指示针对CPU#0的通信区的互斥控制区被其他CPU锁定时,例如,等待该锁定的释放。
步骤2:在锁定共享存储器42中针对CPU#0的通信区的互斥控制区之后,发送CPU#k向共享存储器42中CPU#0通信区的通信队列中写入要向接收CPU#0发送的数据。
步骤3:发送CPU#k向中断控制设备41中CPU#0中断控制设备的中断指令单元通知中断请求。
步骤4:CPU#0中断控制设备的中断指令单元更新CPU#0中断控制设备的中断状态保持单元,以设定“中断请求存在”。
步骤5:CPU#0中断控制设备的中断指令单元引起针对接收CPU#0的中断。
步骤6:接收CPU#0接收来自CPU#0中断控制设备的中断指令单元的中断,从共享存储器42中CPU#0通信区的通信队列中取出数据。此时,在接收CPU#0中,执行上述中断服务例程的处理。
步骤7:在从共享存储器42中CPU#0通信区的通信队列中获得数据之后,接收CPU#0向CPU#0的中断取消单元通知中断处理完成。
步骤8:CPU#0中断控制设备的中断指令单元在接收到来自接收CPU#0的处理完成通知之后,更新CPU#0中断控制设备的中断状态保持单元。
步骤9:接收CPU#0解锁共享存储器42中针对CPU#0的通信区的互斥控制区。
在第一示例中,当确认中断请求集中在特定接收CPU上时,可以执行诸如对到接收CPU的中断请求进行控制等流控制或带控制。换言之,可以在中断控制设备41中设置QoS(服务质量)保证功能,以限制从发送CPU端向接收CPU端连续/频繁地传送中断请求。例如,与至接收CPU的数据传送无关的中断请求不能被认为是互斥控制的目标,而可以相继地发出多个这种中断请求。当接收CPU端的中断处理尚待完成时,产生了来自发送CPU端的中断请求,使中断控制设备41中中断状态保持单元的“中断请求存在”超过固定值,在这种情况下,可以执行控制,以便不允许来自发送CPU端的下一中断请求。该结构能够防止如下攻击:由于发送CPU产生大量与至接收CPU的数据传送无关的中断请求,导致接收CPU的性能下降。
图4是示出了图1所示第一示例中访问控制单元30的结构图。参照图4,访问控制单元30包括:访问允许单元31,通过基本端总线70A与执行基本处理(图1中22)的CPU 10A连接,并通过附加端总线70B与执行附加处理(图1中23)的CPU 10B连接;以及存储单元,存储访问允许数据32。
允许CPU 10A读/写访问允许数据32。至允许从访问允许单元31进行读取。不允许CPU 10B对访问允许数据32进行读取或写入。换言之,访问允许数据32与CPU 10B之间不存在数据总线。
访问允许单元31基于传送到附加端总线70B的地址信号线和控制信号线的、至存储器50(见图1)的访问地址信号和控制信号(访问命令),确定的访问类型(读/写),并参考访问允许数据32的信息,以确定当前访问是否适当。作为确定结果,当确定该访问不合理时,访问允许单元31制止向基本端总线70A发送访问地址和控制信号(访问命令),从而阻止从CPU 10B端访问基本端总线70A。在这种情况下,向附加端总线70B发出了访问地址的CPU 10B端通过总线错误或没有来自存储器50的读/写地址的重演等,知道当前访问失败。
当输入/输出设备(I/O)60是存储器映射I/O时,访问允许单元31监控附加端总线70B,并检测访问地址是对应于输入/输出设备的地址,当检测到数据总线上的I/O命令(读/写等)时,参照访问允许数据32的信息,确定当前访问是否适当。当输入/输出设备不是存储器映射I/O时,该单元对要传送至附加端总线70B的输入/输出设备的设备号和I/O命令进行解码,并参考访问允许数据32的信息,确定是否允许访问。
在第一示例中,访问控制单元30可以包括带制约单元,用于控制每单位时间的数据传送量。例如,访问控制单元30可以包括对CPU10B在访问操作时从CPU10B向附加端总线70B传送的数据量进行测量和监控的单元,从而在例如传送的数据的字节数目超过预先设定的每单位时间的阈值时,执行控制以停止从CPU 10B向CPU 10A的数据传送。此时,即使当CPU 10B知道至CPU 10A的数据传送失败并重新尝试时,访问控制单元30也制止从CPU 10B向CPU 10A传送数据。备选地,访问控制单元30可以构造为包括缓冲器,以在该缓冲器中累积从CPU 10B向附加端总线70B传送的数据,并控制要传送至CPU 10A的数据流。
图5是示出了第一示例中访问允许数据32的一个示例的图。参照图5,访问允许数据以表格式存储,包括执行附加处理的CPU(图4中与附加端中线连接的CPU)、由允许被访问的范围的起始点地址和结束点地址形成的允许范围地址、以及允许访问类型(读、读/写和写类型)。在不同CPU中,允许范围地址可以彼此交叠。在图5所示示例中,第二行中CPU#2和#3的允许范围地址是从0xC000000到0xF000000,是可读/写(R/W)的,第三行中CPU#3的允许范围地址是从0xE000000到0xF000000,这与第二行的地址交叠。地址允许数据的数目越大,表中的条目数目相应地越大,可以进行更加精细的访问。虽然图5示出了R(可读)、W(可写)和R/W(可读/写)作为进行说明的示例,R(可读)指示信息只允许读而不允许写,从而当W设定为可写(也可读)时,不必设定R/W。此外,不允许读(也不允许写)的地址范围并未存储在地址允许数据32中。虽然在图5所示的示例中,访问允许数据具有针对允许进行访问的每个CPU的地址范围和范围类型,但是访问允许数据还可以具有指示作为访问类型的不允许信息的信息,以存储对于执行附加处理的CPU不被允许访问的地址范围。
图4中的访问允许单元31接收来自附加端CPU的访问请求(地址、读命令),并参考访问允许数据32的允许范围地址和访问类型,在允许访问的情况下,允许该访问。另一方面,当不允许访问时,该单元不允许进行访问。在图5所示示例中,对于CPU#4,设定从起始点地址1000到结束点地址2000(十六进制),并将访问类型设定为读(R)。对于CPU#2或#3,设定从起始点地址0xC000000到结束点地址0xF000000(十六进制),并将访问类型设定为读和写(R/W)。对于CPU#3,设定从起始点地址0xE000000到结束点地址0xF000000(十六进制)这一范围的访问类型为写(W)。
图6是用于说明图4中访问控制单元30的一个操作示例的图。在图6中,箭头旁边的数字指示步骤编号。
步骤1:执行基本处理的CPU 10A引起访问控制单元30的访问允许数据32禁止执行所有附加处理的CPU 10B读取特定地址范围。
步骤2:假设CPU 10B通过执行附加处理23等,发出对禁止读取的地址范围进行读取的请求。
步骤3:访问允许单元31读取访问允许数据32,以检查相关访问是否适当。
步骤4:访问允许单元31向CPU 10B返回错误。这是因为CPU10B对相关地址范围的读取是禁止的。
步骤5:CPU 10B发出对上述地址范围之外的其他范围进行读取的请求。
步骤6:访问允许单元31读取并检查访问允许数据32。
步骤7:访问允许单元31允许CPU 10B的读取访问请求,并向基本端总线70A发出读取请求。
虽然在第一示例中描述了访问控制单元30包括访问允许单元31和访问允许数据32并基于访问允许信息来执行访问控制的情况,但是结构不只限于第一示例中所示的结构,可以设置取代访问允许数据的访问拒绝数据(反转)和访问拒绝单元。在这种情况下,当来自执行附加处理的CPU 10B的访问地址符合访问拒绝数据中定义的访问拒绝的地址范围时,访问拒绝单元执行拒绝访问的控制。
作为第一示例的修改示例,访问允许单元31可以包括高速缓存。在这种情况下,用于访问确定的访问地址和访问允许数据存储在高速缓存中,以在其后的访问控制确定中确定高速缓存中是否存在相关访问地址(地址范围)的访问允许数据,并在高速缓存击中的情况下,加速访问确定。高速缓存构造为包括于访问地址范围和访问允许数据相对应的标签地址,并包括高速缓存击中确定电路,用于确定附加端总线70B的访问地址是否击中高速缓存。
此外,作为第一示例的修改示例,访问控制单元30可以包括新的访问允许数据33和访问允许数据更新单元34。参照图7,除了图6所示第一示例的组件之外,访问控制单元30还包括与基本端总线70A连接的访问允许数据更新单元34和用于存储新访问允许数据33的存储单元。将详细描述这两个单元的功能。
新访问允许数据33是存储单元,除了具有图6所示访问允许数据32的相同特征之外,还允许只从访问允许数据更新单元34进行读取。
访问允许数据更新单元34响应于通过基本端总线70A来自CPU10A的请求,利用新访问允许数据33内容,以原子形式对新访问允许数据34进行覆写。
在第一示例的该修改示例中,可以设置单元,该单元不执行访问允许数据32的更新,而切换到新访问允许数据33。
上述结构能够更新访问允许数据32,由CPU以原子形式对其进行覆写,从而能够动态改变访问控制单元30要保护的区和要限制的区。
图8是示出了第一示例的访问控制单元30的另一结构的图。参照图8,除了图6所示第一示例的组件之外,访问控制单元30还包括与附加端总线70B连接的访问监控单元35和学习单元36。将具体描述这些单元的功能。
类似于访问允许单元31,访问监控单元35通过附加端总线70B,从CPU 10B获得访问信息。
基于从访问监控单元35提供的访问信息,学习单元36确定参考是否适当。例如,当预先计数的对用户保持数据的参考数目超过预先指定的阈值时,识别出该情况是异常状况,并向访问监控单元35通知该状况,以根据单独设定的规则,动态改变访问允许数据32。依据情况不同,通知于基本端总线70A连接的CPU 10A在异常状况下开始要执行的处理。
上述结构能够通过累积可靠性视为较低的CPU的操作,作为在实际所谓模式之中的历史信息,实现自发限制,从而能够基于实际操作中CPU的操作情况,实现更加安全的操作控制。
此外,作为结构示例,除了图6所示组件之外,访问控制单元30还可以同时包括上述新访问允许数据33、访问允许数据更新单元34、访问监控单元35和学习单元36。
图9是示出了作为基本结构的第二示例结构的图。参照图9,除了图1结构之外,第二示例还具有附加处理端的一组软件、OS和CPU。具体而言,第二附加处理端的CPU 10C通过处理器间通信单元与第一附加处理的CPU 10B进行通信。第二附加处理端的CPU 10C通过第二访问控制单元302与基本端总线70A连接。
由执行基本处理22的CPU 10A执行访问控制单元301和302的设置。换言之,执行基本处理22的CPU 10A用作主处理器。CPU 10A执行对存储器50和输入/输出设备(I/O)60的集中式管理。
执行第二附加处理23C的CPU 10C通过处理器间通信单元403与执行第一附加处理23B的CPU 10B进行通信(传输数据和命令),执行第一附加处理23B的CPU 10B通过处理器间通信单元401与执行基本处理22的CPU 10A通信(传输数据和命令)。此外,执行第二附加处理23C的CPU 10C在第二访问控制单元302的监控下,只执行允许的对存储器50和输入/输出设备(I/O)的访问。执行第一附加处理23B的CPU 10B在第一访问控制单元301的监控下,只执行允许的对存储器50和输入/输出设备(I/O)的访问。CPU 10A执行对第一访问控制单元301和第二访问控制单元302的访问允许数据的设置。采用这种结构,执行集中式管理,以通过处理器间通信单元40在CPU之间传送处理。此外,在第二示例中,可以阻止附加处理23B和23C对执行基本处理22的CPU 10A进行直接攻击等。具体而言,类似于上述第一示例,不允许附加处理23B和23C直接启动基本处理22或调用子例程。例如,经由处理器间通信单元通过CPU 10B从CPU 10C向CPU 10A发送启动基本处理22的请求,CPU 10A接收到当前请求之后,当该请求来自未授权的CPU,则不接受当前请求(具体细节将在稍后所述的软件典型实施方式中描述)。因此,除了在附加处理端CPU和基本处理端CPU中设置授权层,通过例如处理器间通信单元40和访问控制单元30等硬件机制进行处理,能够避免对基本处理等的直接攻击。因为假设第二示例中处理器间通信单元401~404具有与图2所示第一示例相同的结构,并且假设访问控制单元301和302具有与图4所示第一示例中相同的结构,所以不再重复对其结构和操作的详细描述。
图10是示出了作为基本结构的第三示例结构的图。参照图10,类似图9所示结构,第三示例是通过向图1所示结构添加附加处理端CPU10C和访问控制单元302而得到的。与图9所示的上述第二示例不同,第三示例具有为每一组(域)的每一个CPU组准备的存储器和输入/输出设备(I/O)。
第二附加处理CPU 10C被允许自由地访问被允许的存储器50C和输入/输出装置(I/O)60C,而不受到访问限制。第一附加处理CPU10B被允许自由地访问被允许的存储器50B和输入/输出装置(I/O)60B,而不受到访问限制。
由第二访问控制单元302和第一访问控制单元301的双级结构控制第二附加处理CPU 10C对基本处理端存储器50A和输入/输出装置(I/O)60A的访问。
是否允许第一附加处理CPU 10B对基本处理端存储器50A和输入/输出装置(I/O)60的访问是由第一访问控制单元301确定的。
第一访问控制单元301的访问允许数据和第二访问控制单元302的访问允许数据由基本处理CPU 10A设定。第二访问控制单元302的访问允许数据可以由第一附加处理CPU 10B设定。根据第三示例,基于域将存储器和输入/输出设备(I/O)分离,并通过处理器间通信单元40以多级形式连接CPU,这能够增强防止附加处理攻击的功能,从而确保安全性。
图11是示出了第三示例的修改示例的图,其中将图1所示第一示例应用于两个或多个芯片。参照图11,除了放置的多个芯片80,每一个由CPU 10A、10B、10C和10D以及访问控制单元301的组合形成,单个芯片80由访问控制单元303连接。换言之,多个芯片80A和80B设置为通过访问控制单元303而连接。
将一部分CPU设置在一个特定芯片80上,以用于执行基本处理,这能够在一个芯片80中通过访问控制单元301实现访问限制,同时也可以将至少一部分CPU设置在每个芯片80上,以用于执行基本处理。
也可以形成桥接不同芯片80的域,以在各个芯片80之间由访问控制单元303控制执行。
在任何情况下,对访问控制单元30的适当设置能够实现信息处理设备的基本结构中的执行控制,在该信息处理设备中,本发明也应用于多个芯片80之间。
在上述第三示例总,主要描述了本发明的硬件结构,下面将描述本发明的软件结构。
图12是示出了实现本发明的软件结构的一个示例图,包括基本域、可信扩展域和不可信扩展域。可以采用包括三组CPU等的图10结构作为图12所示的硬件结构。在这种情况下,作为执行基本处理的执行环境的基本域可以对应于图10中的软件20和OS 21A,可信扩展域对应于图10中的软件20B和OS 21B,不可信扩展域对应于图10中的软件20C和OS 21C。
参照图12,基本域100A包括:基本软件110,包括基本应用程序(称作“基本应用”)111和基本性能112;OS 101A;专用文件系统103、外部设备102A、本机代码下载管理功能104A和安全性政策数据库105。虽然未具体限定,但是当第三示例的信息处理设备是便携式信息通信终端时,基本功能112实现便携式信息通信终端的基本性能,包括呼叫和呼入处理等呼叫处理、互联网访问和屏幕处理,这与图1基本处理22相对应。基本应用111调用基本功能112执行处理,基本功能112通过OS执行对文件系统或外部设备的访问。外部设备包括诸如无线通信接口等通信接口、显示设备接口、诸如按键或定点设备等输入接口、SD(安全数字)存储卡接口和声音接口等。
可信扩展域100B包括本机代码下载执行功能104B、下载应用程序(称作“下载应用”)120B、基本性能库(包装程序)113、OS 101B和允许的外部设备102B。
OS 101B包括具有证书的下载驱动器121B。具有证书的下载驱动器121B执行对允许的外部设备102B的输入/输出控制。
不可信扩展域100C包括本机代码下载执行功能104C、下载应用120C、OS 101C和允许的外部设备102C。合并到OS 101C中的下载驱动器121C执行允许的外部设备102C的输入/输出控制。
对于来自基本域100A的外部设备102A以及下载的文件输入,本机代码下载管理功能104A参考安全性政策数据库105的内容,以向可信扩展域100B传送可信(具有可信电子证书)本机代码的应用,并将可信(具有可信电子证书)本机代码的下载驱动器121B合并到OS 101B中。
本机代码下载管理功能104A通过可信扩展域100B向不可信扩展域100C传送不可信(例如,没有电子证书或证书内容不正确等)应用,以将不可信(无电子证书)下载驱动器合并到不可信扩展域的OS101C中。
允许从可信扩展域100B调用基本功能112,而不允许从不可信扩展域100C调用基本功能112。不可信扩展域100C和可信扩展域100B可以协同工作。
仅当用户对来自不可信域的数据进行了确认(OK)时,在可信域中运行的应用程序才向基本功能112传送数据。未经用户确认,不向基本功能112传送来自不可信域的数据。无法从可信扩展域100B直接向基本域100A的基本功能112发出处理请求。
图13是用于说明图12所示第三示例的操作的图,示出了基本应用的执行。在图13中,每个箭头所附的数字代表步骤编号,在这些步骤中,在当前线上传送信息。
步骤1:基本域100A的基本应用111向基本功能112发出处理请求(例如,添加地址簿)。
步骤2:基本功能112使用OS 101A处理当前请求。
步骤3:基本功能112向基本应用111通知该请求是否被允许。
图14是用于说明图12所示第三示例的操作的图,示出了下载可信应用的执行状态。在图14中,每个箭头所附的数字代表步骤编号,在这些步骤中,在线上传送信息。
步骤1:下载数据从基本域100A上的外部设备102A(网络或SD存储卡等)到达OS 101A。
步骤2:在基本功能112处,根据属性信息等识别出下载数据是附加应用(下载应用)。
步骤3:基本功能112向本机代码下载管理功能104A传送附加应用,本机代码下载管理功能104A参考安全性政策数据库105,检查附加应用上所附电子证书。如上所述,例如,利用电子证书中存储的公钥和数字签名(用秘密密钥对要证明的组织或公钥的加密),当本机代码下载管理功能104A认证该证书时,用公钥对一部分数字签名进行解密,以检查解密是否符合证书的数据内容,当在符合时,确定证书的数据是可信的。进一步附加由应用的摘要形成的数字签名,能够检查下载的应用是否已改变。
步骤4:本机代码下载管理功能104A将下载信息连同电子证书一起保存在安全性政策数据库105中。
步骤5:当检查结果是电子证书正确时,基本域100A的本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B传输下载应用,以请求执行。从基本域100A的本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B的数据传输是使用图9或10中的处理器间通信单元40来执行的。
步骤6:可信扩展域100B的本机代码下载管理功能104B执行扩展,以运行接收到的下载应用。
步骤7:在可信扩展域上执行下载应用。
图15是用于说明图12所示第三示例的操作的图,示出了可信驱动器的下载执行。例如,可信驱动器表示其所附电子证书具有正确校对结果的下载的驱动器。在图15中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
步骤1:下载数据从基本域100A上的外部设备102A(网络或SD存储卡等)到达OS 101A。
步骤2:在基本功能112处,根据属性信息、自动安装信息等识别出下载数据是附加设备驱动器(下载驱动器)。
步骤3:基本功能112向本机代码下载管理功能104A传送接收到的驱动器,本机代码下载管理功能104A参考安全性政策数据库105,检查下载数据上所附电子证书。
步骤4:本机代码下载管理功能104A将下载信息连同电子证书一起保存在安全性政策数据库105中。
步骤5:本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B传输下载应用,以请求执行安装。从基本域100A的本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B的数据传输是使用图9或10中的处理器间通信单元40来执行的。
步骤6:可信扩展域100B的本机代码下载管理功能104B自动安装接收到的下载驱动器。虽然未具体限定,但是第三示例中的下载驱动器可以是驻留型驱动器,在安装之后,通过重新启动CPU将该驻留型驱动器合并到OS 101B的特定区中。
步骤7:可信扩展域的OS 101B向已执行的应用通知或显示下载驱动器已安装。
步骤8:在可信扩展域中,已执行的应用102B参考安装的下载驱动器。
图9:安装并加载到可信扩展域的OS 101B中的下载驱动器121B访问允许的外部设备102B。
步骤10:下载驱动器121B将来自外部设备102B的数据返回到下载应用120B。
图16是用于说明图12所示第三示例的操作的图,示出了当可信扩展域的可信应用(下载应用)使用基本域的基本功能时执行的操作。在图16中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
步骤1:在可信扩展域100B中,下载应用120B请求基本功能库113执行基本域100A的基本功能112处理。基本功能库113是收集有用于执行基本域100A的基本功能112处理的例程的库,由下载应用120B启动。
步骤2:可信扩展域100B的基本功能库113使用下载应用120B持有的电子证书的密钥(公钥等),对该请求加密,并将加密请求传输至基本域100A的本机代码下载管理功能104A。从可信扩展域100B的基本功能库113到基本域100A的本机代码下载管理功能104A的请求传输是通过图9或10中的处理器间通信单元40来执行的。
步骤3:基本域100A的本机代码下载管理功能104A对接收到的请求进行解码,以使用电子证书来检查该请求的请求发送源是否适当。在本示例中,虽然使用请求的加密和解码来检查该请求,但是显而易见的是可以使用能够将应用和电子证书相关的任何方法。
步骤4:当检查结果是发现该请求适当时,基本域100A的本机代码下载管理功能104A向基本功能112发出请求。
步骤5:基本域100A的基本功能112处理从本机代码下载管理功能104A接收到的当前请求,并在完成处理之后,向基本域100A的本机代码下载管理功能104A通知处理完成。
步骤6:基本域100A的本机代码下载管理功能104A向可信扩展域100B的基本功能库113通知处理完成。从基本域100A的本机代码下载管理功能104A向可信扩展域100B的基本功能库113的通知传输是通过图9或10中的处理器间通信单元40来执行的。
步骤7:作为对该请求的响应,可信扩展域100B的基本功能库113向下载应用120B通知处理完成。
图17是用于说明图12所示第三示例的操作的图,示出了用于下载不可信扩展域的不可信应用的执行过程。在图17中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
步骤1:下载数据从基本域100A上的外部设备102A(网络或SD存储卡等)到达OS 101A。
步骤2:基本域100A的基本功能112分析属性信息等,以识别出下载数据是应用(下载应用)。
步骤3:基本域100A的基本功能112向本机代码下载管理功能104A传送下载应用。本机代码下载管理功能104A确定该应用上未附加电子证书或电子证书不正确。
步骤4:基本域100A的本机代码下载管理功能104A将下载信息保存在安全性政策数据库105中。
步骤5:基本域100A的本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B传输下载应用。从基本域100A的本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B的应用传输是使用图9或10中的处理器间通信单元40来执行的。
步骤6:可信扩展域100B的本机代码下载管理功能104B向不可信扩展域100C的本机代码下载管理功能104C传输该应用。从可信扩展域100B的本机代码下载管理功能104B向不可信扩展域100C的本机代码下载管理功能104C的应用传输是使用图9或10中的处理器间通信单元40来执行的。
步骤7:不可信扩展域100C的本机代码下载管理功能104C启动接收到的下载应用120C。
步骤8:下载应用120C在不可信扩展域100C中开始运行。在这种情况下,不可信扩展域的下载应用120C运行在不可信扩展域的OS101C上,从而只允许访问允许的外部设备102C。
图18是用于说明图12所示第三示例的操作的图,示出了不可信驱动器的下载执行状态。在图18中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
步骤1:下载数据从基本域100A上的外部设备102A(网络或SD存储卡等)到达OS 101A。
步骤2:当由下载数据的到达而启动时,基本功能112分析属性信息、安装信息等下载数据,识别出数据是设备驱动器(下载驱动器)。
步骤3:基本功能112向本机代码下载管理功能104A传送下载驱动器,本机代码下载管理功能104A发现下载驱动器上未附有电子证书、或者虽附有电子证书但是内容不正确。
步骤4:本机代码下载管理功能104A只将下载信息保存在安全性政策数据库105中。
步骤5:本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B传输下载驱动器。从基本域100A的本机代码下载管理功能104A向可信扩展域100B的本机代码下载管理功能104B的下载驱动器传输是通过图9或10中的处理器间通信单元40来执行的。
步骤6:可信扩展域100B的本机代码下载管理功能104B向不可信扩展域100C的本机代码下载管理功能104C传送接收到的下载驱动器。从可信扩展域100B的本机代码下载管理功能104B向不可信扩展域100C的本机代码下载管理功能104C的下载驱动器传送是通过图9或10中的处理器间通信单元40来执行的。
步骤7:不可信扩展域100C的本机代码下载管理功能104C安装接收到的下载驱动器121C。
步骤8:OS 101C向已执行的应用120C通知驱动器121C已安装或将其显示在屏幕上(为了通知用户)。
步骤9:在不可信扩展域100C中,已执行的应用102C参考安装的下载驱动器121C。
步骤10:在不可信扩展域100C中,安装的下载驱动器121C通过不可信扩展域的OS101C访问允许的外部设备102C。
步骤11:在不可信扩展域中,下载驱动器121C将从外部设备102C获得的数据返回到下载应用120C。
图19是用于说明图12所示第三示例的操作的图,示出了可信应用与不可信应用之间的协作状态。在图19中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
步骤1:不可信扩展域100C上的下载应用120C向可信扩展域100B上的下载应用120B传输数据。数据传输通常是通过图9或10中的处理器间通信单元40来执行的。
步骤2:可信扩展域100B上的下载应用120B基于接收到的数据执行处理,以请求基本功能库113执行基本功能处理,包括与不可信扩展域协作的信息。
步骤3:可信扩展域100B上的基本功能库113使用该应用持有的电子证书对请求加密,以将该加密密码传输至基本域100A上的本机代码下载管理功能104A。请求传输通常是通过图9或10中的处理器间通信单元40来执行的。
步骤4:基本域100A的本机代码下载管理功能104A使用安全性政策数据库105中存储的电子证书,对请求进行解码,以检查该请求的安全性。作为检测结果,当该请求正确时,本机代码下载管理功能104A通过基本应用111要求用户确认。基本应用111包括屏幕显示和输出应用。在本示例中,虽然使用请求的加密和解码来检查该请求,但是显而易见的是可以使用能够将应用和电子证书相关的任何方法。
步骤5:假设输入“NO”,作为来自用户的确认。
步骤6:本机代码下载管理功能104A向可信扩展域100B的基本功能库113通知不允许。不允许通知通常由图9或10中的处理器间通信单元40进行。
步骤7:基本功能库113向下载应用120B通知不允许。
步骤8:可信扩展域100B上的下载应用120B向不可信扩展域100C上的下载应用120C通知不允许。不允许通知通常由图9或10中的处理器间通信单元40进行。
图20是用于说明图12所示第三示例的操作的图,示出了可信应用与不可信应用之间的协作状态。在图20中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
步骤1:不可信扩展域100C上的下载应用120C向可信扩展域100B上的下载应用120B传输数据。数据传输通常是通过图9或10中的处理器间通信单元40来执行的。
步骤2:可信扩展域100B上的下载应用120B基于接收到的数据执行处理,以请求基本功能库113执行基本功能处理,包括与不可信扩展域协作的信息。
步骤3:可信扩展域100B上的基本功能库113使用该应用持有的电子证书对请求加密,以将该加密请求传输至基本域100A上的本机代码下载管理功能104A。该请求通常由图9或10中的处理器间通信单元40进行。
步骤4:基本域100A的本机代码下载管理功能104A使用安全性政策数据库105中存储的电子证书,对请求进行解码,以检查该请求的安全性。作为检测结果,当该请求正确时,本机代码下载管理功能104A通过基本应用111要求用户确认。基本应用111包括屏幕显示和输出应用。在本示例中,虽然使用请求的加密和解码来检查该请求,但是显而易见的是可以使用能够将应用和电子证书相关的任何方法。
步骤5:在该情况下,输入“YES”,作为用户的确认。
步骤6:基本域100A的本机代码下载管理功能104A请求基本功能112。
步骤7:基本功能112处理该请求,并向本机代码下载管理功能104A通知处理完成。
步骤8:基本域100A的本机代码下载管理功能104A向可信扩展域100B的基本功能库113通知该完成。完成通知由图9或10中的处理器间通信单元40进行。
步骤9:可信扩展域100B的基本功能库113向下载应用120B通知该完成。
步骤10:可信扩展域100B的下载应用120B向不可信扩展域100C上的下载应用120C通知该完成。完成通知由图9或10中的处理器间通信单元40进行。
图21是示出了作为基本结构的第四示例结构的图。在OS和CPU之间设置有虚拟机监视器(由CPU和OS执行的设置在其间的软件层)。这使CPU、I/O和存储器资源成为虚拟的。在OS与CPU之间,虚拟机监视器将虚拟硬件(例如,虚拟输入/输出设备)映射到真实硬件设备上。对于基本域、可信扩展域和不可信扩展域中每一个,OS利用虚拟CPU 200A、200B和200C以及OS和CPU之间设置的虚拟机监视器210A、210B和210C,控制与虚拟专用文件系统和虚拟外部设备的输入/输出(I/O),将虚拟专用文件系统103’、虚拟外部设备102A’、102B’和102’映射到相应的真实文件系统和真实外部设备。
根据第四示例,与图10所示硬件结构和图12所示软件结构不同,例如,对应于基本域的虚拟CPU并非固定的,而可以将可信扩展域等的CPU映射为基本域的虚拟CPU。在进行封装时,虚拟机监视器不需要修改现有OS、应用程序、CPU等。根据第四示例,每个域中CPU的数目是可变的,以形成虚拟CPU。在软件结构方面,基本域、可信扩展域和不可信扩展域的结构与图12所示结构相同,仅有的不同是设备和文件系统是虚拟设备和虚拟文件系统。
图22是示出了图21所示第四示例的处理过程的一个示例图。在图22中,每个箭头上所附的数字代表步骤编号。
步骤1:基本域100A的虚拟机监视器210A向可信扩展域100B上的虚拟机监视器210B请求CPU转换。
步骤2:可信扩展域100B上的虚拟机监视器210B减少虚拟CPU资源。
步骤3:可信扩展域100B上的虚拟机监视器210B向基本域100A上的虚拟机监视器210A通知可转换的CPU。
步骤4:基本域100A上的虚拟机监视器210A设置访问扩展单元等,以增加虚拟CPU的数目。
第四示例使另一组的CPU作为基本域的CPU进行操作。因为应用下载处理与上述第三示例的处理操作(图13到20)相同,所以不再对其进行描述。
作为第四示例的修改示例,虚拟机监视器可以运行在安全模式下。这种设置进一步增强了安全性。
在上述每一个软件示例中,每个域的CPU组作为多处理器进行操作时,将硬件方面所有可协同操作的通道设计为由基本域100A控制,例如将TLB(转换后备缓冲器:地址管理单元中设置的地址转换表)的所有条目清空的全部否定操作(shoot-down),以使保持高速缓存一致性的总线和虚拟多处理器无效。此外,如图23所示,每个域的CPU组(例如,图1所示具有多CPU结构的CPU组10A和10B)可以构造为通过分离单元15进行划分操作。这便于在将特定域的CPU转换至其他域时进行控制,从而处理失灵多处理器的性能下降等。
虽然相对于从设备外部(例如网络)下载并执行本机代码的附加处理(应用、设备驱动器)的信息处理终端设备,作为示例而描述了上述第一到第四示例,但是本发明不限于这种信息处理终端设备,而可应用于任何信息处理设备。
(第一典型实施方式)
将描述第一典型实施方式,其中本发明应用于前述作为基本结构的任何信息处理设备。对于基本结构中示出的相同结构和操作,将适当省略对其的描述。
(第一典型实施方式的结构)
如图24所示,根据本发明第一典型实施方式的信息处理设备由多处理器形成,包括最高可靠性域150A、中等可靠性域150B和低可靠性域150C、数据传输单元301、302和303、低可靠性域数据传输单元304和305、中等可靠性域数据传输单元306和307、以及域停止恢复单元400,并具有在被通知来自域的恢复请求等时执行与所通知的请求相对应的处理的功能、或者在该请求合理时执行与所通知的请求相对应的处理的功能。
根据本发明第一典型实施方式的信息处理设备可以是通过单处理器的OS的并行处理系统,这使每个域具有的单处理器的OS和现有应用能够在多处理器上运行而无需任何修改,并使现有应用能够实现多处理器的并行处理。
在这种情况下,相比于在单处理器运行应用的情况,能够实现更高速的处理,还可以采用比多处理器中每一个均包括独立OS的并行处理系统更简单的结构,实现并行处理。
最高可靠性域150A对应于上述由图9第二示例和图10第三示例中软件20A和CPU 10A形成的结构、以及由图21第四示例中基本域100A、虚拟CPU 200A和虚拟机监控程序210A形成的结构,并类似于基本域100A,具有基本应用或基本软件。在这些基本应用和基本软件中有诸如邮件箱、浏览器、i-mode(注册商标)和地址簿。
最高可靠性域150A也具有如下功能:通过其自己的CPU和OS,与中等可靠性域150B和低可靠性域150C通信与域中发出的处理请求有关的数据、与控制有关的数据等。
因为最高可靠性域150A执行安全性级别等于或高于固定级别的处理,并与其他域分离设置,例如,由于最高可靠性域150A执行从外部下载的本机代码失败并且它具有最高可靠性,所以对于所有其他域,该域能够从诸如停止状态等故障中恢复。
此外,因为最高可靠性域150A与专用于域通信路径的低可靠性域数据传输单元304和中等可靠性域数据传输单元306连接,而不是最高可靠性域150A与专用于从最高可靠性域150A之外的其他域开始的通信路径的数据传输单元302和303连接,并且到每一个域的通信路径是分离设置的,所以允许只对最高可靠性域150A写入多种数据。
中等可靠性域150B对应于上述由图9第二示例和图10第三示例中软件20B和CPU 10B形成的结构、以及由图21第四示例中可信扩展域100B、虚拟CPU 200B和虚拟机监控程序210B形成的结构。
中等可靠性域150B具有如下功能:通过其自己的CPU和OS,与最高可靠性域150A和低可靠性域150C通信与域中发出的处理请求有关的数据、与控制有关的数据等。
中等可靠性域150B具有安全性级别低于由最高可靠性域150A执行的处理的至少一个处理,并与其他域分离设置,例如,只执行下载的本机代码中保证可信的代码。
低可靠性域150C对应于上述由图9第二示例和图10第三示例中软件20C和CPU 10C形成的结构、以及由图21第四示例中不可信扩展域100C、虚拟CPU 200C和虚拟机监控程序210C形成的结构。
低可靠性域150C具有如下功能:通过其自己的CPU和OS,与最高可靠性域150A和中等可靠性域150B通信与域中发出的处理请求有关的数据、与控制有关的数据等。
低可靠性域150C具有安全性级别低于由中等可靠性域150B执行的处理的至少一个处理,并与其他域分离设置,例如,执行下载的本机代码中除保证可信的代码之外的其他代码。
可以如下所述地形成最高可靠性域150A、中等可靠性域150B和低可靠性域150C。
假设最高可靠性域150A为如下域:具有最高可靠性域150A的安全性级别的每一个执行处理的安全性级别等于或高于中等可靠性域150B的执行处理的安全性级别,包括安全性级别较高的至少一个处理,作为基本域执行处理集合;假设中等可靠性域150B为如下域:具有中等可靠性域150B的安全性级别的每一个执行处理的安全性级别等于或高于低可靠性域150C的执行处理的安全性级别,包括安全性级别较高的至少一个处理,作为每一个域执行处理集合;假设低可靠性域150C为如下域:具有低可靠性域150C的安全性级别的每一个执行处理的安全性级别等于或低于中等可靠性域150B的执行处理的安全性级别,包括安全性级别较低的至少一个处理,作为每一个域执行处理集合。
在这种情况下,最高可靠性域150A执行安全性级别比中等可靠性域150B的安全性级别相对较高的处理,中等可靠性域150B执行安全性级别比低可靠性域150C的安全性级别相对较高的处理。
本发明第一典型实施方式中的可靠性表示基于对应用于每个处理的安全程度进行指示的电子证书、或根据特定安全性政策的安全性级别每一级的一种设置。例如,对于被应用了数字签名的每个处理,基于特定安全性政策设定安全性级别。
图25是示出了功能重要性设置表700的图,示出了本发明第一典型实施方式中可靠性设定的一个示例。
如图25所示,设定可靠性为根据每一级别的重要性的安全性级别,例如,分级地,级别A:需要口令;级别B:无需确认两次;级别C:每次执行时确认;级别D:每次访问时确认。
使用上表,根据要执行的功能向域应用可靠性。具体而言,根据域的故障恢复请求内容的重要性,设定可靠性。
由此,能够实现灵活的恢复处理,例如,允许针对微小故障的恢复请求,而不是始终拒绝来自低可靠性域150C的恢复请求。
虽然可以在一个域中只设置同一种安全性级别,例如,级别A针对最高可靠性域150A,级别B针对中等可靠性域150B,级别C针对低可靠性域150C,但是,例如,如图25所示,能够实现灵活恢复处理的可靠性设置可以是:根据要执行的功能,将等于或高于级别A和等于或高于级别B的级别设置为针对最高可靠性域150A;根据要执行的功能,将等于或高于级别B和等于或高于级别C的级别设置为针对中等可靠性域150B;根据要执行的功能,将等于或高于级别C和等于或高于级别D的级别设置为针对低可靠性域150C。
例如,可以由最高可靠性域150A管理由此设定的可靠性,在这种情况下,最高可靠性域150A的确定能够根据可靠性来定义要执行的功能或处理的优先级。
只要能够进行上述设置,则可以基于任何证书或任何安全性政策设定可靠性,并可以根据要执行的功能或域数目来任意设定可靠性。
数据传输单元301、302和303具有传输与域中发出的处理请求有关的数据、与控制有关的数据等的功能,其结构示例包括共享存储器和处理器间中断、FIFO或队列、双端口存储器、LAN等网络、有线通信、无线电通信等,这些都可以由具有数据传输功能的常用相关技术来实现,只要能够进行数据传输,其结构是不受特别限制的。
通过数据传输单元301、302和303传输的数据包括用于标识发出了处理请求的请求源域的信息、用于标识要处理的域的信息、用于标识处理内容的信息等,依据不同情况,还包括与要处理域的实际故障状况有关的信息。
数据传输单元301、302和303包括用于执行向传输目的地域中的更高层进行错误通知或错误处理的机构(未示出)。这是因为传输目的地域处于恢复处理时的数据传输需要消除无用的等待,直到这种机构完成了数据传输。
对于稍后描述的数据传输单元304a、305a、306a和307a也是如此。
数据传输单元301具有向域停止恢复单元400通知处理请求的功能,该处理请求请求恢复中等可靠性域150B或低可靠性域150C等,并是由最高可靠性域150A发出的。
数据传输单元302具有向最高可靠性域150A通知处理请求的功能,该处理请求请求恢复中等可靠性域150B或低可靠性域150C等,并是由中等可靠性域150B发出的。
数据传输单元303具有向最高可靠性域150A通知处理请求的功能,该处理请求请求恢复中等可靠性域150B或低可靠性域150C等,并是由低可靠性域150C发出的。
低可靠性域数据传输单元304和305分别包括数据传输单元304a和305a以及低可靠性域停止感测单元304b和305b,并具有如下功能:在向作为目标域的低可靠性域150C传输数据时,感测低可靠性域150C实际上具有的故障状况。
中等可靠性域数据传输单元306和307分别包括数据传输单元306a和307a以及中等可靠性域停止感测单元306b和307b,并具有如下功能:在向作为目标域的中等可靠性域150B传输数据时,感测中等可靠性域150B实际上具有的故障状况。
数据传输单元304a、305a、306a和307a的功能与上述数据传输单元301、302和303的功能相同。
低可靠性域停止感测单元304b和305b具有如下功能:在通过数据传输单元304a和305a向低可靠性域150C传输数据时,感测低可靠性域150C是否实际上处于停止状态。
对于感测功能,例如,通过确定作为传输目的地域的低可靠性域150C是否接收到当前数据,感测低可靠性域150C是否处于停止状态。具体而言,通过测量低可靠性域150C接收当前数据中失败的时间或次数,实现感测。为了防止增加最高可靠性域150A和中等可靠性域150B的处理负荷,当前感测处理所需的时间应该尽量地短。
当感测到可靠性域150C处于停止状态时,低可靠性域停止感测单元304b和305b向最高可靠性域150A通知可靠性域150C处于停止状态。
中等可靠性域停止感测单元306b的结构和功能与低可靠性域停止感测单元304b和305b的相同,并具有如下功能:在通过数据传输单元3066向中等可靠性域150B传输数据时,感测中等可靠性域150B是否实际上处于停止状态(感测该域的故障内容)。
对于感测功能,例如,通过确定作为传输目的地域的中等可靠性域150B是否接收到当前数据,感测中等可靠性域150B是否处于停止状态。具体而言,通过测量中等可靠性域150B接收当前数据中失败的时间或次数,实现感测。为了防止增加最高可靠性域150A的处理负荷,当前感测处理所需的时间应该尽量地短。
当确认中等可靠性域150B处于停止状态时,中等可靠性域停止感测单元306b向最高可靠性域150A通知中等可靠性域150B处于停止状态。
如上所述,当被授权允许进行中等可靠性域150B的恢复处理时,中等可靠性域停止感测单元306b可以直接向域停止恢复单元400通知中等可靠性域150B处于停止状态,以使用域停止恢复单元400来执行中等可靠性域150B的恢复处理。
在这种情况下,因为最高可靠性域150A无法执行与允许恢复处理有关的处理,所以可以获得减轻最高可靠性域150A的处理负荷的效果。
另一方面,中等可靠性域停止感测单元307b是用于感测可靠性高于其自身域的域是否停止的单元,具有如下功能:在通过数据传输单元3066向中等可靠性域150B传输数据时,感测中等可靠性域150B是否实际上处于停止状态。
对于感测功能,例如,通过确定作为传输目的地域的中等可靠性域150B是否接收到当前数据,感测中等可靠性域150B是否处于停止状态。具体而言,可以通过测量中等可靠性域150B接收当前数据中失败的时间或次数,来进行确定。因为当前感测处理的时间越短,由低可靠性域150C向最高可靠性域150A通知的信息的真实性的可靠性越低,所以需要为当前感测处理提供较长时间。
当确认中等可靠性域150B处于停止状态时,中等可靠性域停止感测单元307b向最高可靠性域150A通知中等可靠性域150B处于停止状态。
此外,上述每一个域停止单元被允许通过如下所述的方法来感测其停止尚待感测的域是否实际上处于停止状态。
(1)通过对由传输源域向作为停止感测目标的传输目的地域周期性传输的检查分组的响应的存在/不存在进行计数,实现感测。具体而言,对未接收到响应时的时间和次数进行计数。要计数的当前时间和次数可以根据可靠性不同而改变。
(2)通过对由传输目的地域显示的停止/失控(run-away)信息进行计数,实现感测。具体而言,对由传输目的地域周期性更新的信息的停息进行计数。
可以由可靠性高于传输目的地域可靠性的域设置上述时间和次数、更新信息计数频率等。但是,设置的改变不可能超过最低阈值。
上述每一个域停止感测单元可以通过将上述感测处理方式、相关时间、次数、更新信息等进行组合,检查其停止尚待感测的域是否实际上处于停止状态。
邻域停止恢复单元400具有如下功能:执行多种处理请求,包括恢复处理,例如目标域中CPU复位、OS重新引导、该域本身的重新引导、以及对例如月和天等特定时间和日期的环境的回退;或者根据最高可靠性域150A通过数据传输单元301通知的恢复请求等,恢复通信路径和重启动应用。此外,该单元构造为只能是最高可靠性域150A可访问的,以无条件地接受来自最高可靠性域150A的处理请求。
当最高可靠性域150A之外的其他域发出进行恢复处理等请求时,域停止恢复单元400拒绝所有此类请求。
具体而言,可以通过对来自单独域的恢复请求的允许或拒绝,根据该域的可靠性,确定恢复条件。例如,本典型实施方式中的恢复条件定义为允许所有来自最高可靠性域的恢复请求,拒绝所有来自其他域的恢复请求。
图26示出了域停止恢复单元400的结构。
如图26所示,域停止恢复单元400包括恢复请求接收单元401和域停止恢复处理单元402。
恢复请求接收单元401的功能是通过数据传输单元301接收来自最高可靠性域150A的恢复请求(处理请求),以向域停止恢复处理单元402通知该处理请求。
基于恢复请求接收单元401通知的处理请求,域停止恢复处理单元402识别诸如要处理哪一个域和请求哪些处理等处理内容,以要求相关域提供相关处理内容。
例如,在最高可靠性域150A通知的处理请求是用于停止中等可靠性域150B的恢复处理的请求的情况下,域停止恢复处理单元402要求停止中等可靠性域150B,以进行恢复处理。
在通信方面,因为每一层中定义有通信伙伴,所以处理内容根据每一层中感测的故障类型而改变。例如,恢复内容随着每一层中感测的停止状态而改变。
图27示出了通信处理内容(处理内容)与其分层结构之间对应关系的一个示例。
如图27所示,例如,每个域的分层结构从高层开始由应用层、库层、OS层和CPU层依次形成,域停止恢复处理单元402执行与预先确定的每一层相对应的停止感测处理,以执行通信处理(恢复处理)。
通信处理内容(恢复处理内容)包括应用层中应用的再启动、库层中向特定时间点的回退、OS层中OS重新引导、以及CPU层中CPU回退。
因为用于操作第一典型实施方式的信息处理设备的程序需要稳定地实现由上述每一个单元和装置实施的功能,所以优选地在最高可靠性域150A中存储和执行该程序,最高可靠性域150A不会受到从外部下载的附加处理的影响。
这里,将描述根据第一典型实施方式的信息处理设备的硬件结构。
图28是示出了根据第一典型实施方式的信息处理设备的硬件结构的一个示例的方框图。
参照图28,根据第一典型实施方式的信息处理设备可以实现为包括与通用计算机设备相同的硬件结构,即包括:多个CPU(中央处理单元)501;用作数据工作区或数据临时保存区的主存储单元502,作为RAM(随机存取存储器)等主存储器;通信单元503,用于通过互联网600发送和接收数据;呈现单元504,诸如液晶显示器、打印机或扬声器;输入单元505,诸如按键操作单元;接口单元506,与外围设备连接,用于发送和接收数据;辅助存储单元507,作为由ROM(只读存储器)等非易失性存储器、磁盘或半导体存储器形成的硬盘设备;以及系统总线508,将上述本信息处理设备中的每个组件彼此连接。
根据第一典型实施方式的信息处理设备不仅通过安装由诸如LSI(大规模集成)等硬件部分形成的电路部分来作为硬件实现其操作,其中将实现该功能的程序合并到信息处理设备内,而且通过在计算机处理设备上的CPU 501上执行用于提供上述每一个装置和单元的每一个功能的程序,以软件形式实现其操作。
(第一典型实施方式的操作)
(最高可靠性域150A的处理请求)
图29是用于说明图24所示第一典型实施方式的一个操作示例的图,示出了通过最高可靠性域150A的中等可靠性域150B的停止感测恢复处理。在图29中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
首先,假设中等可靠性域150B异常停止,作为初始状态。
步骤1:最高可靠性域150A通过具有中等可靠性域停止感测功能的数据传输单元306A的数据传输单元306a向中等可靠性域150B发送数据。
步骤2:具有中等可靠性域停止感测功能的数据传输单元306的中等可靠性域停止感测单元306b感测中等可靠性域150B的停止。
步骤3:当中等可靠性域停止感测单元306b感测到中等可靠性域150B停止时,最高可靠性域150A通过数据传输单元301请求域停止恢复单元400恢复中等可靠性域150B。
步骤4:基于来自最高可靠性域150A的恢复请求,域停止恢复单元400恢复中等可靠性域150B。
图30是用于说明图24所示第一典型实施方式的一个操作示例的图,示出了通过最高可靠性域150A的低可靠性域150C的停止感测恢复处理。在图30中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
首先,假设低可靠性域150C异常停止,作为初始状态。
步骤1:最高可靠性域150A通过具有低可靠性域停止感测功能的数据传输单元304的数据传输单元304a向低可靠性域150C发送数据。
步骤2:具有低可靠性域停止感测功能的数据传输单元304的低可靠性域停止感测单元304b感测低可靠性域150C的停止。
步骤3:当低可靠性域停止感测单元304b感测到低可靠性域150C停止时,最高可靠性域150A通过数据传输单元301请求域停止恢复单元400恢复低可靠性域150C。
步骤4:基于来自最高可靠性域150A的恢复请求,域停止恢复单元400恢复低可靠性域150C。
(中等可靠性域150B的处理请求)
图31是用于说明图24所示第一典型实施方式的一个操作示例的图,示出了通过中等可靠性域150B的低可靠性域150C的停止感测恢复处理。在图31中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
首先,假设低可靠性域150C异常停止,作为初始状态。
步骤1:中等可靠性域150B通过具有低可靠性域停止感测功能的数据传输单元305的数据传输单元305a向低可靠性域150C发送数据。
步骤2:具有低可靠性域停止感测功能的数据传输单元305的低可靠性域停止感测单元305b感测低可靠性域150C的停止。
步骤3:当低可靠性域停止感测单元305b感测到低可靠性域150C停止时,中等可靠性域150B通过数据传输单元302请求最高可靠性域150A恢复低可靠性域150C。
步骤4:最高可靠性域150A通过数据传输单元301请求域停止恢复单元400恢复低可靠性域150C。
步骤5:基于来自最高可靠性域150A的恢复请求,域停止恢复单元400恢复低可靠性域150C。
在步骤3与4之间,为了确认上述请求被恢复的低可靠性域150C确实停止,最高可靠性域150A可以通过使用具有低可靠性域停止感测功能的数据传输单元304,感测停止存在/不存在。
备选地,在步骤4与5之间,为了确认上述请求被恢复的低可靠性域150C确实停止,域停止恢复单元400可以通过使用具有低可靠性域停止感测功能的数据传输单元304,感测停止存在/不存在。
(低可靠性域150C的处理请求)
图32是用于说明图24所示第一典型实施方式的一个操作示例的图,示出了通过低可靠性域150C的中等可靠性域150B的停止感测恢复处理。在图32中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
首先,假设中等可靠性域150B异常停止,作为初始状态。
步骤1:低可靠性域150C通过具有中等可靠性域停止感测功能的数据传输单元307的数据传输单元307a向中等可靠性域150B发送数据。
步骤2:具有中等可靠性域停止感测功能的数据传输单元307的中等可靠性域停止感测单元307b感测中等可靠性域150B的停止。
步骤3:当中等可靠性域停止感测单元307b感测到中等可靠性域150B停止时,低可靠性域150C通过数据传输单元303请求最高可靠性域150A恢复中等可靠性域150B。
步骤4:因为作为恢复请求源域的低可靠性域150C的可靠性低于作为恢复目标域的中等可靠性域150B的可靠性,并且该可靠性较低,所以为了确认恢复请求的目标或内容的真实性,最高可靠性域150A通过具有中等可靠性域停止感测功能的数据传输单元306的中等可靠性域停止感测单元306b向中等可靠性域150B发送数据。
步骤5:具有中等可靠性域停止感测功能的数据传输单元306的中等可靠性域停止感测单元306b感测中等可靠性域150B的停止,以确认中等可靠性域150B确实停止。
步骤6:当确认了中等可靠性域150B确实停止时,最高可靠性域150A通过数据传输单元301请求域停止恢复单元400恢复中等可靠性域150B。
步骤7:基于来自最高可靠性域150A的恢复请求,域停止恢复单元400恢复中等可靠性域150B。
在步骤4到步骤6中,如果最高可靠性域150A未执行相关确认处理,则域停止恢复单元400可以在步骤6和7之间通过使用具有中等可靠性域停止感测功能的数据传输单元306,感测停止存在/不存在,以确认上述请求被恢复的中等可靠性域150B确实停止。
(相同可靠性域的处理请求)
图33是用于说明图24所示第一典型实施方式的一个操作示例的图,示出了通过中等可靠性域150B的其他可靠性域的停止感测恢复处理,作为相同可靠性域中停止感测恢复处理的示例。在图33中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
首先,假设中等可靠性域150B的组中至少有一个中等可靠性域150B异常停止,作为初始状态。
步骤1:其他未停止的中等可靠性域150B向中等可靠性域150B组中的上述中等可靠性域150B发送数据。
步骤2:感测作为数据传输目的地的上述中等可靠性域150B的停止。相同可靠性域中的停止感测处理与在未设置可靠性的域之中的同一域中的停止感测处理一样。因此,由于这种停止感测处理是常用技术,所以不对其进行描述。
步骤3:当感测到作为数据传输目的地的上述中等可靠性域150B停止时,作为数据传输源的中等可靠性域150B通过数据传输单元302请求最高可靠性域150A恢复上述处于停止状态的中等可靠性域150B。
步骤4:最高可靠性域150A通过数据传输单元301请求域停止恢复单元400恢复上述处于停止状态的中等可靠性域150B。
步骤5:域停止恢复单元400基于来自最高可靠性域150A的恢复请求,恢复上述处于停止状态的中等可靠性域150B。
在步骤3与4之间,为了确认上述请求被恢复的处于停止状态的中等可靠性域150B确实停止,最高可靠性域150A可以通过使用具有中等可靠性域停止感测功能的数据传输单元306,感测停止存在/不存在。
备选地,在步骤4与5之间,为了确认上述请求被恢复的处于停止状态的中等可靠性域150B确实停止,域停止恢复单元400可以通过使用具有中等可靠性域停止感测功能的数据传输单元306,感测停止存在/不存在。
(第一典型实施方式的有益效果)
根据本发明第一典型实施方式,因为基于可靠性将每个域分离开来,所以具有邮件箱或浏览器等基本处理的最高可靠性域150A不会受到来自最高可靠性域150A之外的其他域的攻击的影响,即使当最高可靠性域150A之外的其他域停止时,信息处理设备的邮件箱或浏览器等基本处理也不会冻结。换言之,因为不会从可靠性较低的域接受诸如包含病毒的恶意处理请求或对错误恢复的处理请求,所以可以防止信息处理设备的基本处理被冻结。
此外,因为最高可靠性域150A与专用于域通信路径的低可靠性域数据传输单元304和中等可靠性域数据传输单元306连接,而不是最高可靠性域150A与专用于从最高可靠性域150A之外的其他域开始的通信路径的数据传输单元302和303连接,并且设置有到每一个域的通信路径,所以允许只对最高可靠性域150A写入多种数据,消除了对各个域之间互斥控制的需要。
此外,因为可以通过域停止恢复单元恢复最高可靠性域150A之外的、发生停止等类似错误的其他域,所以可以确保最高可靠性域150A的安全性,同时能够实现信息处理设备的连续操作。
此外,通过监视定时器(watchdog timer)等的自发性域恢复的问题在于,因为不清楚用于恢复数据传输目的地域所需的时间,所以处理错误会导致性能下降,引起无法启动自发性域恢复的情况发生,而根据本发明第一典型实施方式,在向中等可靠性域150B或低可靠性域150C传输数据时,允许最高可靠性域150A利用低可靠性域数据传输单元304和中等可靠性域数据传输单元306来感测这些域中发生的故障,所以能够在数据传输时恢复这些故障,避免上述问题。
此外,因为最高可靠性域150A包括两种停止感测单元,即低可靠性域停止感测单元304和中等可靠性域停止感测单元,所以可以分散通过最高可靠性域150A的停止感测处理,从而提高速度。
此外,因为允许最高可靠性域150A基于可靠性优先级,通过其自身确定来执行恢复处理,所以能够实现信息处理设备的适当恢复,例如以必要功能开始的优先恢复。例如,即使在向发生错误的域同时发出多个恢复请求时,也能够基于作为恢复请求的请求源的域的可靠性,或者基于由恢复请求指示的处理内容的可靠性优先级,进行灵活和有效的恢复处理。也可以抑制不必要恢复处理的产生或执行最少量的必要恢复处理。
(第二典型实施方式)
第二典型实施方式对应于图24所示的第一典型实施方式,其采用与第一典型实施方式相同的结构,但是具有如下不同:域停止恢复单元400具有停止确认单元403,用于接收在多种域中发出的请求。
下面,将主要描述与上述第一典型实施方式的不同之处,并不再描述与第一典型实施方式共有的组件。
(第二典型实施方式的结构)
图34是示出了根据第二典型实施方式的域停止恢复单元400的结构图。
如图34所示,根据第二典型实施方式的域停止恢复单元400与第一典型实施方式的不同之处在于具有停止确认单元403。
停止确认单元403具有如下功能:通过恢复请求接收单元401,从由多种域通知的信息中获得用于标识发出了恢复请求(处理请求)的请求源域的信息、用于标识要处理的域的信息、用于标识处理内容等的信息,并使用低可靠性域停止感测单元304和中等可靠性域停止感测单元306来感测要处理的域的实际故障状况,以确认获得的处理内容的真实性。
当由此确认了获得的处理内容是真实的时,停止确认单元403向域停止恢复处理单元402通知从多种域通知的信息,以请求处理。
当被停止确认单元请求进行处理时,域停止恢复处理单元402基于由停止确认单元403通知的信息,要求要处理的域中的预定单元进行恢复等处理。
在第二典型实施方式中,域停止恢复单元400具有的停止确认单元403可以包括低可靠性域停止感测单元304和中等可靠性域停止感测单元306,备选地,停止确认单元403可以设置在域停止恢复单元400外部,以基于从多种域通知的信息来执行上述感测处理,并向域停止恢复单元400中的域停止恢复处理单元402发出处理请求。
(第二典型实施方式的操作)
(中等可靠性域150B的处理请求)
图35是用于说明当图24所示第一典型实施方式包括图34所示的域停止恢复单元400时执行的一个操作示例的图,示出了通过中等可靠性域150B的低可靠性域150C的停止感测恢复处理。在图35中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
这与图24所示的第一典型实施方式的不同之处在于,中等可靠性域150B通过数据传输单元302请求域停止恢复单元400恢复低可靠性域150C。
首先,假设低可靠性域150C异常停止,作为初始状态,并且允许中等可靠性域150B使用域停止恢复单元400或具有使用域停止恢复单元400的授权。
步骤1:中等可靠性域150B通过具有低可靠性域停止感测功能的数据传输单元305的数据传输单元305a向低可靠性域150C发送数据。
步骤2:具有低可靠性域停止感测功能的数据传输单元305的低可靠性域停止感测单元305b感测低可靠性域150C的停止。
步骤3:当低可靠性域停止感测单元305b感测到低可靠性域150C停止时,被允许使用域停止恢复单元400的中等可靠性域150B通过数据传输单元302请求域停止恢复单元400恢复低可靠性域150C。
步骤4:基于来自中等可靠性域150B的恢复请求,域停止恢复单元400恢复低可靠性域150C。
在步骤3与4之间,为了确认上述请求被恢复的低可靠性域150C确实停止,域停止恢复单元400可以通过使用具有低可靠性域停止感测功能的数据传输单元304,感测停止存在/不存在。
备选地,理论上,为了确认上述请求被恢复的低可靠性域150C确实停止等故障,在步骤3和4之间,域停止恢复单元400可以通过使用具有低可靠性域停止感测功能的数据传输单元304,感测停止存在/不存在,并且在中等可靠性域150B发出恢复请求时,基于可靠性设置,不再感测上述停止等故障的存在/不存在。
(低可靠性域150C的处理请求)
图36是用于说明当图24所示第一典型实施方式包括图34所示的域停止恢复单元400时执行的一个操作示例的图,示出了通过低可靠性域150C的中等可靠性域150B的停止感测恢复处理。在图36中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
这与图24所示的第一典型实施方式的不同之处在于:低可靠性域150C通过数据传输单元303请求域停止恢复单元400恢复中等可靠性域150B,域停止恢复单元400通过使用具有中等可靠性域停止感测功能的数据传输单元307,感测到中等可靠性域150B的数据传输和中等可靠性域150B的停止。
首先,假设中等可靠性域150B异常停止,作为初始状态,并且允许低可靠性域150C使用域停止恢复单元400或具有使用域停止恢复单元400的授权。
步骤1:低可靠性域150C通过具有中等可靠性域停止感测功能的数据传输单元307的数据传输单元307a向中等可靠性域150B发送数据。
步骤2:具有中等可靠性域停止感测功能的数据传输单元307的低可靠性域停止感测单元307b感测中等可靠性域150B的停止。
步骤3:当中等可靠性域停止感测单元307b感测到低可靠性域150C停止时,低可靠性域150C通过数据传输单元303请求域停止恢复单元400恢复中等可靠性域150B。
步骤4:因为作为恢复请求源域的低可靠性域150C的可靠性低于作为恢复目标域的中等可靠性域150B的可靠性,并且该可靠性较低,所以为了确认恢复请求的目标或内容的真实性,域停止恢复单元400通过具有中等可靠性域停止感测功能的数据传输单元306的数据传输单元306a向中等可靠性域150B发送数据。
步骤5:当具有中等可靠性域停止感测功能的、数据传输单元306的中等可靠性域停止感测单元306b感测到中等可靠性域150B的停止时,域停止恢复单元400确认中等可靠性域150B确实停止。
步骤6:当确认了中等可靠性域150B确实停止时,域停止恢复单元400基于来自低可靠性域150C的恢复请求,恢复中等可靠性域150B。
(相同可靠性域的处理请求)
图37是用于说明当图24所示第一典型实施方式包括图34所示的域停止恢复单元400时执行的一个操作示例的图,示出了通过中等可靠性域150B的其他可靠性域的停止感测恢复处理,作为相同可靠性域中停止感测恢复处理的示例。在图37中,每个箭头所附的数字代表步骤编号,在这些步骤中,在相关线上传送信息。
这与图24所示的第一典型实施方式的不同之处在于,中等可靠性域150B通过数据传输单元302请求域停止恢复单元400恢复其他中等可靠性域150B。
首先,假设中等可靠性域150B的组中至少有一个中等可靠性域150B被允许使用域停止恢复单元400或具有使用域停止恢复单元400的授权,作为初始状态。
步骤1:其他未停止的中等可靠性域150B向中等可靠性域150B组中的上述中等可靠性域150B发送数据。
步骤2:感测作为数据传输目的地的上述中等可靠性域150B的停止。
步骤3:当感测到作为数据传输目的地的上述中等可靠性域150B停止时,被允许使用域停止恢复单元400的、作为数据传输源的中等可靠性域1 50B通过数据传输单元302请求域停止恢复单元400恢复上述处于停止状态的中等可靠性域150B。
步骤5:域停止恢复单元400基于来自作为当前数据传输源的最高可靠性域150A的恢复请求,恢复上述处于停止状态的中等可靠性域150B。
在步骤3与4之间,为了确认上述请求被恢复的中等可靠性域150B确实停止,域停止恢复单元400可以通过使用具有中等可靠性域停止感测功能的数据传输单元306,感测停止存在/不存在。
(第二典型实施方式的有益效果)
根据第二典型实施方式,停止确认单元403基于由多种域通知的信息,执行上述感测处理。因此,即使当中等可靠性域150B或低可靠性域150C向最高可靠性域150A通知处理请求时,也无需感测要处理的域的实际故障状况和确认处理内容的真实性,从而可以减轻最高可靠性域150A的处理负荷。
(第三典型实施方式)
第三典型实施方式对应于图24所示的第一典型实施方式,其采用与第一典型实施方式相同的结构,但是具有如下不同:域停止恢复单元400具有恢复处理控制单元404,用于接收由多种域发出的请求。
下面,将主要描述与上述第一典型实施方式的不同之处。
(第三典型实施方式的结构)
图38是示出了根据第三典型实施方式的域停止恢复单元400的结构图。
如图38所示,根据第三典型实施方式的域停止恢复单元400与第一典型实施方式的不同之处在于:具有恢复处理控制单元404。
恢复处理控制单元404具有与图4所示访问控制单元30相同的结构和功能,包括存储有恢复处理允许数据404a和恢复处理允许单元404b的存储单元,并具有确定是否允许通过恢复请求接收单元401从最高可靠性域150A之外的其他域通知处理请求的功能。
此外,当被通知了处理请求时,恢复处理控制单元404只向域停止恢复单元400通知所允许的处理请求。
这里,对于从每一域接收的恢复请求(处理请求),恢复请求接收单元401向域停止恢复处理单元402通知从最高可靠性域150A接收的恢复请求(处理请求),并向恢复处理允许单元404b通知从最高可靠性域150A之外的其他域接收的恢复请求(处理请求)。
恢复处理控制单元404执行控制,以仅允许最高可靠性域150A之外的其他域中具有要求的低安全性级别的域向预先允许的域发出预先允许形式的处理请求。
恢复处理允许数据404a是由最高可靠性域150A预先设定的数据,其中将从最高可靠性域150A之外的其他域通知的处理请求和预定处理内容与预定域彼此相关,可以从最高可靠性域150A读取或向其最高可靠性域150A写入该数据。只允许从恢复处理允许单元404b进行读取。此外,不允许从最高可靠性域150A之外的其他域进行读写。换言之,恢复处理允许数据404a与最高可靠性域150A之外的其他域不存在数据总线。
图39示出了恢复处理允许数据404a的内容的一个示例。
如图39所示,对于作为请求恢复端域的特定请求源域,恢复处理允许数据404a定义作为恢复处理目标的恢复目的地域及其恢复方法。
在请求源域是域#1的情况下,不定义任何恢复目的地域和恢复方法。
在请求源域是域#2的情况下,只定义域#1为恢复目的地域,只定义OS重新引导为恢复方法。
在请求源域是域#3的情况下,只定义域#2为恢复目的地域,定义复位和回退为恢复方法。
恢复处理允许单元404b具有如下功能:当通过恢复请求接收单元接收到来自最高可靠性域150A之外的其他域的处理请求时,参考恢复处理允许数据404a的请求源域、恢复目的地域和恢复方法,以确定该处理请求是否相关,当该请求是被允许的处理请求时,向域停止恢复单元400发出处理请求。另一方面,当确定为不允许时,恢复处理允许单元404b不向域停止恢复单元400发出处理请求。
换言之,除了如第一典型实施方式所述的根据域可靠性允许或拒绝来自单独域的恢复请求,还可以根据恢复目的地域和恢复处理等处理内容来确定恢复条件。例如,除了第一典型实施方式中用于拒绝来自域#1的所有恢复请求的条件设置,作为本典型实施方式的恢复条件,还可以定义根据每个恢复目的地域和处理内容,部分地允许来自域#2和域#3的恢复请求。因此,特征在于能够实现精细的恢复条件设置。
(第三实施方式的操作)
图40是用于说明恢复处理控制单元404的一个操作示例的图。在图40中,箭头旁边的数字表示步骤编号。
首先,最高可靠性域150A定义恢复处理允许数据404a的内容,作为初始设置。
步骤1:假设最高可靠性域150A之外的其他域发出与恢复处理允许数据404a不相符合的处理请求。
步骤2:恢复处理控制单元404b通过获得该处理请求,读取恢复处理允许数据404a,以确定是否允许该处理请求。
步骤3:恢复处理允许单元404b向最高可靠性域150A之外的其他域返回错误。这是因为该处理请求不符合读取恢复处理允许数据404a。
步骤4:最高可靠性域150A之外的其他域发出不同于上述处理请求的其他处理请求。
步骤5:恢复处理允许单元404b通过获得该处理请求来读取恢复处理允许数据404a,以确定是否允许该处理请求。
步骤6:当允许来自最高可靠性域150A之外的其他域的该处理请求时,恢复处理允许单元404b向域停止恢复处理单元402发出处理请求。
虽然相对于基于恢复处理允许数据404a来控制处理请求的示例描述了第三典型实施方式,作为恢复处理控制单元404的结构,并且恢复处理允许数据404a包括恢复处理允许单元404b,但是本发明不限于上述结构,可以设置恢复处理拒绝数据和恢复处理拒绝单元,取代恢复处理允许数据(反转)。在这种情况下,当来自最高可靠性域150A之外的其他域的处理请求符合所有预定请求源域或任一预定请求源域中的预定条件,并且在预定请求源域中由恢复处理拒绝数据、恢复拒绝目的地域和恢复方法定义对恢复处理的拒绝时,恢复处理拒绝单元执行控制,拒绝当前处理请求。
(第三典型实施方式的有益效果)
因为根据本发明第三典型实施方式,恢复处理控制单元404的恢复处理允许单元404b基于恢复处理允许数据404a执行控制,只允许至预先允许的域并具有预先允许的形式的处理请求,所以可以阻止由最高可靠性域150A之外的其他域通过下载等从外部获得的附加处理对要求高安全性级别的最高可靠性域150A的多种攻击。
此外,恢复处理控制单元404分散了域停止恢复单元400的恢复处理,以加速恢复处理。
作为第三典型实施方式的变化示例,恢复处理允许单元404b可以包括高速缓存。在这种情况下,用于确定允许/不允许处理请求的恢复处理允许数据404a存储在高速缓存中,以在确定允许/不允许随后的处理请求中,确定高速缓存在是否存在该相关处理请求的恢复处理允许数据404a,并在高速缓存击中的情况下,加快对允许/不允许处理请求的确定速度。
(第四典型实施方式)
第四典型实施方式对应于图24所示的第一典型实施方式,其采用与第一典型实施方式相同的结构,但是具有如下不同:域停止恢复单元400具有停止确定单元403和恢复处理控制单元404。
下面,将主要描述与上述第一典型实施方式的不同之处。
图41是示出了根据第四典型实施方式的域停止恢复单元400的结构图。
如图41所示,根据第四典型实施方式的域停止恢复单元400与第一典型实施方式的不同之处在于具有停止确定单元403和恢复处理控制单元404。
这里,因为停止确定单元403的结构与第二典型实施方式中的停止确定单元403的结构相同,并且恢复处理控制单元404的结构与第三典型实施方式中的恢复处理控制单元404的结构相同,所以不再对其进行描述。
(第四典型实施方式的操作)
在根据第四典型实施方式的域停止恢复单元400中,类似于第三典型实施方式,恢复处理控制单元404确定允许或不允许来自最高可靠性域150A之外的其他域的处理请求,并且类似于第二典型实施方式,停止确定单元403获得被恢复处理控制单元404允许的处理请求,确认与获得的处理请求有关的处理内容的真实性,并在确认其真实时,向域停止恢复处理单元402通知所获得的处理请求的有关信息。
(第四典型实施方式的有益效果)
根据本发明的第四典型实施方式,因为恢复处理控制单元404的恢复处理允许单元404b基于恢复处理允许数据404a执行控制,只允许至预先允许的域并具有预先允许的形式的处理请求,所以可以阻止由最高可靠性域150A之外的其他域通过下载等从外部获得的附加处理对要求高安全性级别的最高可靠性域150A的多种攻击,从增强了最高可靠性域150A的安全性。
此外,因为恢复处理控制单元404分散了域停止恢复单元400的恢复处理,所以可以加速恢复处理。
此外,停止确定单元403基于与恢复处理控制单元404允许的处理请求有关的信息,执行上述感测处理。因此,即使当中等可靠性域150B或低可靠性域150C向最高可靠性域150A通知处理请求时,也无需感测要处理的域的实际故障状况和确认处理内容的真实性,从而可以减轻最高可靠性域150A的处理负荷,并在确保最高可靠性域150A的安全性的同时,适当恢复域中实际发生的故障。
虽然相对于上述多个优选的典型实施方式描述了本发明,但是本发明不限于上述典型实施方式,而可以在其技术构思范围内作出改变。
例如,虽然相对于由例如三个域形成的信息处理设备描述了本典型实施方式,但是域数目不限于三个,而可以是两个或不少于四个,只要如本典型实施方式中所述的一样将各个域分离开来。
此外,例如,相对于将恢复处理控制单元404设置在域停止恢复单元400中的结构,描述了本典型实施方式,而恢复处理控制单元404的位置不限于在域停止恢复单元400内,而可以在域停止恢复单元400外部、最高可靠性域150A内或多个位置处。当恢复处理控制单元404设置在最高可靠性域150A中时,最高可靠性域150A可以确定是否允许来自最高可靠性域150A内之外的其他域的处理请求,并向域停止恢复处理单元402通知所允许的处理请求的信息。
根据本发明典型实施方式,可以获得以下有益效果。
第一效果是在恢复请求满足预先设定的恢复条件时,恢复每个域中发生的故障。
这是因为,根据要执行的处理内容设置多个处理器,以形成多个域,不同域中的处理器通过通信单元彼此通信,以基于从域通知的故障恢复请求和针对每个域预先设定的恢复条件,对发生错误的域执行故障恢复处理,所以对于每个域中发生的每个故障,可以响应于满足预先设置的恢复条件的恢复请求,恢复故障。
第二效果在于,可以根据与其他域不同的恢复条件来恢复多个域中的预定域。
这是因为多个域是由根据要执行的处理内容而分离的特定域和其他域形成的,基于从特定域或其他域通知的故障恢复请求和针对各个特定域和其他域而预先设定的恢复条件,对发生错误的域执行故障恢复处理。因为多个域是由根据要执行的处理内容而分离的特定域和其他域形成的,所以基于从特定域或其他域通知的故障恢复请求和针对各个特定域和其他域而预先设定的恢复条件,对发生错误的域执行故障恢复处理,可以根据不同恢复条件恢复特定域和其他域。
第三效果是可以确保用于执行安全级别高于特定固定级别的处理的域的安全性。
原因在于,特定域是用于执行安全级别高于特定固定级别的处理的域,其他域是具有安全性级别低于特定域中执行的处理的至少一个处理的域,特定域通过经由通信单元至其他域的数据传输,感测其他域中的故障,以向恢复单元发出故障恢复请求。因此,用于执行安全级别高于特定固定级别的处理的特定域、以及具有安全性级别低于特定域中执行的处理的至少一个处理的其他域是彼此分离地形成的,检测到其他域中发生的故障并且用于执行安全级别高于特定固定级别的处理的特定域通过恢复单元,恢复具有安全性级别低于特定域中执行的处理的至少一个处理的其他域。
第四效果是提高了信息处理设备的可用性。
原因在于,安全性得到保证并且用于执行安全级别高于特定固定级别的处理的域检测具有安全性级别低于特定域中执行的处理的至少一个处理的其他域中发生的故障,以通过恢复单元恢复故障。
第五效果是可以确保的预定安全性级别,恢复每个域中发生的故障。
原因在于,恢复条件是基于来自域的故障恢复请求中指示的针对每个处理内容而设定的安全性级别来定义的,恢复单元基于从发生错误的域通知的故障恢复请求和恢复条件,对该域执行故障恢复处理。因此,接受满足恢复条件的恢复请求,恢复条件是基于针对每个处理内容设定的安全性级别而定义的。
虽然参照典型实施方式具体示出并描述了本发明,但是本发明不限于这些实施方式。本域普通技术人员将理解,在背离由权利要求限定的本发明精神和范围的前提下,可以进行形式和细节上的多种修改。
Claims (33)
1.一种信息处理设备,包括多个处理器,其中
所述多个处理器根据要执行的处理内容,形成多个域;以及
不同域中的处理器通过通信单元彼此通信;
所述信息处理设备还包括恢复单元,用于针对发生错误的域,基于由所述域通知的故障恢复请求和为每个所述域预先设定的恢复条件,执行故障恢复处理,
所述信息处理设备,根据要执行的处理内容,将所述多个域分离地构造为指定域和其他域,
所述恢复单元,针对发生错误的域,根据由所述特定域或所述其他域通知的故障恢复请求和为所述特定域和所述其他域中每一个而预先设定的恢复条件,执行故障恢复处理,
所述特定域是执行安全性级别等于或高于某固定安全级别的处理的域,所述其他域是具有至少一个处理的域,所述至少一个处理的安全性级别低于所述特定域中执行的处理的安全性级别,
所述特定域通过经由所述通信单元至所述其他域的数据传输,感测所述其他域中的故障,以向所述恢复单元发出所述故障的恢复请求。
2.根据权利要求1所述的信息处理设备,其中
所述其他域感测任何所述其他域中的故障,以向所述特定域通知所述其他域的故障恢复请求。
3.根据权利要求1所述的信息处理设备,其中
根据在预定时间段或预定次数内是否有来自作为所述数据传输的目的地的域的响应,执行通过数据传输的故障感测,
所述特定域是执行基本处理的域,所述基本处理作为所述安全性级别等于或高于固定安全性级别的处理,以及
对于所述特定域通过至所述其他域的数据传输的故障感测,设定比所述预定时间段短的时间段,或者设定比所述预定次数少的次数。
4.根据权利要求1所述的信息处理设备,其中
所述其他域感测任何所述其他域中的故障,以向所述特定域通知所述其他域的故障恢复请求,以及
所述特定域向所述恢复单元发出所述故障的恢复请求。
5.根据权利要求1所述的信息处理设备,其中
所述其他域感测任何所述其他域中的故障,以向所述恢复单元发出所述故障的恢复请求,而不通过所述特定域,以及
针对发生错误的所述其他域,所述恢复单元基于由所述其他域通知的所述故障的恢复请求和为每个所述其他域预先设定的恢复条件,执行故障恢复处理。
6.根据权利要求1所述的信息处理设备,其中
根据针对每个处理内容设定的安全性级别,定义所述恢复条件,其中所述每个处理内容是在来自所述域的故障恢复请求中指示的,以及
针对发生错误的域,所述恢复单元基于由所述域通知的故障恢复请求和所述恢复条件,执行故障恢复处理。
7.根据权利要求4所述的信息处理设备,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述第一域通过经由所述通信单元至所述第二域的数据传输,感测所述第二域中的故障,以向所述特定域通知所述第二域故障的恢复请求;以及
所述特定域向所述恢复单元发出所述故障的恢复请求。
8.根据权利要求5所述的信息处理设备,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述第一域通过经由所述通信单元至所述第二域的数据传输,感测所述第二域中的故障,以向所述恢复单元通知所述第二域故障的恢复请求,而不通过所述特定域;以及
针对发生错误的所述第二域,所述恢复单元基于由所述第一域通知的所述故障的恢复请求和为每个所述其他域预先设定的恢复条件,执行故障恢复处理。
9.根据权利要求2所述的信息处理设备,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述第二域通过经由所述通信单元至所述第一域的数据传输,感测所述第一域中的故障,以向所述特定域通知所述第一域故障的恢复请求;以及
所述特定域通过经由所述通信单元至所述第一域的数据传输,感测所述第一域的故障,以向所述恢复单元发出所述故障的恢复请求。
10.根据权利要求5所述的信息处理设备,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述第二域通过经由所述通信单元至所述第一域的数据传输,感测所述第一域中的故障,以向所述恢复单元通知所述第一域故障的恢复请求,而不通过所述特定域;以及
所述恢复单元通过经由所述通信单元至所述第一域的数据传输,感测所述第一域的故障,以针对发生错误的所述第一域,并基于由所述第二域通知的所述故障的恢复请求和为每个所述其他域预先设定的恢复条件,执行故障恢复处理。
11.根据权利要求9所述的信息处理设备,其中
根据在预定时间段或预定次数内是否有来自作为所述数据传输的目的地的域的响应,执行通过数据传输的故障感测;以及
对于所述第二域通过至所述第一域的数据传输的故障感测,设定比所述预定时间段长的时间段,或者设定比所述预定次数多的次数。
12.根据权利要求1所述的信息处理设备,其中
所述恢复单元无条件地接受来自所述特定域的恢复请求,并拒绝来自所述其他域的恢复请求。
13.根据权利要求1所述的信息处理设备,其中
当被通知来自所述域的故障恢复请求时,所述恢复单元通过至待恢复域的数据传输,感测所述待恢复域中的故障,以针对发生故障的所述域,基于所述故障恢复请求和所述恢复条件,执行故障恢复处理。
14.根据权利要求1所述的信息处理设备,其中所述恢复单元
包括确定单元,用于确定是否允许由所述域通知的故障恢复请求,以及
基于由所述确定单元允许的恢复请求,执行针对发生错误的域的故障恢复处理。
15.根据权利要求14所述的信息处理设备,其中所述确定单元
包括有关故障恢复的数据,所述数据是针对每个所述域设定的,以及
基于由所述域通知的故障恢复请求和所述数据,确定是否允许所述故障恢复请求。
16.根据权利要求15所述的信息处理设备,其中所述数据是基于为每个处理内容设定的安全性级别而设定的,所述处理内容由来自所述域的故障恢复请求指示。
17.根据权利要求1所述的信息处理设备,其中所述恢复单元
包括确定单元,用于确定是否允许由所述域通知的故障恢复请求,以及
基于由所述确定单元允许的恢复请求,通过至待恢复域的数据传输,感测所述待恢复域中的故障,以针对发生故障的所述域,执行故障恢复处理。
18.一种恢复方法,用于恢复由多个处理器形成的信息处理设备的处理功能,其中
所述多个处理器根据要执行的处理内容形成多个域;以及
不同域中的处理器通过通信步骤进行通信,
所述恢复方法包括恢复步骤:针对发生错误的域,基于由所述域通知的故障恢复请求和为每个域预先设定的恢复条件,由所述信息处理设备上的恢复单元执行故障恢复处理,
所述信息处理设备,根据要执行的处理内容,将所述多个域分离地构造为指定域和其他域,
在所述恢复步骤,针对发生错误的域,根据由所述特定域或所述其他域通知的故障恢复请求和为所述特定域和所述其他域中每一个而预先设定的恢复条件,执行故障恢复处理,
所述特定域是执行安全性级别等于或高于某固定安全级别的处理的域,所述其他域是具有至少一个处理的域,所述至少一个处理的安全性级别低于所述特定域中执行的处理的安全性级别,
所述恢复方法包括:
感测步骤,所述特定域通过经由所述通信步骤至所述其他域的数据传输,感测所述其他域中的故障;以及
步骤,所述特定域向所述恢复单元发出在所述感测步骤感测到的所述故障的恢复请求。
19.根据权利要求18所述的恢复方法,其中
所述恢复方法包括:
感测步骤,所述其他域感测任何所述其他域中的故障;
通知步骤,所述其他域向所述特定域通知所述其他域在所述感测步骤感测到的故障的恢复请求;以及
感测步骤,所述特定域通过经由所述通信步骤至所述其他域的数据传输,感测所述其他域中的故障。
20.根据权利要求18所述的恢复方法,包括:
步骤,根据在预定时间段或预定次数内是否有来自作为所述数据传输的目的地的域的响应,执行通过数据传输的故障感测;其中
所述特定域是执行基本处理的域,所述基本处理作为所述安全性级别等于或高于固定安全性级别的处理,以及
在所述步骤,当所述特定域通过至所述其他域的数据传输感测到故障时,设定比所述预定时间段短的时间段,或者设定比所述预定次数少的次数。
21.根据权利要求18所述的恢复方法,其中
所述恢复方法包括:
感测步骤,所述其他域感测任何所述其他域中的故障;
通知步骤,所述其他域向所述特定域通知在所述感测步骤感测到的所述其他域的故障的恢复请求;以及
步骤,所述特定域向所述恢复单元发出在所述通知步骤通知的所述故障的恢复请求。
22.根据权利要求18所述的恢复方法,其中
所述恢复方法包括:
感测步骤,所述其他域感测任何所述其他域中的故障;以及
步骤,所述其他域向所述恢复单元发出在所述感测步骤感测到的所述故障的恢复请求而不通过所述特定域的步骤,其中
在所述恢复步骤,针对发生错误的所述其他域,基于由所述其他域通知的所述故障的恢复请求和为每个所述其他域预先设定的恢复条件,执行故障恢复处理。
23.根据权利要求18所述的恢复方法,其中
根据针对每个处理内容设定的安全性级别,定义所述恢复条件,其中所述每个处理内容是在来自所述域的故障恢复请求中指示的,以及
在所述恢复步骤,针对发生错误的域,基于由所述域通知的故障恢复请求和所述恢复条件,执行故障恢复处理。
24.根据权利要求21所述的恢复方法,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述恢复方法包括:
感测步骤,所述第一域通过经由所述通信步骤至所述第二域的数据传输,感测所述第二域中的故障;
通知步骤,所述第一域向所述特定域通知在所述感测步骤感测到的所述第二域故障的恢复请求;以及
步骤,所述特定域向所述恢复单元发出在所述通知步骤通知的所述故障的恢复请求。
25.根据权利要求22所述的恢复方法,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述恢复方法包括:
感测步骤,所述第一域通过经由所述通信步骤至所述第二域的数据传输,感测所述第二域中的故障;以及
通知步骤,所述第一域向所述恢复单元通知在所述感测步骤感测到的所述第二域故障的恢复请求,而不通过所述特定域;
其中,在所述恢复步骤,针对发生错误的所述第二域,基于由所述第一域通知的所述故障的恢复请求和为每个所述其他域预先设定的恢复条件,执行故障恢复处理。
26.根据权利要求19所述的恢复方法,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述恢复方法包括:
感测步骤,所述第二域通过经由所述通信步骤至所述第一域的数据传输,感测所述第一域中的故障;
通知步骤,所述第二域向所述特定域通知在所述感测步骤感测到的所述第一域故障的恢复请求;
感测步骤,所述特定域通过经由所述通信步骤至所述第一域的数据传输,感测所述第一域的故障;以及
步骤,所述特定域向所述恢复单元发出在所述感测步骤感测到的所述故障的恢复请求。
27.根据权利要求22所述的恢复方法,其中
根据要执行的处理内容,将所述其他域分离地构造为第一域和第二域,所述第一域具有至少一个处理,所述至少一个处理的安全性级别低于由所述特定域执行的处理的安全性级别,所述第二域具有至少一个处理,所述至少一个处理的安全性级别低于由所述第一域执行的处理的安全性级别;
所述恢复方法包括:
感测步骤,所述第二域通过经由所述通信步骤至所述第一域的数据传输,感测所述第一域中的故障;以及
通知步骤,所述第二域向所述恢复单元通知在所述感测步骤感测到的所述第一域故障的恢复请求,而不通过所述特定域;
其中,在所述恢复步骤,通过经由所述通信步骤至所述第一域的数据传输,感测所述第一域的故障,以针对发生错误的所述第一域,并基于由所述第二域通知的所述故障的恢复请求和为每个所述其他域预先设定的恢复条件,执行故障恢复处理。
28.根据权利要求26所述的恢复方法,包括:
步骤,根据在预定时间段或预定次数内是否有来自作为所述数据传输的目的地的域的响应,执行通过数据传输的故障感测;
其中,在所述步骤,当由所述第二域通过至所述第一域的数据传输感测到故障时,在比所述预定时间长的时间上感测故障或者以比所述预定次数多的次数感测故障。
29.根据权利要求18所述的恢复方法,其中
在所述恢复步骤,无条件地接受来自所述特定域的恢复请求,并拒绝来自所述其他域的恢复请求。
30.根据权利要求18所述的恢复方法,包括:
感测步骤,所述恢复单元在被通知了来自所述域的故障恢复请求时,通过经由所述通信步骤至待恢复域的数据传输,感测所述待恢复域中的故障;
其中,在所述感测步骤的感测之后,在所述恢复步骤,针对发生故障的所述域,基于所述故障恢复请求和所述恢复条件,执行故障恢复处理。
31.根据权利要求18所述的恢复方法,其中在所述恢复步骤,基于由所述恢复单元的所述确定步骤允许的恢复请求,执行针对发生错误的域的故障恢复处理,其中所述确定步骤用于确定是否允许从所述域通知的故障恢复请求。
32.根据权利要求31所述的恢复方法,其中在所述确定步骤,基于由所述域通知的故障恢复请求和针对所述域的每个处理内容而设定的安全性级别,确定是否允许所述故障恢复请求。
33.根据权利要求18所述的恢复方法,其中在所述恢复步骤,基于由所述恢复单元的确定步骤允许的恢复请求,通过经由所述通信步骤至待恢复域的数据传输,感测所述待恢复域中的故障,以针对发生故障的所述域,执行故障恢复处理,所述确定步骤用于确定是否允许由所述域通知的故障恢复请求。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP177811/2005 | 2005-06-17 | ||
JP2005177811 | 2005-06-17 | ||
PCT/JP2006/303920 WO2006134691A1 (ja) | 2005-06-17 | 2006-02-23 | 情報処理装置、復旧装置、プログラム及び復旧方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101198934A CN101198934A (zh) | 2008-06-11 |
CN101198934B true CN101198934B (zh) | 2010-09-15 |
Family
ID=37532060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800210569A Expired - Fee Related CN101198934B (zh) | 2005-06-17 | 2006-02-23 | 信息处理设备和恢复方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8365021B2 (zh) |
JP (1) | JP4556144B2 (zh) |
CN (1) | CN101198934B (zh) |
WO (1) | WO2006134691A1 (zh) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495538B2 (en) * | 2008-09-25 | 2016-11-15 | Symantec Corporation | Graduated enforcement of restrictions according to an application's reputation |
JPWO2011104824A1 (ja) | 2010-02-23 | 2013-06-17 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
US8555265B2 (en) | 2010-05-04 | 2013-10-08 | Google Inc. | Parallel processing of data |
US8752047B2 (en) | 2010-05-28 | 2014-06-10 | Bromium, Inc. | Automated management of virtual machines to process untrusted data based on client policy information |
US9239909B2 (en) | 2012-01-25 | 2016-01-19 | Bromium, Inc. | Approaches for protecting sensitive data within a guest operating system |
US8972980B2 (en) | 2010-05-28 | 2015-03-03 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US9148428B1 (en) | 2011-05-25 | 2015-09-29 | Bromium, Inc. | Seamless management of untrusted data using virtual machines |
US9104837B1 (en) | 2012-06-18 | 2015-08-11 | Bromium, Inc. | Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files |
US10310696B1 (en) | 2010-05-28 | 2019-06-04 | Bromium, Inc. | Supporting a consistent user interface within a virtualized environment |
US9386021B1 (en) | 2011-05-25 | 2016-07-05 | Bromium, Inc. | Restricting network access to untrusted virtual machines |
US9135038B1 (en) | 2010-05-28 | 2015-09-15 | Bromium, Inc. | Mapping free memory pages maintained by a guest operating system to a shared zero page within a machine frame |
US9558051B1 (en) | 2010-05-28 | 2017-01-31 | Bormium, Inc. | Inter-process communication router within a virtualized environment |
US10095530B1 (en) | 2010-05-28 | 2018-10-09 | Bromium, Inc. | Transferring control of potentially malicious bit sets to secure micro-virtual machine |
US9767274B2 (en) | 2011-11-22 | 2017-09-19 | Bromium, Inc. | Approaches for efficient physical to virtual disk conversion |
US9116733B2 (en) | 2010-05-28 | 2015-08-25 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US9069622B2 (en) | 2010-09-30 | 2015-06-30 | Microsoft Technology Licensing, Llc | Techniques for load balancing GPU enabled virtual machines |
US8970603B2 (en) | 2010-09-30 | 2015-03-03 | Microsoft Technology Licensing, Llc | Dynamic virtual device failure recovery |
US8931042B1 (en) * | 2010-12-10 | 2015-01-06 | CellSec, Inc. | Dividing a data processing device into separate security domains |
US10511630B1 (en) * | 2010-12-10 | 2019-12-17 | CellSec, Inc. | Dividing a data processing device into separate security domains |
US9105009B2 (en) | 2011-03-21 | 2015-08-11 | Microsoft Technology Licensing, Llc | Email-based automated recovery action in a hosted environment |
US10846396B1 (en) | 2011-05-25 | 2020-11-24 | Hewlett-Packard Development Company, L.P. | Downloading data in a dedicated virtual machine |
US9921860B1 (en) | 2011-05-25 | 2018-03-20 | Bromium, Inc. | Isolation of applications within a virtual machine |
US10546118B1 (en) | 2011-05-25 | 2020-01-28 | Hewlett-Packard Development Company, L.P. | Using a profile to provide selective access to resources in performing file operations |
US8839245B1 (en) | 2012-06-18 | 2014-09-16 | Bromium, Inc. | Transferring files using a virtualized application |
US8923147B2 (en) * | 2011-10-03 | 2014-12-30 | Qualcomm Incorporated | Method and apparatus for filtering and processing received vehicle peer transmissions based on reliability information |
US9100172B2 (en) * | 2011-11-04 | 2015-08-04 | Sk Planet Co., Ltd. | Method for interworking with trustzone between normal domain and secure domain, and management method of trusted application download, management server, device and system using it |
US20130133024A1 (en) * | 2011-11-22 | 2013-05-23 | Microsoft Corporation | Auto-Approval of Recovery Actions Based on an Extensible Set of Conditions and Policies |
US9460303B2 (en) | 2012-03-06 | 2016-10-04 | Microsoft Technology Licensing, Llc | Operating large scale systems and cloud services with zero-standing elevated permissions |
US9245108B1 (en) | 2012-03-13 | 2016-01-26 | Bromium, Inc. | Dynamic adjustment of the file format to identify untrusted files |
JP2013225208A (ja) * | 2012-04-20 | 2013-10-31 | Toyota Motor Corp | 情報処理装置、情報処理方法、及びプログラム |
US9727534B1 (en) | 2012-06-18 | 2017-08-08 | Bromium, Inc. | Synchronizing cookie data using a virtualized browser |
US9201850B1 (en) | 2012-06-18 | 2015-12-01 | Bromium, Inc. | Composing the display of a virtualized web browser |
US9734131B1 (en) | 2012-06-18 | 2017-08-15 | Bromium, Inc. | Synchronizing history data across a virtualized web browser |
US10095662B1 (en) | 2012-06-18 | 2018-10-09 | Bromium, Inc. | Synchronizing resources of a virtualized browser |
US9384026B1 (en) | 2012-06-18 | 2016-07-05 | Bromium, Inc. | Sharing and injecting cookies into virtual machines for retrieving requested web pages |
US11023088B2 (en) | 2012-06-18 | 2021-06-01 | Hewlett-Packard Development Company, L.P. | Composing the display of a virtualized web browser |
US10305937B2 (en) * | 2012-08-02 | 2019-05-28 | CellSec, Inc. | Dividing a data processing device into separate security domains |
US9294508B2 (en) | 2012-08-02 | 2016-03-22 | Cellsec Inc. | Automated multi-level federation and enforcement of information management policies in a device network |
US9152577B2 (en) * | 2012-08-17 | 2015-10-06 | Broadcom Corporation | Security central processing unit management of a transcoder pipeline |
US8881249B2 (en) | 2012-12-12 | 2014-11-04 | Microsoft Corporation | Scalable and automated secret management |
US9141454B2 (en) * | 2012-12-27 | 2015-09-22 | Intel Corporation | Signaling software recoverable errors |
US9292328B2 (en) | 2013-05-24 | 2016-03-22 | Bromium, Inc. | Management of supervisor mode execution protection (SMEP) by a hypervisor |
US9483352B2 (en) * | 2013-09-27 | 2016-11-01 | Fisher-Rosemont Systems, Inc. | Process control systems and methods |
US10599565B2 (en) | 2013-12-24 | 2020-03-24 | Hewlett-Packard Development Company, L.P. | Hypervisor managing memory addressed above four gigabytes |
US10430614B2 (en) | 2014-01-31 | 2019-10-01 | Bromium, Inc. | Automatic initiation of execution analysis |
WO2015154066A1 (en) | 2014-04-04 | 2015-10-08 | David Goldschlag | Method for authentication and assuring compliance of devices accessing external services |
US9680873B1 (en) | 2014-06-30 | 2017-06-13 | Bromium, Inc. | Trusted network detection |
US10311122B1 (en) | 2014-08-22 | 2019-06-04 | Bromium, Inc. | On-demand unprotected mode access |
US9697141B2 (en) * | 2014-10-17 | 2017-07-04 | Sk Hynix Memory Solutions Inc. | LBA blocking table for SSD controller |
US9762585B2 (en) | 2015-03-19 | 2017-09-12 | Microsoft Technology Licensing, Llc | Tenant lockbox |
US10931682B2 (en) | 2015-06-30 | 2021-02-23 | Microsoft Technology Licensing, Llc | Privileged identity management |
US9448887B1 (en) * | 2015-08-22 | 2016-09-20 | Weka.IO Ltd. | Distributed erasure coded virtual file system |
CN105227366B (zh) * | 2015-10-15 | 2018-08-31 | 深圳市金证科技股份有限公司 | 维护分布式数据的一致性的方法及系统 |
DE102017209806A1 (de) * | 2017-06-09 | 2018-12-13 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Erkennen von Angriffen auf einen Feldbus |
US11061622B2 (en) | 2017-11-13 | 2021-07-13 | Weka.IO Ltd. | Tiering data strategy for a distributed storage system |
US11561860B2 (en) | 2017-11-13 | 2023-01-24 | Weka.IO Ltd. | Methods and systems for power failure resistance for a distributed storage system |
US10936405B2 (en) | 2017-11-13 | 2021-03-02 | Weka.IO Ltd. | Efficient networking for a distributed storage system |
US11301433B2 (en) | 2017-11-13 | 2022-04-12 | Weka.IO Ltd. | Metadata journal in a distributed storage system |
US11262912B2 (en) | 2017-11-13 | 2022-03-01 | Weka.IO Ltd. | File operations in a distributed storage system |
US11782875B2 (en) | 2017-11-13 | 2023-10-10 | Weka.IO Ltd. | Directory structure for a distributed storage system |
US11385980B2 (en) | 2017-11-13 | 2022-07-12 | Weka.IO Ltd. | Methods and systems for rapid failure recovery for a distributed storage system |
US11216210B2 (en) | 2017-11-13 | 2022-01-04 | Weka.IO Ltd. | Flash registry with on-disk hashing |
JP6776292B2 (ja) * | 2018-03-20 | 2020-10-28 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
US11099925B2 (en) | 2018-07-10 | 2021-08-24 | EMC IP Holding Company LLC | Datacenter preemptive measures for improving protection using IoT sensors |
US11106528B2 (en) * | 2018-10-10 | 2021-08-31 | EMC IP Holding Company LLC | Datacenter IoT-triggered preemptive measures using machine learning |
US11741196B2 (en) | 2018-11-15 | 2023-08-29 | The Research Foundation For The State University Of New York | Detecting and preventing exploits of software vulnerability using instruction tags |
CN115859252B (zh) * | 2023-02-27 | 2023-05-12 | 南京芯驰半导体科技有限公司 | 认证信息处理方法、装置、电子设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1391822A2 (en) * | 2002-07-29 | 2004-02-25 | Nec Corporation | Multi-processor system recovery |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04275663A (ja) * | 1991-03-04 | 1992-10-01 | Nec Corp | 障害プロセッサの判定方式 |
JPH06332864A (ja) | 1993-05-27 | 1994-12-02 | Fujitsu Ltd | マルチプロセッサシステムにおけるcpu間通信方式 |
US6718482B2 (en) * | 1997-09-12 | 2004-04-06 | Hitachi, Ltd. | Fault monitoring system |
JP2002533791A (ja) | 1998-09-10 | 2002-10-08 | サンクタム、リミテッド | アプリケーション・プログラムあるいはオペレーティング・システムのたの制限された運転環境を維持する方法およびシステム |
JP2000276364A (ja) * | 1999-03-24 | 2000-10-06 | Oki Electric Ind Co Ltd | 障害復旧方法、中央処理装置及び中央処理システム |
FI109154B (fi) | 1999-04-16 | 2002-05-31 | Vesa Juhani Hukkanen | Laite ja menetelmä tietoturvallisuuden parantamiseksi |
JP2001154999A (ja) | 1999-11-30 | 2001-06-08 | Hitachi Ltd | 並列計算機システム及びその立上げ処理方法 |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US7222268B2 (en) * | 2000-09-18 | 2007-05-22 | Enterasys Networks, Inc. | System resource availability manager |
US6892331B2 (en) * | 2002-01-17 | 2005-05-10 | International Business Machines Corporation | Method and system for error detection in a managed application environment |
US20060004667A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | Systems and methods for collecting operating system license revenue using an emulated computing environment |
US8788673B2 (en) * | 2004-09-13 | 2014-07-22 | Microsoft Corporation | Systems and methods for providing security through sessions |
US7409719B2 (en) * | 2004-12-21 | 2008-08-05 | Microsoft Corporation | Computer security management, such as in a virtual machine or hardened operating system |
WO2007000993A1 (ja) * | 2005-06-28 | 2007-01-04 | Matsushita Electric Industrial Co., Ltd. | 検証方法、情報処理装置、記録媒体、検証システム、証明プログラム及び検証プログラム |
JP4809209B2 (ja) * | 2006-12-28 | 2011-11-09 | 株式会社日立製作所 | サーバ仮想化環境における系切り替え方法及び計算機システム |
-
2006
- 2006-02-23 US US11/921,742 patent/US8365021B2/en active Active
- 2006-02-23 WO PCT/JP2006/303920 patent/WO2006134691A1/ja active Application Filing
- 2006-02-23 JP JP2007521111A patent/JP4556144B2/ja not_active Expired - Fee Related
- 2006-02-23 CN CN2006800210569A patent/CN101198934B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1391822A2 (en) * | 2002-07-29 | 2004-02-25 | Nec Corporation | Multi-processor system recovery |
Also Published As
Publication number | Publication date |
---|---|
CN101198934A (zh) | 2008-06-11 |
WO2006134691A1 (ja) | 2006-12-21 |
US8365021B2 (en) | 2013-01-29 |
JPWO2006134691A1 (ja) | 2009-01-08 |
US20090119541A1 (en) | 2009-05-07 |
JP4556144B2 (ja) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101198934B (zh) | 信息处理设备和恢复方法 | |
CN101006433B (zh) | 信息通信装置和程序执行环境控制方法 | |
US7509639B2 (en) | Customized execution environment | |
CN107111715B (zh) | 将可信执行环境用于代码和数据的安全性 | |
US9372967B2 (en) | Support for secure objects in a computer system | |
JP4629332B2 (ja) | 状態参照モニタ | |
US7730249B2 (en) | Device control apparatus that calls an operating system to control a device | |
RU2367006C2 (ru) | Интегрирование высоконадежных функций в приложение посредством разложения приложения | |
US20070266444A1 (en) | Method and System for Securing Data Stored in a Storage Device | |
EP3663958B1 (en) | Trusted kernel-based attack-prevention data processor | |
WO2018146207A1 (en) | Improved computing apparatus | |
CN102122327A (zh) | 使用多个认证代码模块进入安全计算环境 | |
CN110532767A (zh) | 面向sgx安全应用的内部隔离方法 | |
US9967263B2 (en) | File security management apparatus and management method for system protection | |
JP4853671B2 (ja) | アクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラム | |
US11461490B1 (en) | Systems, methods, and devices for conditionally allowing processes to alter data on a storage device | |
Van Eyck et al. | Mr-TEE: Practical Trusted Execution of Mixed-Criticality Code | |
CN118484267B (zh) | 一种基于云计算在线服务算力优化方法及系统 | |
Husen | Operating System (For Extension 3rd Year Students) | |
WO2006059335A1 (en) | Method and system for securing data stored in a storage device | |
Wei et al. | File protection system based on driver | |
Hu et al. | Research on Hardware Built-in Computer Safety |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100915 Termination date: 20210223 |