JPWO2006134691A1 - 情報処理装置、復旧装置、プログラム及び復旧方法 - Google Patents
情報処理装置、復旧装置、プログラム及び復旧方法 Download PDFInfo
- Publication number
- JPWO2006134691A1 JPWO2006134691A1 JP2007521111A JP2007521111A JPWO2006134691A1 JP WO2006134691 A1 JPWO2006134691 A1 JP WO2006134691A1 JP 2007521111 A JP2007521111 A JP 2007521111A JP 2007521111 A JP2007521111 A JP 2007521111A JP WO2006134691 A1 JPWO2006134691 A1 JP WO2006134691A1
- Authority
- JP
- Japan
- Prior art keywords
- domain
- recovery
- failure
- specific
- request
- 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.)
- Granted
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)
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
図42は、ダウンロードされた追加処理を実行する情報通信端末装置の典型的な構成の一例を模式的に示す図である。図42には、よく知られた典型的な装置構成がブロック図にて模式的に例示されている。以下では、追加処理が、ネイティブコード(提供者側でコンパイル、またはアセンブル処理されたバイナリコード)で提供されるアプリケーションプログラムやデバイスドライバ(デバイスへのアクセス要求、デバイスからの割り込み処理を行うソフトウェアであり、「I/Oドライバ」とも言う)である場合について説明する。
図42に示す構成において、追加処理23をダウンロードして実行したとき(追加処理23がデバイスドライバの場合には、オペレーティングシステムに組み込んで実行したとき)、基本処理22、オペレーティングシステム(「OS」という)21、CPU(Control Processing Unit)10、メモリ50、入出力デバイス(I/O)60に対して、追加処理23から、直接的に攻撃が行われる可能性がある。その理由は、基本処理22、CPU10、OS21、メモリ50、あるいは入出力デバイス(I/O)に対する、追加処理23からの攻撃を制限し、安全な実行環境を実現する手段が実装されていないためである。すなわち、図42に示す構成の場合、追加処理23は基本処理22への処理要求、OS21への処理依頼、CPU10、メモリ50、及び入出力デバイス60への処理要求を任意に発行することができ、ハードウェア、ソフトウェアの各種資源へのアクセスも自在とされている。このため、悪意の追加処理23(あるいは、悪意は無くともウィルス等に感染した追加処理)は、無防備なOS21、基本処理22等に対して攻撃自在とされる。
追加デバイスドライバが、例えばレジデント(常駐型)ドライバとしてOS21のカーネル内に組み込まれる場合があり、該デバイスドライバの信頼性は、OS21の信頼性、及び性能にそのまま影響を及ぼすことになる。これは、デバイスドライバが、デバイスへの処理設定と、デバイスからの割り込み時にスケジューラから起動される割り込みサービスとを含み、割り込みサービスの実行時間(この間、再スケジュールは禁止される)は処理性能から特段に短い時間(例えばミリ秒以下)に制限されているという、デバイスドライバの特性からも、明らかである。つまり、追加デバイスドライバが仮に悪意の在るドライバである場合、情報処理装置の処理性能を容易に低下させることが出来る。これは、常駐型でなく、ローダブルドライバ(メモリに選択的にロード、アンロードされるドライバ)の場合も、同様である。このように、追加処理としてインストールされた悪意のあるドライバによって攻撃が行われた場合には、OS21のカーネルが直接攻撃されることになり、致命的ともなる(実質的に動作不能となる)。
そこで、ダウンロードされた追加処理の実行環境に制限を与え、基本処理等を保護する設計方式が、従来より、各種提案されている。以下、いくつかの典型例に即して概説しておく。
図43では、ソフトウェアによる追加処理の実行保護環境を提供する構成の一典型例を示す図である。図43に示す例では、ネイティブコードの追加処理23は、仮想マシン24上で実行させる構成とされている。一例として、追加処理23が、JAVA(登録商標)バイトコードで記述されているものとすると、ダウンロードされたJAVA(登録商標)バイトコードは、仮想マシン24をなすJVM(JAVA(登録商標)仮想マシン)上で実行される。
かかる構成において、基本処理22やOS21等は、ソフト的に、追加処理23とは分離され、その安全性が確保されることになる。すなわち、追加処理23は、仮想マシン24を介してのみ、OS21、CPU10、メモリ50、I/O60等へアクセスが行われる。仮想マシン24には、通常、OS21のカーネルモードでの実行(例えば特権的な命令の実行)等を行う権限が付与されていず、このため、追加処理23が、OS21を直接的に操作することは出来ない。また、仮想マシン24は、一般に、インタープリタ方式で追加処理23の命令コードを実行するため、追加処理23の命令・動作が適正であるか監視することが容易であり、例えば追加処理23からのハードウェア資源及びソフトウェア資源に対する不当なアクセス(例えば多重のデータをネットワーク上あるいは画面上に出力する等)を制限することで、仮想マシン24がソフト的な保護フィルタ、あるいは防護壁又は防護ゲートの役割を担うことも出来る。このように、仮想マシン24を介して、基本処理22、OS21等は、追加処理23とは、ソフト的には分離されている。
しかしながら、図43に示した仮想マシン方式は、以下の問題点を有している。
ダウンロードされた追加処理23から、仮想マシン24の抜け(例えばセキュリティホール)への攻撃等がなされた場合、システムの安全性が損なわれることになる。
また、通常、JAVA(登録商標)仮想マシン等の仮想マシン24は、JAVA(登録商標)バイトコード等の命令コードを、一命令ずつ解釈実行するインタープリタ方式であるため、その実行速度は遅い。
さらに、仮想マシン24は、追加処理23を実行する時、システムコールを発行することで、OS21への処理依頼を行っているが、システムコールのオーバヘッドは大であることから、処理の実行は遅い。例えば仮想マシン24において、追加処理23の1つの命令に対応するシステ厶コールが1つ又は複数発行される。ユーザモードからのシステムコール発行によるシステムモードへのコンテクスト・スイッチング、OS21のシステムコールエントリ部におけるシステムコールのパケットデータのデコード、パラメータ等の正
当性チェック(エラー検出処理)、処理の振分(ディスパッチ)さらに、処理終了時の処理結果の引渡し及びコンテクスト・スイッチング、カーネル空間からユーザ空間への切り替え等、一連の制御が行われ、オーバヘッドが大きい。
そして、図43に示す構成の場合、追加処理23として、デバイスドライバをOS21に組み込むことは出来ない。図43からも明らかなように、仮想マシン24はOS21の上層に位置している。仮想マシン24は、追加処理23のコードに基づき、OS21に対して処理依頼を行い、OS21から処理結果を受け取り、必要に応じて追加処理23に返す構成とされており、追加処理をデバイスドライバとしてOS21内に組み込もうとすると、追加処理の実行を制御する仮想マシンも、OS21内に組み込むことが必要となり、かかる構成は、図43に示す仮想マシン方式では、原理的に不可能であるためである。
ソフトウェアによる別のセキュリティ管理方式として、例えば図44に示すような構成も知られている。図44に示すように、追加処理23には、それが信頼できるものであることを証明するための証明書25が添付されて、端末(情報処理装置)にダウンロードされる。端末側では、添付された証明書25の内容をチェックし、添付された証明書25が正しい証明書であると認証された場合に、ダウンロードされた追加処理23のインストール、実行を許可する構成とされている。証明書25としては、デジタル署名(ITU−T XS09)を用いても良い。例えば証明書25には、証明される期間とその公開鍵、CA(認証局)のデジタル署名(証明される機関や公開鍵などをCAの秘密鍵で暗号化したもの)が格納され、証明書の認証を行う場合には、CAのデジタル署名の部分を、CAの公開鍵で解読して証明書のデータの内容と一致するか否か確認し、一致する場合に、証明書のデータを信頼しても良いと判断される。あるいは、証明書25は、真正のベンダーを証明するものであれば、任意の証明書であっても良い。なお、デバイスドライバの署名機能(Driver Signing)は、例えばWindows(登録商標)2000等にも実装されている。
図44に示した方式の場合、追加処理23はネイティブコードで提供することができ、図43に示した仮想マシン方式と比べて、高速実行が可能である。また、追加処理23として、アプリケーション、デバイスドライバの実行も可能である。しかしながら、システムの信頼性は、追加処理23の安全性に全面的に依拠している。つまり、追加処理23に事前に検知し得ない問題があると、システムに致命的損害をもたらす可能性もある。
図45は、セキュリティ管理をハードウェアで行うプロセッサの構成を示す図である。図45を参照すると、CPU11は、安全(セキュア)モード12と、非安全(ノンセキュア)モード13を有し、ダウンロードされた追加処理23と該追加処理23に対応したOS21Bは、もっぱらノンセキュアモード13で実行される。そして、メモリ管理ユニット14は、ノンセキュアモード13で実行されるメモリの領域(アドレス空間)を、セキュアモード12でアクセスされるメモリの領域と分離して管理し、ノンセキュアモード13からセキュアモード12のメモリ領域へのアクセスは禁止される。すなわち、メモリ管理ユニット14は、ノンセキュアモード13からのメモリのアクセス制御を行いノンセキュアモード13からセキュアモード12のメモリ領域へのアクセスを禁止する制御を行っている。
このように、図45に示す構成においては、基本処理22をセキュアモード12で実行し、仮想的に、追加処理23を実行するCPUと別CPUに分離することで、安全性の向上を図っている。
しかしながら、セキュアモードとノンセキュアモードは、CPU上で、時分割で実行されており、ノンセキュアモードから復帰しない場合には、セキュアモードでのシステムの動作は行われない。
また、ノンセキュアモードとセキュアモードを時分割処理しているため、その切替時、モード遷移等のオーバヘッドがかかる。
さらに、追加処理23をデバイスドライバとし、ノンセキュアモードのOS21B内に組み込む場合、ドライバに悪意があると、セキュアモードに復帰することが出来なくなる可能性があり、システムに致命的な損害をもたらす可能性がある。
なお、図45に示した構成と同様、システムメモリ中に分離域を設け、ノーマル実行モードと分離実行モードを構えたプロセッサとして、特表2004−500666号公報(文献1)の記載が参照される。文献1に記載の装置において、ノーマル実行モードは、プロセッサが非安全環境、すなわち分離実行モードによって提供されるセキュリティ機能がない通常の動作モードで動作するモードであり、ノーマル実行モードからは分離域へのアクセスが禁止され、分離実行モードでは、所定の分離命令の実行がサポートされる構成とされている。なお、かかる構成も、ノーマル実行モードと分離実行モードを時分割処理しているため、その切替時、モード遷移等のオーバヘッドがかかる。
また、2つのプロセッサユニットとスイッチユニットを備え、1つのプロセッサユニットが公共データ通信ネットワークと接続され、他方のプロセッサユニットは公共データ通信ネットワークと接続せず、データセキュリティ用ユニットとして機能する構成が開示されている(特表2002−542537号公報(文献2)参照)。文献2に記載されるシステムでは、公共データ通信ネットワークに接続されるプロセッサユニットと、データセキュリティ用ユニットをスイッチで分離しており、データセキュリティ用ユニットの安全性を確保している。しかしながら、公共データ通信ネットワークに接続されるプロセッサユニットが、前述した追加処理(ネットワーク等からダウンロードされた追加処理)の実行により、攻撃されることの対策に関しては、いささかも考慮されていない。データセキュリティ用ユニットは安全であっても、公共データ通信ネットワークに接続されるプロセッサユニットは追加処理による攻撃に対する有効なセキュリティ機構は具備していない。このため、公共データ通信ネットワークに接続されるプロセッサユニットにセキュリティ管理を実現する場合、前述したいずれかの方式を採用する必要がある。
さらに、プロセッサ上で分離された実行プログラムあるいはオペレーティングシステムを同時に実行するシステムにおいて、不正なプログラムの実行環境を保護するために、第1のプログラムが実行される間、第1のプログラムのみが利用するメモリ空間が設定され、第1のプログラムとコンピュータの実行環境との通信は、共有メモリ空間の利用、専用の割り込み、あるいは専用のI/Oポートを含む単一のリンクを介して行われ、第1のプログラムは、制限された実行環境において、設定されたメモリ空間と単一のリンクを除いてプロセッサ上のリソースをアクセスすることが制限されるようにした構成が特表2002−533791号公報(文献3)に記載されている。この文献3に記載された方法の場合、第1のプログラムは、設定されたメモリ空間と単一のリンク(共有メモリ空間の利用、専用の割り込み、あるいは専用のI/Oポート)を除いてプロセッサ上のリソースをアクセスすることが制限されるため、第1のプログラムを、デバイスドライバとして用いることは出来ず、デバイスドライバを含む追加処理に適用することは出来ない。
また、後述される本発明で用いられるプロセッサ間通信手段に関連する技術を開示した刊行物として、特開平6−332864号公報(文献4)には、マルチプロセッサシステムにおけるCPU間通信方式が開示されている。この文献4には、マルチプロセッサが共通メモリを利用してCPU間通信を行うにあたり、CPU2がCPU1に割り込みを発生させる場合、CPU1に対する固定領域における自己用のCPU間通信情報書き込み領域に、通信情報を書き込んで割り込みを発生し、CPU1では、割り込みが発生すると、CPU2に対応するCPU間通信情報書き込み領域をアクセスして割り込み処理を実行する構成がその従来技術として記載されており、さらに、共有メモリのアクセス回数を削減するようにした発明が記載されている。
さらに、特開2001−154999号公報(文献5)では、プロセッサ診断回路が自プロセッサの起動時に故障を検出してサービスプロセッサに復旧を依頼し、サービスプロセッサがその復旧の処理を行う並列計算機システムを提案している。
文献1:特表2004−500666号公報
文献2:特表2002−542537号公報
文献3:特表2002−533791号公報
文献4:特開平6−332864号公報
文献5:特開2001−154999号公報
上記したように、ダウンロードされた、悪意のある、もしくは過失の追加処理からの攻撃に対する安全性確保の対策を施した従来の装置は、処理性能の点、デバイスドライバの実行が不可である点、安全性確保に問題がある点等、実用上、各種課題が残されている。特に、図43、及び図45に示したように、情報処理装置に関して、装置外部から、追加デバイスドライバのダウンロードが不可である設計方式(アーキテクチャ)は、デバイスの追加、機能追加当が実質的に不可能であることを意味しており、この点で、可用性(availability)が制限される。
一方、前述したように、追加デバイスドライバを例えばカーネルモードで動作させる場合には、OS、システムの信頼性に直接影響を及ぼすことから、特段の安全性確保、信頼性の向上が要請されている。
また、文献5に開示された技術を一例とする従来の並列計算機システムにおける復旧処理では、通知された復旧要求等がウィルスを含んでいる等の悪意のある要求に対しても処理を実行してしまうという問題点がある。
したがって、本発明の目的は、追加されたアプリケーションプログラム及びデバイスドライバによって障害が生じたドメインを、安全性、信頼性を確保して復旧する情報処理装置、復旧装置、プログラム及び復旧方法を提供することにある。
この構成により、各ドメインに発生した障害毎に復旧条件が設定されていることから、復旧条件を満たした復旧要求により障害が復旧される。
本発明の好ましい態様では、複数のドメインを、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成し、特定ドメイン又は他のドメインから通知される障害の復旧要求と、特定ドメイン及び他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行う構成としている。
この構成により、複数のドメインが、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成され、特定ドメイン又は他のドメインから通知される障害の復旧要求と、特定ドメイン及び他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うことから、特定ドメインと他のドメインとを異なる復旧条件により復旧することが可能となる。
本発明のさらに好ましい態様では、特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、他のドメインが、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、特定ドメインが、他のドメインにおける障害を、他のドメインへの通信手段によるデータ送信を介して検知し、復旧手段に対して障害の復旧要求を行う構成としている。
この構成により、ある一定のセキュリティレベル以上の処理を実行する特定ドメインと特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメインとが分離して構成され、他のドメインで発生した障害を検知した、ある一定のセキュリティレベル以上の処理を実行する特定ドメインが、復旧手段を介して、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメインを復旧する。
本発明の別の好ましい態様では、特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、他のドメインが、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、他のドメインが、何れかの他のドメインにおける障害を検知し、特定ドメインに他のドメインの障害の復旧要求を通知し、特定ドメインが、復旧手段に対して障害の復旧要求を行う構成としている。
この構成により、ある一定のセキュリティレベル以上の処理を実行する特定ドメインと特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメインとが分離して構成され、他のドメインで発生した障害を通知された、ある一定のセキュリティレベル以上の処理を実行する特定ドメインが、復旧手段を介して、相対的にセキュリティレベルが低い処理を実行する他のドメインを復旧する。
本発明の別の好ましい態様では、特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、他のドメインが、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、他のドメインが、何れかの他のドメインにおける障害を検知し、特定ドメインに他のドメインの障害の復旧要求を通知し、特定ドメインが、他のドメインの障害を、他のドメインへの通信手段によるデータ送信を介して検知し、復旧手段に対して障害の復旧要求を行う構成としている。
この構成により、ある一定のセキュリティレベル以上の処理を実行する特定ドメインと特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメインとが分離して構成され、他のドメインで発生した障害を通知された、ある一定のセキュリティレベル以上の処理を実行する特定ドメインが、障害を検知し、復旧手段を介して、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメインを復旧する。
本発明のさらに好ましい態様では、復旧条件は、ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて定められており、復旧手段は、ドメインから通知された障害の復旧要求と、復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行う構成としている。
この構成により、処理内容毎に設定されたセキュリティレベルに基づいて定められた復旧条件を満たした復旧要求が受け付けられる。
本発明のさらに好ましい態様では、復旧手段は、ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、判別手段で許可された復旧要求に基づいて、障害が発生したドメインに対して障害の復旧処理を行う構成としている。
この構成により、判別手段で許可された復旧要求に基づいて障害の復旧処理が行われる。
本発明によれば、以下の効果が達成される。
第1の効果は、各ドメインに発生する障害が、予め設定された復旧条件を満たした復旧要求により復旧されることである。
その理由は、複数のプロセッサを備え、実行する処理内容に応じて、複数のプロセッサが複数のドメインを構成し、異なるドメイン間のプロセッサ同士は、通信手段を介して互いに通信し、ドメインから通知される障害の復旧要求と、ドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うので、各ドメインに発生する障害毎に予め設定された復旧条件を満たした復旧要求により障害が復旧されるからである。
第2の効果は、複数のドメインのうち、所定のドメインを、その他のドメインと異なる復旧条件により復旧することが可能となることである。
その理由は、複数のドメインを、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成し、特定ドメイン又は他のドメインから通知される障害の復旧要求と、特定ドメイン及び他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うからである。したがって、複数のドメインが、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成され、特定ドメイン又は他のドメインから通知される障害の復旧要求と、特定ドメイン及び他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うことから、特定ドメインと他のドメインとを異なる復旧条件により復旧することが可能となるからである。
第3の効果は、ある一定のセキュリティレベル以上の処理を実行するドメインのセキュリティを確保できることである。
その理由は、特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、他のドメインが、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、特定ドメインが、他のドメインにおける障害を、他のドメインへの通信手段によるデータ送信を介して検知し、復旧手段に対して障害の復旧要求を行うからである。したがって、ある一定のセキュリティレベル以上の処理を実行する特定ドメインと特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメインとが分離して構成され、他のドメインで発生した障害を検知した、ある一定のセキュリティレベル以上の処理を実行する特定ドメインが、復旧手段を介して、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメインを復旧するからである。
第4の効果は、情報処理装置の可用性が向上することである。
その理由は、セキュリティが確保された、ある一定のセキュリティレベル以上の処理を実行するドメインが、特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインで発生した障害を検知して復旧手段を介して復旧するからである。
第5の効果は、各ドメインで発生した障害を、所定のセキュリティレベルを確保して復旧できることである。
その理由は、復旧条件が、ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて定められており、復旧手段が、ドメインから通知された障害の復旧要求と、復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うからである。したがって、処理内容毎に設定されたセキュリティレベルに基づいて定められた復旧条件を満たした復旧要求が受け付けられるからである。
図2は、第1例のプロセッサ間通信手段の構成を示す図である。
図3は、第1例のプロセッサ間通信手段の動作を説明するための図である。
図4は、第1例のアクセス制御手段の構成を示す図である。
図5は、第1例のアクセス制御手段のアクセス許可データの例を示す図である。
図6は、第1例のアクセス制御手段の動作を説明する図である。
図7は、第1例のアクセス制御手段30の別構成を示す図である。
図8は、第1例のアクセス制御手段30の別構成を示す図である。
図9は、本発明の第2例の情報処理装置のハードウェア構成を示す図である。
図10は、本発明の第3例の情報処理装置のハードウェア構成を示す図である。
図11は、第3例の情報処理装置の変形例のハードウェア構成を示す図である。
図12は、第3例の情報処理装置のソフトウェア構成を示す図である。
図13は、第3例の動作を説明するための図である。
図14は、第3例の動作を説明するための図である。
図15は、第3例の動作を説明するための図である。
図16は、第3例の動作を説明するための図である。
図17は、第3例の動作を説明するための図である。
図18は、第3例の動作を説明するための図である。
図19は、第3例の動作を説明するための図である。
図20は、第3例の動作を説明するための図である。
図21は、本発明の第4例の情報処理装置の構成を示す図である。
図22は、第4例の動作を説明するための図である。
図23は、第4例の動作を説明するための図である。
図24は、本発明の第1の実施例による情報処理装置の構成を示す図である。
図25は、本発明の第1の実施例において設定される信頼度の一例を示す図である。
図26は、本発明の第1の実施例による情報処理装置のドメイン停止復旧手段400の構成を示す図である。
図27は、本発明の第1の実施例による情報処理装置の通信処理の内容(処理内容)と通信の階層構造との対応関係の一例を示す図である。
図28は、本発明の第1の実施例による情報処理装置のハードウェア構成の一例を示すブロック図である。
図29は、本発明の第1の実施例による情報処理装置の動作の一例を説明するための図である。
図30は、本発明の第1の実施例による情報処理装置の動作の一例を説明するための図である。
図31は、本発明の第1の実施例による情報処理装置の動作の一例を説明するための図である。
図32は、本発明の第1の実施例による情報処理装置の動作の一例を説明するための図である。
図33は、本発明の第1の実施例による情報処理装置の動作の一例を説明するための図である。
図34は、本発明の第2の実施例による情報処理装置のドメイン停止復旧手段400の構成を示す図である。
図35は、本発明の第2の実施例による情報処理装置の動作の一例を説明するための図である。
図36は、本発明の第2の実施例による情報処理装置の動作の一例を説明するための図である。
図37は、本発明の第2の実施例による情報処理装置の動作の一例を説明するための図である。
図38は、本発明の第3の実施例による情報処理装置のドメイン停止復旧手段400の構成を示す図である。
図39は、本発明の第3の実施例による情報処理装置の復旧処理許可データ404aの内容の一例を示す図である。
図40は、本発明の第3の実施例による情報処理装置の復旧処理制御手段404の動作の一例を説明するための図である。
図41は、本発明の第4の実施例による情報処理装置のドメイン停止復旧手段400の構成を示す図である。
図42は、従来のシステム構成の一例を示す図である。
図43は、従来のシステム構成の別の例を示す図である。
図44は、従来のシステム構成の別の例を示す図である。
図45は、従来のシステム構成のさらに別の例を示す図である。
10,10A,10B,10C:CPU、11:CPU、12:セキュアモード、13:非セキュアモード
14:メモリ管理ユニット、15:分離手段、20,20A,20B,20C:ソフトウェア、21,21A,21B,21C:OS、22:基本処理、23,23B,23C:追加処理、24:仮想マシン、25:証明書、30:アクセス制御手段、31:アクセス許可手段、32:アクセス許可データ、33:新アクセス許可データ33、34:アクセス許可データ更新手段34、35:アクセス監視手段、36:学習手段、40:プロセッサ間通信手段、41:割り込み制御装置、410〜41n:CPU#0〜CPU#n用割り込み制御装置、42:共有メモリ、420〜42n:CPU#0〜CPU#n用通信領域、50,50A,50B,50C:メモリ、60,60A,60B,60C:入出力デバイス(I/O)、70A:基本側バス、70B:追加側バス、80,80A,80B:チップ、100A:基本ドメイン、100B:Trusted拡張ドメイン、100C:Untrusted拡張ドメイン、101A,101B,101C:OS、102A:外部デバイス、102A´:仮想外部デバイス、102B,102C:許可された外部デバイス、102B´,102C´:許可された仮想外部デバイス、103:専用ファイルシステム、103´:仮想専用ファイルシステム、104A:ネイティブコードダウンロード管理機能、104B,104C:ネイティブコードダウンロード実行機能、105:セキュリティポリシデータベース、110:基本ソフト環境、111:基本アプリケーション、112:基本機能、113:基本ライブラリ、120A,120B,120C:ダウンロードアプリケーション、121A,121B,121C:ダウンロードドライバ、150A:最高信頼度ドメイン、150B:中信頼度ドメイン、150C:低信頼度ドメイン、200A,200B,200C:仮想CPU、210A,210B,210C:仮想マシンモニタ、301,302,303:データ送信部、304,305:低信頼度ドメイン用データ送信部、306,307:中信頼度ドメイン用データ送信部、400:ドメイン停止復旧手段、401:復旧要求受信手段、402:ドメイン停止復旧処理手段、403:停止確認手段、404:復旧処理制御手段、404a:復旧処理許可データ、404b:復旧処理許可手段、411:割り込み指示部、412:割り込み状態保持部、413:割り込み取り消し部、421:通信キュー、422:排他制御領域
基本構成の第1例は、複数のCPUを備えたマルチCPU構成の情報処理装置において、複数のCPUを、実行するプログラム(処理)のセキュリティレベルに応じて、複数のドメイン(例えば基本ドメイン、信頼ドメイン、無信頼ドメイン等)に分ける。
基本ドメインは、ある一定のセキュリティレベル以上の処理を実行するドメインであり、信頼ドメインは、基本ドメインで実行する処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、無信頼ドメインは、信頼ドメインで実行する処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインとする。
または、基本ドメインの一定のセキュリティレベルの実行処理のそれぞれが、信頼ドメインの実行処理のセキュリティレベルと同じか、又は信頼ドメインの実行処理のセキュリティレベルより高く、そして基本ドメインの実行処理の集合として少なくとも1つセキュリティレベルの高い処理を含むドメインとしてもよい。
信頼ドメインは、信頼ドメインの一定のセキュリティレベルの実行処理のそれぞれが、無信頼ドメインの実行処理のセキュリティレベルと同じか、又は無信頼ドメインの実行処理のセキュリティレベルより高く、そして各ドメインの実行処理の集合として少なくとも1つセキュリティレベルの高い処理を含むドメインとしても良い。この場合には基本ドメインは信頼ドメインよりも相対的にセキュリティレベルの高い処理を行い、信頼ドメインは無信頼ドメインよりも相対的に高い処理が行われる。
各ドメインは、1つ又は複数のCPUを含み、異なるドメイン間でのCPUの通信を、プロセッサ間通信手段(例えば図1の40)を介して行うとともに、追加処理等の低セキュリティの処理を実行するドメインに属するCPUが、高セキュリティの処理を実行するドメインのメモリ及び入出力装置に対してアクセスする場合には、該アクセス要求は、アクセス制御手段(例えば図1の30)によって、アクセスの許可/非許可が判別され、許可されたアクセスのみが行われる構成とされる。
かかる構成の第1例によれば、ダウンロードされた追加処理(デバイスドライバ、アプリケーションプログラムを含む)を、高セキュリティ・ドメインとはハードウェア的に別構成の低セキュリティ・ドメイン側のCPUで実行することで、高セキュリティ・ドメインの安全性を確保している。
ここでいうダウンロードとは、携帯電話のキャリアが用意するデータ通信網や一般的な無線LAN網だけではなく、SDカードに代表される蓄積型メディア媒体、USBに代表される有線通信・媒体といった接続を経由した情報装置へのダウンロードのことも含む。
そして、第1例によれば、高セキュリティ・ドメインと低セキュリティ・ドメインのCPUを、スイッチ等で分離制御するのではなく、相互に通信可能とする、プロセッサ間通信手段を介して接続することで、安全性を保障しながら、高セキュリティ・ドメインと低セキュリティ・ドメインのCPU間の同期、協調動作も可能としている。
このプロセッサ間通信手段(図1の40)は、一のドメインのCPUから他のドメインのCPUへデータ(コマンド)の受け渡しを行うものであり、他のドメインのCPUへの直接的な攻撃等は行えない構成とされている。例えば低セキュリティ・ドメイン側のCPUから高セキュリティ・ドメイン側のCPUへデータを多量に送信し続けることで、高セキュリティ・ドメインのCPUの性能劣化、バッファオーバーフロー等を生じさせようとしても、プロセッサ間通信手段で抑止され、該データは、高セキュリティ・ドメインのCPUに伝達されない。
また、第1例において、アクセス制御手段(図1の30)は、低セキュリティ・ドメイン側のCPUに対して、予め許可されたメモリ空間、入出力デバイス等へ予め許可された形態によるアクセスのみを許可するアクセス制御を行う。これにより、ダウンロードされた追加処理からの高セキュリティ・ドメインへの攻撃を防ぐことが出来る。あるいは、アクセス制御手段が、必要に応じて、帯域、流量制御等を行うことで、ダウンロードされた追加処理からの高セキュリティ・ドメインへの各種攻撃を防ぐことが出来る。以下第1例に即して説明する。
図1は、第1例の構成を示す図である。図1を参照すると、基本処理22及びOS21Aからなるソフトウェア20Aを実行するCPU群10Aと、追加処理23及び追加処理対応のOS21Bからなるソフトウェア20Bを実行するCPU群10Bと、CPU群10A、10B間で通信を行うプロセッサ間通信手段401、402と、CPU群10Bによるメモリ50及び/又は入出力装置(I/O)60へのアクセスを制御するアクセス制御手段30と、を備えている。なお、図1には、CPU群10A、CPU群10Bは、それぞれ複数(3台)のCPUからなる構成として示されているが、各群とも1つのCPUであっても良いことは勿論である。また、CPU群10A、CPU群10Bにおいて、各群のCPUの台数は等しくなくてもよいことは勿論である。以下では、CPU群10A、CPU群10Bを、単にCPU10A、CPU10Bという。第1例において、ダウンロードされる追加処理23は、バイナリ形式のネイティブコードよりなる。なお、ダウンロードされたソースプログラムを、コンパイル処理(アセンブル処理)してバイナリ形式としたものであってもよい。
第1例によれば、追加処理23を実行するCPU10Bを、基本処理22を実行するCPU10Aと別に構え、CPU10A、CPU10Bは、独立に動作可能であり、安全性を向上しながら、高速実行を可能とし、アプリケーションプログラム、デバイスドライバの実行を可能としている。なお、基本処理22を実行するCPU10Aをマスターとし、追加処理23を実行するCPU10Bをスレーブとして構成し、スレーブ側はマスターの監督下で動作する構成としても良いことは勿論である。この場合、例えばCPU10Bによる追加処理23の実行は、CPU10Aからプロセッサ間通信手段402を介してコマンドを受け取って行われる。
プロセッサ間通信手段401、402は、CPU10AとCPU10B間でのデータの送受信を制御する。CPU10A、10Bは、独立に配設されていることから、それぞれの処理(プログラム)を並列に実行することが可能であるとともに、プロセッサ間通信手段401、402を介して、CPU10AとCPU10B間における、同期処理、連携(強調)処理も可能としている。一例として、ユーザが表示装置の画面上から追加処理の実行を指示した場合、基本処理22を実行するCPU10Aから、プロセッサ間通信手段401を解して、追加処理23の起動要求が、CPU10Bに送信され、CPU10B上で追加処理23が実行され、実行結果が、CPU10Bから、プロセッサ間通信手段402を介して、CPU10Aに送信され、基本処理22を構成する画面制御ルーチン等が、追加処理23の実行結果を反映した情報をユーザに提示する、という具合である。
第1例では、CPU10Bで追加処理23を実行する際、メモリ50、入出力デバイス(I/O)60へのアクセス要求が行われた場合、アクセス制御手段30にて、当該アクセスに関する許諾の制御が行われ、許可されたアクセス要求のみが、メモリ50、入出力デバイス(I/O)60に対して実行される構成とされている。そして、CPU10Bにおいて、OS21B上で追加処理23を実行し、追加処理23からの、基本処理22あるいはOS21Aへの処理要求が発行された場合、該要求は、プロセッサ間通信手段401を介して、CPU10Aに通知される。すなわち、追加処理23が、基本処理22を、直接操作することは出来ない。例えば、悪意のある追加処理23が、CPU10Aに要求を頻発して発行して負荷を与え、CPU10A側での基本処理の実行性能を著しく低下させようとしても、プロセッサ間通信手段401が、このような要求をCPU10A側に伝達しないように制御することで、上記攻撃からの防護が実現され、安全性が確保される。
なお、図1に示す例では、プロセッサ間通信手段401は、CPU10BからCPU10Aへの情報転送、プロセッサ間通信手段402は、CPU10AからCPU10Bへの情報転送を制御している。あるいは、一台のプロセッサ間通信装置で双方向のデータの受け渡しを行うようにしても良いことは勿論である。第1例において、基本処理22を実行する複数のCPU10A同士でCPU間の通信が必要な場合には、プロセッサ間通信手段40を用いることなく、CPU間の通信が行われる。また、追加処理23を実行する複数のCPU10Bについても同様である。ただし、後述するように、CPU群10Bを構成する複数のCPUのいくつかをCPU群10Aの要素としてダイナミックに切り替える場合、CPU群10Bは、論理的にはCPU群10Aに属するが、CPU間の通信は、プロセッサ間通信手段40を介して行うようにしても良い。
第1例によれば、追加処理23として、アプリケーションプログラム、デバイスドライバのダウンロード、インストール、実行が可能とされている。追加されたデバイスドライバは、OS21Bに組み込まれ、CPU10B上で実行され、入出力デバイス60へのアクセス制御は、アクセス制御手段30の監視の下で実行される。
なお、携帯電話機、PDA等の携帯型情報通信装置では、通常、図1における基本処理22、OS21Aは、図示されない書き換え可能な不揮発性メモリ(EEPROM:Electricaly Programmable and Erasable ROM)に格納され、CPU10Aは、EEPROMから命令コードをフェッチしてデコードし実行する。すなわち、基本処理22と追加処理23を実行するそれぞれのOS21A、21Bが格納するメモリは、基本処理側と追加処理側で、ハードウェア的に分離されている。そして、基本処理、OS等の命令コードは、EEPROMに格納されたものが実行されるが、CPU10A、10Bで実行されるプログラムにより、初期化、参照、更新されるテーブル等のデータは、それぞれのOS起動時に、DRAM(Dynamic Random Access Memory)よりなるメモリ50に展開される。そして、CPU10Bについて、リード/ライトするメモリ領域をアクセス制御手段30によって管理し、CPU10Aで参照されるメモリ領域へのアクセスを制限している。携帯型情報通信端末とは別の一般の情報処理装置においても、同様にして、基本処理22、OS21AがロードされCPU10Aが命令コードをフェッチするメモリと、追加処理23、OS21BがロードされCPU10Bが命令コードをフェッチするメモリとを別々に備えていても良いことは勿論である。あるいは、一般の情報処理装置において、メモリ50に、基本処理22、OS21Aがロードされる領域と、追加処理23、OS21Bがロードされる領域を分離して設け、CPU10Bのメモリ50へのリード/ライトアクセスをアクセス制御手段30によって管理するようにしても良い。この場合、CPU10A、CPU10Bが参照のみするコードについては、共通のメモリ領域に格納し、アクセス制御手段30によって、共通のメモリ領域を、該CPU10Bがリードのみ可とするようにアクセス制御しても良い。
また、携帯型情報処理装置において、搭載する電池残量が少なくなってきた場合には、基本処理を実行するCPU以外を強制的にシャットダウンする、実行する処理の信頼度に応じてより信頼度の低い処理を実行するCPUを優先的にシャットダウンすることで電池残量の節約を行うことが可能である。これは例えば、電池残量を検出する手段と、検出結果を通知する手段によって得られる電池残量に関する情報に基づき、基本処理を行うCPU上で判断を行い、シャットダウンを実行する、といった処理により実現できる。
さらに、携帯型情報処理装置での資源、例えば外部との通信バンド幅や不揮発メモリ量等はより一層制限されているため、信頼度に応じて資源を確保する相対的な割合を変更することも可能である。これは、例えば、基本処理を行うCPUにおいて、実行する処理の信頼度が高い場合には優先的に資源の確保を許容する、信頼度が低い場合には資源の制限をかける等の判断をすることにより実現される。
図2は、第1例におけるプロセッサ間通信手段のハードウェア構成の一例を示す図である。図2を参照すると、左右両側のCPU(基本処理を実行するCPUと追加処理を実行するCPU)間に配設された、割り込み制御装置41と共有メモリ42の1セットで、図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の2つの領域を想定すると、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条でのバッファ領域アドレス)を設定するようにしても良い。
第1例では、共有メモリ42におけるCPU#iの排他制御領域422iは、CPU#iの通信領域42iを、あるCPUが既に占有している場合、他のCPUがCPU#iの通信領域42iを使用することが無いようにする相互排他制御のために、設けられている。すなわち、CPU#iの排他制御領域422iは、mutex等のセマフォ、フラグ等の同期管理情報の格納に用いられる。
共有メモリ42に実装された相互排他制御機構により、送信CPUと受信CPU間におけるデータの整合性(consistency)が保証される。
また、相互排他制御機構により、送信側CPUは、排他制御領域422がロック状態のときは、送信CPUに対する割り込み要求をあげることが出来ず、これにより、送信CPUから受信CPUへの頻繁なデータ送信等、不当な割り込み発生を防ぐことが出来る。
なお、排他制御領域422としては、キューへの繋ぎ(エンキュー)、キューからの取り外し(デキュー)のロック管理として用いても良い。
図2において、割り込み制御装置41を介してひとつの受信CPUへの多重割り込みを許可する構成とした場合、共有メモリ42において、各CPUの通信領域における通信キュー421、排他制御領域422は、多重数分設けられることになる。
特に制限されないが、共有メモリ42は、図1のメモリ50の所定のメモリ領域を共有メモリとして用いても良いし、メモリ50とは別に、プロセッサ間通信手段40内に設ける構成としても良い。また、図示されないが、割り込み制御装置410〜41nからの割り込み要求(Interrupt Request)線は、パラレルに受信CPUに接続する構成としてもよいし(割り込み本数が増える)、あるいは、デイジーチェーン方式で接続する構成としても良い。
受信CPUは、割り込み制御装置41からの割り込み要求を受理すると、これを割り込み制御装置41に通知し、割り込み制御装置41は、図示されないデータ線に割り込み装置番号(割り込みベクター情報)を転送し、受信CPUは、割り込み装置番号から割り込みベクターを生成し、スケジューラを介して、受信CPUで実行される割り込みサービスルーチンが起動され、割り込みサービスルーチンが、対応する共有メモリ42の通信キューからデータを取得し、排他制御領域のmutex等のセマフォをリリース(アンロック)し、割り込みから復帰(Return From Interrupt)するという一連の制御が行われる。
図3は、図2示した第1例のプロセッサ間通信手段の動作手順を説明するための図であり、CPU#kからCPU#0へデータを転送する場合の手順が示されている。図3において、矢線脇の数字は、ステップ番号を表している。
ステップ1:送信CPU#kは、共有メモリ42のCPU#0の通信領域の排他制御領域をロックする。なお、共有メモリ42のCPU#0の通信領域の排他制御領域が他のCPUによりロックされていることを示している場合、例えば該ロックが解除されるまで待機する。
ステップ2:送信CPU#kは、共有メモリ42のCPU#0の通信領域の排他制御領域をロックした後、共有メモリ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:受信CPU#0は、共有メモリ42のCPU#0用通信領域の通信キューから、データを取得した後、CPU#0用割り込み取り消し部に、割り込み処理完了を通知する。
ステップ8:受信CPU#0からの取り込み処理完了通知を受けたCPU#0用割り込み制御装置の割り込み指示部は、CPU#0用割り込み制御装置の割り込み状態保持部を
更新する。
ステップ9:受信CPU#0は、共有メモリ42のCPU#0の通信領域の排他制御領域をアンロックする。
第1例において、特定の受信CPUへの割り込み要求の集中を確認した場合、受診CPUへの割り込み要求を制御する等の流量制御、帯域制御を行うようにしても良い。すなわち、割り込み制御装置41内に、送信CPU側から受信CPUに対して、連続・多発して割り込み要求を上げることがないように制限するQoS(Quality of Service)保証機能を備えても良い。例えば、受信CPUへのデータの引渡しを伴わない割り込み要求は、排他制御の対象とされず、複数連続して発行することが出来る。そこで、受信CPU側で割り込み処理が完了しない状態において、送信CPU側からの割り込み要求が発生し、割り込み制御装置41の割り込み状態保持部の「割り込み要求有り」が所定以上となった場合に、以降の送信CPU側から割り込み要求を不許可とする制御が行うようにしてもよい。かかる構成により、例えば送信CPUが、受信CPUへのデータの引渡しを伴わない割り込み要求を多量に発生することで、受信CPUの性能を低下させるといった類の攻撃を抑えることが出来る。
図4は、図1に示した第1例のアクセス制御手段30の構成を示す図である。図4を参照すると、このアクセス制御手段は30は、基本側バス70Aを介して、基本処理(図1の22)を実行するCPU10Aに接続詞、追加側バス70Bを介して追加処理(図1の23)を実行するCPU10Bに接続するアクセス許可手段31と、アクセス許可データ32を格納した記憶手段を備えている。
アクセス許可データ32は、CPU10Aから読み出し・書き込みが可能とされる。アクセス許可手段31からは読み出しのみが許可されている。そして、アクセス許可データ32は、CPU10Bからは読み出しも書き込みも不可とされる。すなわち、アクセス許可データ32とCPU10Bの間にはデータバスが存在しない。
アクセス許可手段31は、追加側バス70Bのアドレス信号線、制御信号線に転送される、メモリ50(図1参照)へのアクセスアドレス信号、及び制御信号(アクセスコマンド)から、アクセスの種別(リード/ライト)を判別し、アクセス許可データ32の情報を参照して、当該アクセスが適正であるか否かを判別する。判別の結果、アクセスが不当と判断された場合、アクセス許可手段31は、基本側バス70Aへのアクセスアドレス、制御信号(アクセスコマンド)の送出を行わず、これにより、CPU10B側から、基本側バス70Aへのアクセスは行われない。この場合、追加側バス70Bにアクセスアドレスを送出したCPU10B側では、バスエラー、あるいは、リード/ライトアドレスに対するメモリ50等からの不応答により、該アクセスが失敗したことを知る。
アクセス許可手段31は、入出力デバイス(I/O)60がメモリマップドI/Oである場合には、追加側バス70Bを監視し、アクセスアドレスが入出力デバイス対応のアドレスであることを検出し、データバス上に、I/Oコマンド(リード/ライト等)を検出した場合、該アクセスが適正であるかをアクセス許可データ32の情報を参照して決定する。入出力デバイスがメモリマップドI/Oでない場合も、追加側バス70Bに転送される入出力デバイスのデバイス番号、I/Oコマンドをデコードし、アクセス許可データ32の情報を参照して、アクセスの可否を決定する。
なお、第1例において、アクセス制御手段30は、単位時間あたりのデータ転送量の制御を行う帯域制約手段を備えてもよい。一例として、アクセス制御手段30は、CPU10Bがアクセス動作中に、CPU10Bから追加側バス70Bに転送されるデータ量を測定監視する手段を備え、例えば、単位時間あたり予め定められた閾値を超えるバイト数のデータが転送される場合、CPU10BからCPU10Aへのデータ転送を打ち切る制御を行うようにしてもよい。その際、CPU10Bが、CPU10Aへのデータ転送がフェイルしたことを知ってリトライした場合にも、アクセス制御手段30は、CPU10BからのデータをCPU10Aに転送することは行わない。あるいは、アクセス制御手段30は、バッファを備え、CPU10Bから追加側バス70Bに転送されるデータをバッファに蓄積し、CPU10Aに転送されるデータの流量を制御する構成としてもよい。
図5は、第1例におけるアクセス許可データ32の一例を示す図である。図5を参照すると、アクセス許可データは、追加処理を実行するCPU(図4の追加側バスに接続するCPU)と、アクセスが許可される範囲の始点アドレスと終点アドレスからなる許可範囲アドレスと、許可するアクセス種別(リード、リード/ライト、ライトの種別)がテーブル形式で格納されている。なお、許可範囲アドレスは、異なるCPUで重複しても良い。図5に示す例では、2行目のCPU#2、#3の許可範囲アドレスは、0xC000000から0xF000000で、読み出し/書き込み可(R/W)あり、3行目のCPU#3の許可範囲アドレスは、0xE000000から0xF000000であり、2行目と重複している。アドレス許可データの数、したがってテーブルのエントリ数は、その数が多いほど、きめ細かく、アクセス制御を行うことが出来る。なお、図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:基本処理を実行するCPU10Aは、アクセス制御手段30のアクセス許可データ32に、全ての追加処理を実行するCPU10Bが、あるアドレス範囲を読み出すことを禁止する。
ステップ2:CPU10Bが、追加処理23の実行等により、読み出しが禁止されたアドレス範囲への読み出し要求を発行したとする。
ステップ3:アクセス許可手段31は、アクセス許可データ32を読み出し、該アクセス要求の適否をチェックする。
ステップ4:アクセス許可手段31は、CPU10Bへエラーを返す。該アドレス範囲は、CPU10Bからの読み出しが禁止されているためである。
ステップ5:CPU10Bは、上記アドレス範囲とは別の範囲への読み出し要求を発行する。
ステップ6:アクセス許可手段31は、アクセス許可データ32を読み出してチェックする。
ステップ7:アクセス許可手段31は、CPU10Bの読み出しのアクセス要求を許可し、基本側バス70Aに読み出し要求として発行する。
なお、第1例では、アクセス制御手段30の構成として、アクセス許可手段31と、アクセス許可データ32を備え、アクセス許可情報に基づき、アクセス制御を行う例について説明したが、第1例にかかる構成のみに制限されるものでなく、アクセス許可のデータに変えて(反転し)、アクセス拒否データと、アクセス拒否手段を備えても良い。この場合、アクセス拒否手段は、追加処理を実行するCPU10Bからのアクセスアドレスが、アクセス拒否データに、アクセス拒否が定義されたアドレス範囲に合致した場合に、アクセスを拒否する制御を行う。
第1例の変形例として、アクセス許可手段31に、キャッシュを備えても良い。この場合、アクセス判定に用いたアクセスアドレス、アクセス許可データは、キャッシュに格納され、次回以降のアクセス制御の判定において、該当するアクセスアドレス(アドレス範囲)のアクセス許可データがキャッシュに存在するかを判定し、キャッシュヒットした場合、アクセス判定の高速化を実現している。キャッシュには、アクセスアドレスの範囲に対応するタグアドレス、アクセス許可データを備え、追加側バス70Bのアクセスアドレスがキャッシュとヒットするか否か判定するキャッシュヒット判定回路を備えて構成される。
さらに、第1例の変形例として、アクセス制御手段30が、新アクセス許可データ33と、アクセス許可データ更新手段34を備える構成としてもよい。図7を参照すると、アクセス制御手段30は、図6に示した第1例に加えて、基本側バス70Aに接続するアクセス許可データ更新手段34と新アクセス許可データ33を格納した記憶手段を備えている。この2つの手段の機能について詳細を説明する。
新アクセス許可データ33は、図6のアクセス許可データ32と同じ特徴を持つのに加え、アクセス許可データ更新手段34からのみの読み出しを許可する記憶手段である。
アクセス許可データ更新手段34は、基本側バス70Aを通じたCPU10Aからの要求によって、新アクセス許可データ33の内容をアトミックに新アクセス許可データ34に上書きする。
なお、第1例の変形例において、アクセス許可データ32の更新ではなく、新アクセス許可データ33への切替を行う手段を設けてもよい。
このような構成によれば、アクセス許可データ32の更新をCPUによりアトミックに書き換えることが可能となるため、アクセス制御手段30による保護すべき領域、制限すべき領域を動的に変更することが可能である。
また、図8は、第1例のアクセス制御手段30の別構成を示す図である。図8を参照すると、このアクセス制御手段30は、図6に示した第1例に加えて、追加側バス70Bに接続するアクセス監視手段35と学習手段36を備えている。この手段の機能について詳細を説明する。
アクセス監視手段35は、アクセス許可手段31と同様に追加側バス70Bを通じたCPU10Bからのアクセス情報を取得する。
学習手段36は、前記アクセス監視手段35から提供されるアクセス情報に基づき、その参照が適切かどうかを判断する。例えば、ユーザ保護データに対する参照回数をカウントしておき、もしあらかじめ指定された閾値を越えた場合には、異常事態と認定し、アクセス監視手段35にそのことを通知し、別途定められたルールに従ってアクセス許可データ32を動的に変更する。また、場合によっては、基本側バス70AにつながるCPU10Aに通知をし、異常時の処理を起動してもよい。
このような構成によれば、実際に参照されたパターンから信頼度が低いと思われるCPUの動作を履歴情報として蓄積することで自律的に制限できるため、実動作におけるCPUの動作状況に基づいたより安全な実行制御を行うことが可能となる。
また、アクセス制御手段30の構成例としては、図6の構成に加えて、上記説明した新アクセス許可データ33、アクセス許可データ更新手段34、アクセス監視手段35、学習手段36のすべてを備える構成とすることも可能である。
図9は、基本構成の第2例の構成を示す図である。図9を参照すると、第2例は、図1の構成に加えて、追加処理側のソフトウェアとOS、CPUをさらに1組追加したものである。すなわち、第2の追加処理側のCPU10Cは、プロセッサ間通信手段を介して、第1の追加処理用のCPU10Bと相互に通信する。また、第2の追加処理側のCPU10Cは、第2のアクセス制御手段302を介して、基本側バス70Aに接続される。
各アクセス制御手段301、302の設定は、基本処理22を実行するCPU10Aが設定する。すなわち、基本処理22を実行するCPU10Aが、マスタープロセッサとして機能する。CPU10Aにより、メモリ50及び入出力デバイス(I/O)60の集中的な管理が行われる。
第2の追加処理23Cを実行するCPU10Cは、第1の追加処理23Bを実行するCPU10Bに対してプロセッサ間通信手段403を介して通信(データ、コマンドの送信)を行い、第1の追加処理23Bを実行するCPU10Bは、基本処理22を実行するCPU10Aに対してプロセッサ間通信手段401を介して通信(データ、コマンドの送信)を行う。また、第2の追加処理23Cを実行するCPU10Cは、第2のアクセス制御手段302の監視の下、メモリ50、入出力デバイス(I/O)60に対して許可されたアクセスのみを行い、第1の追加処理23Bを実行するCPU10Bは、第1のアクセス制御手段301の監視の下、メモリ50、入出力デバイス(I/O)60に対して許可されたアクセスのみを行い、第1のアクセス制御手段301、第2のアクセス制御手段302のアクセス許可データの設定は、すべてCPU10Aによって行われる。かかる構成により、集中的な管理が行われ、また、プロセッサ間通信手段40により、CPU間で処理の受け渡しが行われる。第2例においても、基本処理22を実行するCPU10Aに対する、追加処理23B、23Cからの直接的な攻撃等は回避される。すなわち、前記第1例と同様に、追加処理23B、23Cは、基本処理22を直接起動あるいはサブルーチン呼出しすることは出来ず、基本処理22の起動要求は、例えばCPU10CからCPU10Bを介して、CPU10Aに、プロセッサ間通信手段を介して伝達され、該要求を受け取ったCPU10Aでは、権限が付与されていないCPUからの要求である場合、該要求を受理しない(この詳細については、後述するソフトウェアの実施例で詳述する)。このように、追加処理側のCPUと基本処理側のCPUに権限の階層が設けられるほか、プロセッサ間通信手段40、及びアクセス制御手段30というハードウェア機構を介することで、基本処理等の直接的な攻撃は、回避される。第2例におけるプロセッサ間通信手段401〜404は、図2に示した前記第1例の構成と同様とされ、アクセス制御手段301、302も、図4に示した前記第1例の構成と同様とされるため、その詳細構成、動作の説明は省略する。
図10は、基本構成の第3例の構成を示す図である。図10を参照すると、第3例は、図9に示した構成と同様に、図1の構成にさらに、追加処理側のCPU10Cと、アクセス制御手段302を追加したものである。第3例は、図9に示した前記第2例と相違して、メモリと入出力デバイス(I/O)を、各組(ドメイン)のCPU群毎に用意している。
第2の追加処理CPU10Cは、許可されたメモリ50C、入出力デバイス(I/O)60Cには、アクセス制限なく自在にアクセスすることが出来る。第1の追加処理CPU10Bには、許可されたメモリ50B、入出力デバイス(I/O)60Bには、アクセス制限なくアクセスすることが出来る。
第2の追加処理側のCPU10Cからの、基本処理側のメモリ50A、入出力デバイス(I/O)60Aへのアクセスは、第2のアクセス制御手段302及び第1のアクセス制御手段301の2段構成にて、アクセス制御が行われる。
第1の追加処理側のCPU10Bからの、基本処理側のメモリ50A、入出力デバイス(I/O)60へのアクセスは、第1のアクセス制御手段301により、アクセス許可が判定される。
第1のアクセス制御手段301のアクセス許可データ、第2のアクセス制御手段302のアクセス許可データは、基本処理のCPU10Aが設定する。第2のアクセス制御手段302のアクセス許可データは第1の追加処理のCPU10Bが設定しても良い。第3例によれば、メモリ、入出力デバイス(I/O)をドメイン単位に分離し、CPU間をプロセッサ間通信手段40で多段に接続する構成としたことにより、追加処理による攻撃からの防護機能を高め、安全性を確保している。
図11は、第3例の変形例を示す図であり、図1に示した第1例を2以上のチップにおいて適用した例である。図11を参照すると、CPU10A、10B、10C、10Dとアクセス制御手段301の組み合わせからなるチップ80を複数並べることに加えて、さらに個々のチップ80間をアクセス制御手段303で結合する。すなわち、チップ80A、チップ80B等を複数並べ、チップ80Aとチップ80B間等をアクセス制御手段303で結合する。
ある一チップ80内における一部のCPUを基本処理実行用として設けることで、一チップ80内のアクセス制御手段301によりアクセス制限を行うこともできるし、各チップ80内の少なくとも一部のCPUを基本処理実行用として設けることも可能である。
また、異なるチップ80にまたがってドメインを構成し、各チップ80間のアクセス制御手段303により実行を制御することも可能である。
いずれの場合でも、適切なアクセス制御手段30の設定によって、複数のチップ80間においても本発明を適用する情報処理装置の基本構成における実行制御を行うことが可能となる。
上記第3例では、主に、本発明のハードウェア構成について説明したが、本発明のソフトウェア構成について以下に説明する。
図12は、本発明を実施するソフトウェア構成の一例を示す図であり、基本ドメインと、Trusted(信頼)拡張ドメイン、Untrusted(無信頼)拡張ドメインを備えている。図12のハードウェア構成としては、3つの群のCPUを備えた、図10の構成等を用いることが出来る。この場合、基本処理を実行する実行環境である基本ドメインは、図10のソフト20、OS21Aに対応し、Trusted拡張ドメインは、図10のソフト20B、OS21Bに対応し、Untrusted拡張ドメインは、図10のソフト20C、OS21Cに対応させることが出来る。
図12を参照すると、基本ドメイン100Aは、基本アプリケーションプログラム(「基本アプリケーション」という)111と、基本性能112を含む基本ソフト110と、OS101Aと、専用ファイルシステム103と、外部デバイス102Aを備え、ネイティブコードダウンロード管理機能104Aと、セキュリティポリシデータベース105を備えている。特に制限されないが、基本機能112は、例えば、第3例の情報処理装置が携帯型情報通信端末である場合、発呼、着信処理等の呼処理、インターネットアクセス、画面処理等の、携帯型情報通信端末の基本性能を実現するもので、図1の基本処理22に対応している。基本アプリケーション111は、基本機能112を呼び出して処理を行い、基本機能112は、OSを介してファイルシステム、外部デバイスへのアクセスを行う。外部デバイスは、ワイヤレス通信インタフェース等の通信インタフェース、表示装置のインタフェース、キー、ポインティングデバイス等の入力インタフェース、SD(Secure Digital)メモリーカードインターフェース、サウンドインタフェース等を含む。
Trusted拡張ドメイン100Bは、ネイティブコードダウンロード実行機能104Bと、ダウンロードアプリケーションプログラム(「ダウンロードアプリケーション」という)120Bと、基本性能ライブラリ(ラッパー)113と、OS101Bと、許可された外部デバイス102Bを備えている。
OS101Bは、証明書付のダウンロードドライバ121Bを含む。証明書付のダウンロードドライバ121Bは、許可された外部デバイス102Bの入出力制御を行う。
Untrusted拡張ドメイン100Cは、ネイティブコードダウンロード実行機能104Cと、ダウンロードアプリケーション120Cと、OS101Cと、許可された外部デバイス102Cを備えている。OS101Cに組み込まれるダウンロードドライバ121Cは、許可された外部デバイス102Cの入出力制御を行う。
基本ドメイン100Aの外部デバイス102Aから入力され、ダウンロードされたファイルについて、ネイティブコードダウンロード管理機能104Aが、セキュリティポリシデータベース105の内容を参照することで、信頼できる(信頼できる電子証明書付)ネイティブコードのアプリケーションを、Trusted拡張ドメイン100Bに転送し、信頼できる(信頼できる電子証明書付)ネイティブコードのダウンロードドライバ121BのOS101Bへの組み込みを行う。
また、ネイティブコードダウンロード管理機能104Aは、信頼できない(例えば電子証明書無しであるか、証明書の内容が正しくない場合等)アプリケーションを、Trusted拡張ドメイン100B経由で、Untrusted拡張ドメイン100Cへ転送し、信頼できない(証明書無し)ダウンロードドライバのUntrusted拡張ドメインのOS101Cへの組み込みを行う。
Trusted拡張ドメイン100Bからは、基本機能112の呼出しは許可されるが、Untrusted拡張ドメイン100Cからの基本機能112の呼び出しは、許可されない。ただし、Untrusted拡張ドメイン100CとTrusted拡張ドメイン100Bとの協働作業は可能である。
信頼できるドメインで動作するアプリケーションプログラムは、信頼できないドメインからのデータについて、ユーザの確認(OK)があった場合にのみ、基本機能112へ引き渡す。ユーザの確認無く、信頼できないドメインからのデータを、基本機能112に渡さない。なお、信頼できる拡張ドメイン100Bから、直接、基本ドメイン100Aの基本機能112へ、処理要求を発行することは出来ない。
図13は、図12に示した第3例の動作を説明するための図であり、基本アプリケーションの実行を示す図である。図13において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
ステップ1:基本ドメイン100Aの基本アプリケーション111は、基本機能112に、処理要求(例えば、アドレス帳の追加等)を発行する。
ステップ2:基本機能112は、OS101Aを利用して、該当要求を処理する。
ステップ3:基本機能112は、基本アプリケーション111に要求の成否を通知する。
図14は、図12に示した第3例の動作を説明するための図であり、信頼アプリケーションのダウンロードの実行の様子を示す図である。図14において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
ステップ1:基本ドメイン100A上の外部デバイス102A(ネットワーク又はSDメモリカード等)からOS101Aにダウンロードデータが到着する。
ステップ2:ダウンロードデータは、基本機能112にて、属性情報等の情報から、追加アプリケーション(ダウンロードアプリケーション)と認識される。
ステップ3:基本機能112は、追加アプリケーションを、ネイティブコードダウンロード管理機能104Aに渡し、ネイティブコードダウンロード管理機能104Aは、セキュリティポリシデータベース105を参照して、追加アプリケーションに付随した電子証明書をチェックする。前述したように、例えば電子証明書には、公開鍵やデジタル署名(証明される機関や公開鍵などを秘密鍵で暗号化したもの)が格納され、ネイティブコードダウンロード管理機能104Aが、証明書の認証を行う場合には、デジタル署名の部分を、公開鍵で解読して、証明書のデータの内容と一致するか否かを確認し、一致する場合に、証明書のデータを信頼してもよいと判断する。さらに、アプリケーションのダイジェストからなるデジタル署名を付随しておくことで、ダウンロードしたアプリケーションが改竄されていないかどうかチェックすることが出来る。
ステップ4:ネイティブコードダウンロード管理機能104Aは、電子証明書とともに、ダウンロード情報を、セキュリティポリシデータベース105に保存する。
ステップ5:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、電子証明書のチェックの結果、正しい場合、Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bに、ダウンロードアプリケーションを送信し、実行を要求する。基本ドメイン100Aのネイティブコードダウンロード管理機能104Aから、Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bのデータの送信は、図9又は図10のプロセッサ間通信手段40を用いて行われる。
ステップ6:Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bは、受け取ったダウンロードアプリケーションを実行するように制御する。
ステップ7:ダウンロードアプリケーションはTrusted拡張ドメイン上で実行される。
図15は、図12に示した第3例の動作を説明するための図であり、信頼ドライバのダウンロード実行を示す図である。信頼ドライバとは、例えばダウンロードされたドライバに添付される電子証明書の照合結果が正しいドライバを言う。図15において、各矢線に付された番号は、当該線を情報が転送される図轍鮒番号を表している。
ステップ1:基本ドメイン100A上の外部デバイス102A(ネットワーク又はSDカード等)からOS101Aにダウンロードデータが到着する。
ステップ2:基本機能112にて、属性情報、自動インストール情報等から、ダウンロードデータは、追加デバイスドライバ(ダウンロードドライバ)であると認識する。
ステップ3:基本機能112は、受信したドライバを、ネイティブコードダウンロード管理機能104Aに渡す。ネイティブコードダウンロード管理機能104Aは、セキュリティポリシデータベース105を参照して、ダウンロードデータに付随した電子証明書をチェックする。
ステップ4:ネイティブコードダウンロード管理機能104Aは、電子証明書とともに、ダウンロード情報をセキュリティポリシデータベース105に保存する。
ステップ5:ネイティブコードダウンロード管理機能104Aは、Trusted拡張ドメインのネイティブコードダウンロード実行機能104Bに対して、ダウンロードドライバを送信し、インストールの実行を要求する。基本ドメイン100Aのネイティブコードダウンロード管理機能104Aから、Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bのデータの送信は、図9又は図10のプロセッサ間通信手段40を用いて行われる。
ステップ6:Trusted拡張ドメインのネイティブコードダウンロード実行機能104Bは、受け取ったダウンロードドライバを自動インストールする。特に制限されないが、第3例において、ダウンロードドライバはインストールした後CPUを再起動してOS101Bのある領域に組み込むレジデント型のドライバであっても良い。
ステップ7:Trusted拡張ドメインのOS101Bは、ダウンロードドライバをインストールされたことを、既に実行済みのアプリケーションに通知するか、表示する。
ステップ8:Trusted拡張ドメインにおいて、既に実行済みのアプリケーション102Bは、インストールされたダウンロードドライバ121Bを参照する。
ステップ9:Trusted拡張ドメインのOS101Bにインストールされ、ロードされたダウンロードドライバ121Bは、許可された外部デバイス102Bをアクセスする。
ステップ10:ダウンロードドライバ121Bは、ダウンロードアプリケーション1210Bに外部デバイス102Bからのデータを返す。
図16は、図12に示した第3例の動作を説明するための図であり、Trusted拡張ドメインの信頼アプリケーション(ダウンロードアプリケーション)が、基本ドメインの基本機能を利用する場合の動作を示す図である。図16において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
ステップ1:Trusted拡張ドメイン100Bにおいて、ダウンロードアプリケーション120Bが、基本機能ライブラリ113へ、基本ドメイン100Aの基本機能112の処理を要求する。基本機能ライブラリ113は、基本ドメイン100Aの基本機能112の処理を実行するためのルーチンを集めたライブラリであり、ダウンロードアプリケーション120Bから起動される。
ステップ2:Trusted拡張ドメイン100Bの基本機能ライブラリ113は、ダウンロードアプリケーション120Bが保有する電子証明書の鍵(公開鍵等)を用いて、要求を暗号化し、暗号化した要求を、基本ドメイン100Aのネイティブコードダウンロード管理機能104Aへ送信する。Trusted拡張ドメイン100Bの基本機能ライブラリ113から基本ドメイン100Aのネイティブコードダウンロード管理機能104Aへの要求の送信は、図9又は図10のプロセッサ間通信手段40を介して行われる。
ステップ3:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、受け取った要求を復号し、該要求を、電子証明書を利用して、要求送信元が適正であるか否か等のチェックを行う。なお、この例では、要求の暗号化と復号を用いて、要求をチェックしているが、アプリケーションと電子証明書の対応がとれる方法であれば、任意の方法を用いてよいことは勿論である。
ステップ4:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、要求のチェックの結果、OKであれば、基本機能112へ要求を依頼する。
ステップ5:基本ドメイン100Aの基本機能112は、ネイティブコードダウンロード管理機能104Aから受け渡された該要求を処理し、処理終了後、基本ドメイン100Aのネイティブコードダウンロード管理機能104Aへ、処理完了を通知する。
ステップ6:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、Trusted拡張ドメイン100Bの基本機能ライブラリ113へ、処理の完了を通知する。基本ドメイン100Aのネイティブコードダウンロード管理機能104AからTrusted拡張ドメイン100Bの基本機能ライブラリ113への通知の送信は、図9又は図10のプロセッサ間通信手段を介して行われる。
ステップ7:Trusted拡張ドメイン基本機能ライブラリ113は、ダウンロードアプリケーション120Bに、要求に対する応答として処理の完了を通知する。
図17は、図12に示した第3例の動作を説明するための図であり、Untrusted拡張ドメインの無信頼アプリケーションのダウンロードの実行手順を示す図である。図17において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
ステップ1:基本ドメイン100A上の外部デバイス102A(ネットワーク又はSDカード等)から、OS101Aにダウンロードデータが到着する。
ステップ2:基本ドメイン100Aの基本機能112では、属性情報等を解析し、ダウンロードデータをアプリケーション(ダウンロードアプリケーション)を認識する。
ステップ3:基本ドメイン100Aの基本機能112は、ダウンロードアプリケーションを、ネイティブコードダウンロード管理機能104Aに渡す。ネイティブコードダウンロード管理機能104Aでは、アプリケーションに、電子証明書が付随されていないか、あるいは電子証明書が正しくないと判別する。
ステップ4:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、セキュリティポリシデータベース105に、ダウンロード情報を保存する。
ステップ5:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、Trusted拡張ドメインのネイティブコードダウンロード実行機能104Bに、ダウンロードされたアプリケーションを送信する。基本ドメイン100Aのネイティブコードダウンロード管理機能104AからTrusted拡張ドメインのネイティブコードダウンロード実行機能104Bへのアプリケーションの送信は、図9又は図10に示したプロセッサ間通信手段40を介して行われる。
ステップ6:Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bは、Untrusted拡張ドメイン100Cのネイティブコードダウンロード実行機能104Cにアプリケーションを送信し、実行を要求する。Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104BからUntrusted拡張ドメイン100Cのネイティブコードダウンロード実行機能104Cへのアプリケーションの送信は、図9又は図10に示したプロセッサ間通信手段40を介して行われる。
ステップ7:Untrusted拡張ドメインのネイティブコードダウンロード実行機能104Cは、受信したダウンロードアプリケーション120Cの起動を行う。
ステップ8:ダウンロードアプリケーション120Cは、Untrusted拡張ドメイン100Cで動作を開始する。この場合、Untrusted拡張ドメインのダウンロードアプリケーション120Cは、Untrusted拡張ドメインのOS101C上で動作し、許可された外部デバイス102Cへのアクセスのみが許可される。
図18は、図12に示した第3例の動作を説明するための図であり、無信頼ドライバのダウンロード実行の様子を示す図である。図18において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
ステップ1:基本ドメイン100A上の外部デバイス102A(ネットワーク又はSDカード等)から、OS101Aにダウンロードデータが到着する。
ステップ2:基本機能112は、ダウンロードデータの到着で起動され、属性情報、インストール情報等のダウンロードデータを解析し、デバイスドライバ(ダウンロードドライバ)と認識する。
ステップ3:基本機能112は、ダウンロードドライバを、ネイティブコードダウンロード管理機能104Aに渡し、ネイティブコードダウンロード管理機能104Aは、ダウンロードドライバに電子証明書が添付されていないか、あるいは、電子証明書は添付されているが、電子証明書の内容が正しくないことが分かる。
ステップ4:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、ダウンロード情報のみをセキュリティポリシデータベース105に保存する。
ステップ5:ネイティブコードダウンロード管理機能104Aは、Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bにダウンロードドライバを送信する。ネイティブコードダウンロード管理機能104AからTrusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bへのダウンロードドライバの送信は、図9又は図10に示したプロセッサ間通信手段40を介して行われる。
ステップ6:Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104Bは、受け取ったダウンロードドライバを、Untrusted拡張ドメイン100Cのネイティブコードダウンロード実行機能104Cに転送する。Trusted拡張ドメイン100Bのネイティブコードダウンロード実行機能104BからUntrusted拡張ドメイン100Cのネイティブコードダウンロード実行機能104Cへのダウンロードドライバの転送は、図9又は図10に示したプロセッサ間通信手段40を介して行われる。
ステップ7:Untrusted拡張ドメイン100Cのネイティブコードダウンロード実行機能104Cは、受信したダウンロードドライバ121Cをインストールする。
ステップ8:OS101Cは、ドライバ121Cがインストールされたことを、既に実行済みのアプリケーション120Cへ通知するか、画面に表示する(ユーザに通知する)。
ステップ9:Untrusted拡張ドメイン100Cにおいて、既に実行済みのアプリケーション120Cは、インストールされたダウンロードドライバ121Cを参照する。
ステップ10:Untrusted拡張ドメイン100Cにおいて、インストールされたダウンロードドライバ121Cは、Untrusted拡張ドメインのOS101Cを介して、許可された外部デバイス102Cをアクセスする。
ステップ11:Untrusted拡張ドメインにおいて、ダウンロードドライバ121Cは、ダウンロードアプリケーション120Cに、外部デバイス102Cから取得したデータを返す。
図19は、図12に示した第3例の動作を説明するための図であり、信頼アプリケーションと無信頼アプリケーションの連携の様子を示す図である。図19において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
ステップ1:Untrusted拡張ドメイン100C上のダウンロードアプリケーション120Cは、Trusted拡張ドメイン100B上のダウンロードアプリケーション120Bへデータを送信する。このデータの送信は、通常、図9又は図10のプロセッサ間通信手段40によって行われる。
ステップ2:Trusted拡張ドメイン100B上のダウンロードアプリケーション120B」は、受け取ったデータによる処理を行い、基本機能ライブラリ113へ、Untrusted拡張ドメインと連携した情報を含む基本機能処理を要求する。
ステップ3:Trusted拡張ドメイン100B上の基本機能ライブラリ113は、アプリケーションが保有する電子証明書を用いて、要求を暗号化し、基本ドメイン100A上のネイティブコードダウンロード管理機能104Aへ送信する。この要求の送信は、通常、図9又は図10のプロセッサ間通信手段40によって行われる。
ステップ4:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、要求を復号し、該要求の安全性を、セキュリティポリシデータベース105に格納された電子証明書を利用してチェックする。チェックの結果、要求が正しい場合、ネイティブコードダウンロード管理機能104Aは、基本アプリケーション111を介して、ユーザに確認を求める。基本アプリケーション111は、画面表示、入力のアプリケーションを含む。なお、この例では、要求の暗号化と復号を用いて、アプリケーションと電子証明書の対応をチェックしているが、アプリケーションと電子証明書との対応が取れる方法であれば、任意の方法を用いても良いことは勿論である。
ステップ5:ユーザからの確認として「NO」が入力されるとする。
ステップ6:ネイティブコードダウンロード管理機能104Aは、Trusted拡張ドメイン100Bの基本機能ライブラリ113へ不許可を通知する。この不許可の通知は、通常、図9又は図10のプロセッサ間通信手段40によって行われる。
ステップ7:基本機能ライブラリ113は、ダウンロードアプリケーション120Bへ不許可を通知する。
ステップ8:Trusted拡張ドメイン100B上のダウンロードアプリケーション120Bは、Untrusted拡張ドメイン100C上のダウンロードアプリケーション120Cに不許可を通知する。この不許可の通知は、通常、図9又は図10のプロセッサ間通信手段40によって行われる。
図20は、図12に示した第3例の動作を説明するための図であり、信頼アプリケーションと無信頼アプリケーションの連携を示す図である。図20において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
ステップ1:Untrusted拡張ドメイン100C上のダウンロードアプリケーション120Cは、Trusted拡張ドメイン100B上のダウンロードアプリケーション120Bへデータを送信する。このデータの送信は、図9又は図10等のプロセッサ間通信手段40によって行われる。
ステップ2:Trusted拡張ドメイン100B上のダウンロードアプリケーション120Bは、受け取ったデータによる処理を行い、基本機能ライブラリ113へ、Untrustedと連携した情報を含む基本機能処理を要求する。
ステップ3:Trusted拡張ドメイン100Bの基本機能ライブラリ113は、アプリケーション120Bga保有する電子証明書を用いて、要求を暗号化し、基本ドメイン100A上のネイティブコードダウンロード管理機能104Aへ送信する。この要求は、通常、図9又は図10のプロセッサ間通信手段40によって行われる。
ステップ4:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、要求を復号し、該要求の安全性を、セキュリティポリシデータベース105に格納される電子証明書を利用してチェックする。チェックの結果、要求が正しい場合、ネイティブコードダウンロード管理機能104Aは、基本アプリケーション111を介してユーザに確認を求める。なお、この例では、要求の暗号化と復号を用いて、アプリケーションと電子証明書の対応をチェックしているが、アプリケーションと電子証明書との対応が取れる方法であれば、任意の方法を用いても良いことは勿論である。
ステップ5:この場合、ユーザの確認として「YES」が入力される。
ステップ6:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、基本機能112へ要求を依頼する。
ステップ7:基本機能112は、要求を処理し、ネイティブコードダウンロード管理機能104Aに処理完了を通知する。
ステップ8:基本ドメイン100Aのネイティブコードダウンロード管理機能104Aは、Trusted拡張ドメイン100Bの基本機能ライブラリ113に完了を通知する。この完了通知は、図9又は図10のプロセッサ間通信手段40によって行われる。
ステップ9:Trusted拡張ドメイン100Bの基本機能ライブラリ113は、ダウンロードアプリケーション120Bに完了を通知する。
ステップ10:Trusted拡張ドメイン100Bのダウンロードアプリケーション120Bは、Untrusted拡張ドメイン100Cのダウンロードアプリケーション120Cに完了を通知する。この完了通知は、図9又は図10のプロセッサ間通信手段40によって行われる。
図21は、基本構成の第4例の構成を示す図である。OSとCPU間に仮想マシンモニタ(OSとの間に設けられ、CPUで実行されるソフトウェア層)を備えている。これにより、CPU、I/O、メモリ資源を仮想化している。仮想マシンモニタは、OSとCPU間で、仮想ハードウェア(例えば仮想入出力デバイス)を、実際のハードウェアデバイスにマッピングする。基本ドメイン、Trusted拡張ドメイン、Untrusted拡張ドメインのそれぞれについて、OSは、仮想の専用ファイルシステム、仮想外部デバイスとの入出力(I/O)制御を行い、OSとCPU間に、仮想CPU200A、200B、200C、仮想マシンモニタ210A、210B、210Cを備え、仮想の専用ファイルシステム103’、仮想外部デバイス102A’、102B’、102C’を、対応する実ファイルシステム、実外部デバイスへマッピングする。
第4例によれば、図10のハードウェア構成、図12のソフトウェア構成と相違して、第4例において、例えば基本ドメインに対応する仮想CPUは固定でなく、Trusted拡張ドメイン等のCPUを、基本ドメインの仮想CPUとしてマッピングすることができる。なお、仮想マシンモニタは、その実装において、既存のOS、アプリケーションプログラム、CPU等の修正等は不要とされる。第4例によれば、各ドメインのCPUの個数は可変とされ、仮想CPUを構成する。ソフトウェア構成としては、基本ドメイン、Trusted拡張ドメイン、Untrusted拡張ドメインの構成は、デバイス、ファイルシステムが仮想デバイス、仮想ファイルシステムであることを除いて、図12に示した構成と同様である。
図22は、図21に示した第4例の処理手順の一例を示す図である。図22において、各矢線に付された番号は、ステップ番号を表している。
ステップ1:基本ドメイン100Aの仮想マシンモニタ210Aは、Trusted拡張ドメイン100B上の仮想マシンモニタ210Bに対してCPUの委譲を要求する。
ステップ2:Trusted拡張ドメイン100B上の仮想マシンモニタ210Bは、仮想CPU資源を減らす。
ステップ3:Trusted拡張ドメイン100B上の仮想マシンモニタ210Bは、基本ドメイン100A上のCPU上の仮想マシンモニタ210Aに委譲可能なCPUを通知する。
ステップ4:基本ドメイン100A上の仮想マシンモニタ210Aは、アクセス制御手段等の設定を行い、仮想CPUの数を増やす。
第4例によれば、別の群のCPUを、基本ドメインのCPUのように動作させることが出来る。なお、アプリケーションのダウンロード処理は、前記した第3例の処理動作(図13乃至図20)と同一であるため、その説明は省略する。
第4例の変形例として、仮想マシンモニタを、セキュアモードで動作させるようにしても良い。このようにすることで、安全性をさらに向上させることが出来る。
上記ソフトウェアの各例において、各ドメインのCPU群がマルチプロセッサとして動作する場合、キャッシュコヒーレンスを保つためのバス、仮想マルチプロセッサの無効化のために、TLB(Translation Lookaside Buffer:アドレス管理ユニット内に設けられるアドレス変換表)の全エントリをフラッシュするシュートダウン等、ハードウェアで協調動作するチャネルについては、すべて、基本ドメイン100Aから、制御できるように構成されている。また、図23に示すように、各ドメインのCPU群(例えば図1のマルチCPU構成のCPU群10A、10B)を、分離手段15を介して、複数に分業できる構成としても良い。これにより、例えばあるドメインのCPUを他のドメインに委譲する際の制御が容易化し、さらに障害マルチプロセッサの分離(graceful degrading)等にも対応可能としている。
なお、前記第1例〜第4例では、ネットワーク等装置外部からネイティブコードの追加処理(アプリケーション、デバイスドライバ)をダウンロードして実行する情報通信端末装置を例に説明したが、本発明は、かかる情報通信端末装置に限定されるものでなく、任意の情報処理装置に適用可能である。
(第1の実施例)
上記において基本構成として示した情報処理装置のいずれかに対して本発明を適用した第1の実施例について説明する。基本構成で示したのと同様の構成及び動作については適宜説明を省略する。
(第1の実施例の構成)
図24に示すように、本発明の第1の実施例による情報処理装置は、マルチプロセッサにより構成されており、最高信頼度ドメイン150A、中信頼度ドメイン150B、低信頼度ドメイン150Cと、データ送信部301,302,303と、低信頼度ドメイン用データ送信部304,305と、中信頼度ドメイン用データ送信部306,307と、ドメイン停止復旧手段400とを備え、ドメインからの復旧等の要求を通知されると、通知された要求に対応する処理を実行する機能を有し、または、その要求が正当な場合に、通知された要求に対応する処理を実行する機能を有する。
なお、本発明の第1の実施例による情報処理装置は、マルチプロセッサ上で各ドメインが有するシングルプロセッサ向けOSと既存のアプリケーションをそれらに改造を加えることなく動作させ、その既存のアプリケーションに対してマルチプロセッサによる並列処理を実現できるようにしたシングルプロセッサ向けOSによる並列処理システムにかかるものでもよい。
この場合には、シングルプロセッサ上でアプリケーションを動作させるよりも高速処理が可能となり、また、マルチプロセッサがそれぞれ独立したOSを備える並列処理システムよりも簡易な構成により並列処理が実現できる。
最高信頼度ドメイン150Aは、前述の第2例の図9や第3例の図10におけるソフトウェア20AとCPU10Aとからなる構成や、第4例の図21における基本ドメイン100Aと仮想CPU200Aと仮想マシンモニタ210Aとからなる構成に対応し、また、基本ドメイン100Aと同様に、基本アプリケーションや基本ソフトを有する。これら基本アプリケーションや基本ソフトとして、例えば、メーラー、ブラウザ、iモード(登録商標)や、アドレス帳の機能等を備えるものが挙げられる。
また、最高信頼度ドメイン150Aは、自身が備えるCPU、OSによって、中信頼度ドメイン150B及び低信頼度ドメイン150Cと、ドメインで発行された処理要求に関するデータや制御に関するデータ等を通信する機能を有する。
なお、最高信頼度ドメイン150Aは、ある一定のセキュリティレベル以上の処理を実行するドメインであり、他のドメインと分離して設けられており、また、例えば、外部からダウンロードされたネイティブコードの実行は行わず、さらに、最も高い信頼度であることから、他の全てのドメインについて、停止状態等の障害を復旧することが可能である。
また、最高信頼度ドメイン150Aは、最高信頼度ドメイン150A以外への通信経路専用の低信頼度ドメイン用データ送信部304及び中信頼度ドメイン用データ送信部306と、最高信頼度ドメイン150A以外のドメインからの通信経路専用のデータ送信部302,303とに接続しており、各ドメインへの通信経路がそれぞれ別に設けられていることから、最高信頼度ドメイン150Aのみに各種データの書き込みが許可される。
中信頼度ドメイン150Bは、前述の第2例の図9や第3例の図10におけるソフトウェア20BとCPU10Bとからなる構成や、第4例の図21におけるTrusted(信頼)拡張ドメイン100Bと仮想CPU200Bと仮想マシンモニタ210Bとからなる構成に対応する。
また、中信頼度ドメイン150Bは、自身が備えるCPU、OSによって、最高信頼度ドメイン150A及び低信頼度ドメイン150Cと、ドメインで発行された処理要求に関するデータや制御に関するデータ等を通信する機能を有する。
なお、中信頼度ドメイン150Bは、最高信頼ドメイン150Aで実行する処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、他のドメインと分離して設けられており、また、例えば、ダウンロードされたネイティブコードのうち、信頼できると保障されたコードのみを実行する。
低信頼度ドメイン150Cは、前述の第2例の図9や第3例の図10におけるソフトウェア20CとCPU10Cとからなる構成や、第4例の図21におけるUntrusted(無信頼)拡張ドメイン100Cと仮想CPU200Cと仮想マシンモニタ210Cとからなる構成に対応する。
また、低信頼度ドメイン150Cは、自身が備えるCPU、OSによって、最高信頼度ドメイン150A及び中信頼度ドメイン150Bと、ドメインで発行された処理要求に関するデータや制御に関するデータ等を通信する機能を有する。
なお、低信頼度ドメイン150Cは、中信頼度ドメイン150Bで実行する処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、他のドメインと分離して設けられており、また、例えば、ダウンロードされたネイティブコードのうち、信頼できると保障されたコード以外のコードを実行する。
また、最高信頼度ドメイン150A、中信頼度ドメイン150B、低信頼度ドメイン150Cは、以下のように形成してもよい。
最高信頼ドメイン150Aは、最高信頼ドメイン150Aのセキュリティレベルの実行処理のそれぞれが、中信頼度ドメイン150Bの実行処理のセキュリティレベルと同じか又は高く、そして基本ドメインの実行処理の集合として少なくとも1つセキュリティレベルの高い処理を含むドメインとし、中信頼ドメイン150Bは、中信頼度ドメイン150Bのセキュリティレベルの実行処理のそれぞれが、低信頼度ドメイン150Cの実行処理のセキュリティレベルと同じか又は高く、そして各ドメインの実行処理の集合として少なくとも1つセキュリティレベルの高い処理を含むドメインとし、低信頼度ドメイン150Cは、低信頼度ドメイン150Cのセキュリティレベルの実行処理のそれぞれが、中信頼度ドメイン150Bの実行処理のセキュリティレベルと同じか又は低く、そして各ドメインの実行処理の集合として少なくとも1つセキュリティレベルの低い処理を含むドメインとする。
この場合には、最高信頼度ドメイン150Aは、中信頼度ドメイン150Bよりも相対的にセキュリティレベルの高い処理を行い、中信頼ドメイン150Bは、低信頼度ドメイン150Cよりも相対的に高い処理を行う。
本発明の第1の実施例における信頼度とは、処理ごとに付与されたセキュリティの度合いを示す電子証明書に基づき、あるセキュリティポリシーに従ってセキュリティレベルの段階ごとに設定されるものをいう。例えば、デジタル署名が付与された処理ごとに、あるセキュリティポリシーに基づきセキュリティレベルが設定される。
図25は、機能重要度設定テーブル700を示す図であり、本発明の第1の実施例において設定される信頼度の一例を示す。
図25に示すように、信頼度は、例えば、階層的に、レベルA:パスワードが必要、レベルB:2度確認しない、レベルC:実行ごとに確認、レベルD:アクセスごとに確認、のように各レベルの重要度に応じたセキュリティレベルで設定される。
これを利用して、実行する機能に応じてドメインに信頼度を付与する。すなわち、ドメインによる障害の復旧要求の内容の重要度に応じて信頼度を設定する。
これにより、例えば、低信頼度ドメイン150Cからの復旧要求を一律には拒否せずに、軽微な障害についての復旧要求の場合にはこれを許諾するなど、柔軟な復旧処理が可能となる。
最高信頼度ドメイン150AにはレベルA、中信頼度ドメイン150BにはレベルB、低信頼度ドメイン150CにはレベルCを配置するというように、一ドメインには同種のセキュリティレベルのみを配置してもよいが、柔軟な復旧処理を可能にする信頼度の設定として、例えば、図25のように、最高信頼度ドメイン150Aには実行する機能の重要度によってレベルA以上、レベルB以上、中信頼度ドメイン150Bにも実行する機能によってレベルB以上、レベルC以上、低信頼度ドメイン150Cにも実行する機能によってレベルC以上、レベルD以上という配置としても良い。
このように設定された信頼度は、例えば、最高信頼度ドメイン150Aによって管理されていてもよく、この場合には、最高信頼度ドメイン150Aの判断により、実行する機能や処理について信頼度に応じた優先順位を定めることができる。
このような設定が可能であればどんな証明書やどんなセキュリティポリシーに基づいて設定してもよく、実行する機能やドメイン数に応じて任意に設定することが可能である。
データ送信部301,302,303は、ドメインで発行された処理要求に関するデータや制御に関するデータ等を送信する機能を有し、構成例として例えば、共有メモリとプロセッサ間割込み、FIFOやキュー、デュアルポートメモリーや、他にLAN等のネットワーク、有線通信や無線通信等からなる構成が挙げられ、データを送信する機能を有する従来の一般的な技術でよく、データ送信が可能であれば構成は特に制限されない。
データ送信部301,302,303で送信されるデータは、処理要求を発行した要求元ドメインを識別する情報、処理の対象となるドメインを識別する情報、処理の内容を識別する情報等を含み、また、場合により、処理の対象となるドメインの実際の障害状況に関する情報を含む。
なお、データ送信部301,302,303は、送信先ドメイン内の上位層へのエラー通知又はエラー処理を行う機構(不図示)を備える。送信先ドメインが復旧処理中のデータ送信においては、このような機構によりデータ送信完了までの無駄な待ちを排除する必要があるからである。
また、後述のデータ送信手段304a、305a、306a、307aも同様である。
データ送信部301は、最高信頼度ドメイン150Aで発行された、中信頼度ドメイン150Bや低信頼度ドメイン150Cの復旧等を要求する処理要求等を、ドメイン停止復旧手段400に通知する機能を有する。
データ送信部302は、中信頼度ドメイン150Bで発行された、中信頼度ドメイン150Bや低信頼度ドメイン150Cの復旧等を要求する処理要求等を、最高信頼度ドメイン150Aに通知する機能を有する。
データ送信部303は、低信頼度ドメイン150Cで発行された、中信頼度ドメイン150Bや低信頼度ドメイン150Cの復旧等を要求する処理要求等を、最高信頼度ドメイン150Aに通知する機能を有する。
低信頼度ドメイン用データ送信部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の処理負担を増大させないために、当該検知処理に要する時間はより短時間であることが望ましい。
また、低信頼度ドメイン停止検知手段304b,305bは、低信頼度ドメイン150Cが停止状態であることを検知すると、最高信頼度ドメイン150Aに、低信頼度ドメイン150Cが停止状態であることを通知する。
中信頼度ドメイン停止検知手段306bは、低信頼度ドメイン停止検知手段304b,305bと同様の構成及び機能を備え、データ送信手段306aによって中信頼度ドメイン150Bにデータ送信をする際に、中信頼度ドメイン150B(の障害内容を検知)が実際に停止状態であるか否かを検知する機能を有する。
この検知機能は、例えば、送信先ドメインである中信頼度ドメイン150Bに当該データが受信されているか否かを判断することによって、中信頼度ドメイン150Bが停止状態であるか否かを検知する。具体的には、当該データが中信頼度ドメイン150Bに受理されない時間や回数を計測することによって判断することができる。なお、最高信頼度ドメイン150Aの処理負担を増大させないために、当該検知処理に要する時間はより短時間であることが望ましい。
また、中信頼度ドメイン停止検知手段306bは、中信頼度ドメイン150Bが停止状態であることを確認すると、最高信頼度ドメイン150Aに、中信頼度ドメイン150Bが停止状態であることを通知する。
なお、後述するように、中信頼度ドメイン停止検知手段306bは、中信頼度ドメイン150Bに対する復旧処理を許可するための権限を有する場合には、中信頼度ドメイン150Bが停止状態であることをドメイン停止復旧手段400に直接通知し、ドメイン停止復旧手段400を用いて中信頼度ドメイン150Bの復旧処理を行ってもよい。
この場合には、最高信頼度ドメイン150Aが復旧処理の許可に関する処理を行わないことから、最高信頼度ドメイン150Aの処理負担が軽くなるという効果を奏する。
一方、中信頼度ドメイン停止検知手段307bは、自ドメインより信頼度が高いドメインの停止を検知する手段であり、データ送信手段306aによって中信頼度ドメイン150Bにデータ送信をする際に、中信頼度ドメイン150Bが実際に停止状態であるか否かを検知する機能を有する。
この検知機能は、例えば、送信先ドメインである中信頼度ドメイン150Bに当該データが受信されているか否かを判断することによって、中信頼度ドメイン150Bが停止状態であるか否かを検知する。具体的には、当該データが中信頼度ドメイン150Bに受理されない時間や回数を計測することによって判断することができる。なお、当該検知処理の時間が短いと、低信頼度ドメイン150Cが最高信頼度ドメイン150Aに通知する情報の真偽についての信頼度が低いので、当該検知処理にはより長時間を設けることを必要とする。
また、中信頼度ドメイン停止検知手段307bは、中信頼度ドメイン150Bが停止状態であることを検知すると、最高信頼度ドメイン150Aに、中信頼度ドメイン150Bが停止状態であることを通知する。
また、上記各ドメイン停止検知手段は、停止検知の対象となるドメインが実際に停止状態であるか否かを、例えば、以下の示すような方法によって検知することができる。
(1)送信元ドメインが、停止検知の対象となる送信先ドメインに定期的に送るチェックパケットの応答の有無を計測することによって検知できる。具体的には、応答のない時間や回数を計測する。また、計測する当該時間や回数は信頼度の差に応じて変更してもよい。
(2)送信先ドメインが表示する停止・暴走情報を計測することによって検知できる。具体的には、送信先ドメインが定期的に更新する情報が途絶えたことを計測する。
なお、上記における当該時間、回数や更新情報の計測頻度等をそれぞれ送信先ドメインよりも高い信頼度のドメインが設定可能としてもよい。ただし、最低閾値を超えての設定の変更はできないものとする。
上記各ドメイン停止検知手段は、上記各検知処理の手法や当該時間、回数や更新情報等を任意に組み合わせることによって、停止検知の対象となるドメインが実際に停止状態であるか否かを確認してもよい。
ドメイン停止復旧手段400は、データ送信部301を介して最高信頼度ドメイン150Aから通知された処理要求等に基づいて、対象となるドメイン内のCPUのリセットやOSのリブート、ドメイン自体のリブートや、例えば、何月何日等の特定日時の環境へのロールバックや、あるいは、通信路の復旧やアプリの再起動等、復旧処理を含む様々な処理要求を実行する機能を有しており、さらに、最高信頼度ドメイン150Aからのみアクセスできる構成になっており、最高信頼度ドメイン150Aからの処理要求は無条件で受け入れる。
なお、ドメイン停止復旧手段400は、最高信頼度ドメイン150A以外のドメインから復旧処理等の処理要求がなされた場合、これらは全て拒否する。
すなわち、復旧条件は、個々のドメインの信頼度に応じて、そのドメインからの復旧要求の許可または拒否によって決定することができる。例えば、本実施例での復旧条件は、最高信頼度ドメインからの復旧要求を全て許可し、一方それ以外のドメインからの復旧要求を全て拒否する、と規定される。
図26に、ドメイン停止復旧手段400の構成を示す。
図26が示すように、ドメイン停止復旧手段400は、復旧要求受信手段401と、ドメイン停止復旧処理手段402とを備える。
復旧要求受信手段401は、最高信頼度ドメイン150Aからデータ送信部301を介して復旧要求(処理要求)を受信し、この処理要求をドメイン停止復旧処理手段402に通知する機能を有する。
ドメイン停止復旧処理手段402は、復旧要求受信手段401から通知された処理要求に基づいて、何れのドメインが処理の対象となり、どのような処理要求がされたのか、その処理内容を識別し、該当するドメインに該当する処理内容を依頼をする。
例えば、最高信頼度ドメイン150Aから通知された処理要求が、停止している中信頼度ドメイン150Bの復旧処理要求の場合、ドメイン停止復旧処理手段402は、停止している中信頼度ドメイン150Bに対して復旧処理を依頼をする。
なお、通信においては、各層において通信相手が規定されるので、それぞれの階層で検知された障害の種類によって処理内容が異なる。例えば、それぞれの階層で検知された停止の状態によって復旧内容が異なる。
図27に、通信処理の内容(処理内容)とその階層構造との対応関係の一例を示す。
図27が示すように、各ドメインの階層構造は、上の階層から順に、例えば、アプリケーション層、ライブラリ層、OS層、CPU層と構成され、ドメイン停止復旧処理手段402は、予め定められた階層毎に対応する停止検知処理を実行して通信処理(復旧処理)を行う。
通信処理の内容(復旧処理内容)は、アプリケーション層でのアプリの再起動、ライブラリ層でのある時点へのロールバック、OS層でのOSリブート、CPU層でのCPUロールバックである。
なお、第1の実施例における情報処理装置を動作させるプログラムは、上記各部及び各手段で実現される機能を安定して実現する必要があるために、外部からダウンロードした追加処理の影響を受けることがない最高信頼度ドメイン150Aで格納及び実行されることが好ましい。
ここで、第1の実施例による情報処理装置のハードウェア構成の説明をする。
図28は、第1の実施例による情報処理装置のハードウェア構成の一例を示すブロック図である。
図28を参照すると、第1の実施例による情報処理装置は、一般的なコンピュータ装置と同様のハードウェア構成を備えることによって実現することができ、複数のCPU(Central Processing Unit)501、RAM(Random Access Memory)等のメインメモリであるデータの作業領域やデータの一時退避領域に用いられる主記憶部502、インターネット600を介してデータの送受信を行う通信部503、液晶ディスプレイ、プリンタやスピーカ等の提示部504、キー操作部等の入力部505、周辺機器と接続してデータの送受信を行うインタフェース部506、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部507、本情報処理装置の上記各構成要素を相互に接続するシステムバス508等を備えている。
第1の実施例による情報処理装置は、その動作を、情報処理装置内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各手段及び各部の各機能を提供するプログラムを、コンピュータ処理装置上のCPU501で実行することにより、ソフトウェア的に実現することができる。
(第1の実施例の動作)
(最高信頼度ドメイン150Aによる処理要求)
図29は、図24に示した第1の実施例の動作の一例を説明するための図であり、最高信頼度ドメイン150Aによる中信頼度ドメイン150Bの停止検知・復旧処理を示す。図29において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
まず、初期状態として、中信頼度ドメイン150Bが異常停止をしていることとする。
ステップ1:最高信頼度ドメイン150Aが、中信頼度ドメイン停止検知機能付データ送信部306のデータ送信手段306aを介して、中信頼度ドメイン150Bへデータを送信する。
ステップ2:中信頼度ドメイン停止検知機能付データ送信部306の中信頼度ドメイン停止検知手段306bが、中信頼度ドメイン150Bの停止を検知する。
ステップ3:中信頼度ドメイン停止検知手段306bが中信頼度ドメイン150Bの停止を検知したことにより、最高信頼度ドメイン150Aが、データ送信部301を介して、ドメイン停止復旧手段400に中信頼度ドメイン150Bの復旧を要求する。
ステップ4:ドメイン停止復旧手段400が、最高信頼度ドメイン150Aからの復旧要求に基づいて、中信頼度ドメイン150Bを復旧する。
図30は、図24に示した第1の実施例の動作の一例を説明するための図であり、最高信頼度ドメイン150Aによる低信頼度ドメイン150Cの停止検知・復旧処理を示す。図30において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
まず、初期状態として、低信頼度ドメイン150Cが異常停止をしていることとする。
ステップ1:最高信頼度ドメイン150Aが、低信頼度ドメイン停止検知機能付データ送信部304のデータ送信手段304aを介して、低信頼度ドメイン150Cへデータを送信する。
ステップ2:低信頼度ドメイン停止検知機能付データ送信部304の中信頼度ドメイン停止検知手段304bが低信頼度ドメイン150Cの停止を検知する。
ステップ3:低信頼度ドメイン停止検知手段304bが低信頼度ドメイン150Cの停止を検知したことにより、最高信頼度ドメイン150Aが、データ送信部301を介して、ドメイン停止復旧手段400に低信頼度ドメイン150Cの復旧を要求する。
ステップ4:ドメイン停止復旧手段400が、最高信頼度ドメイン150Aからの復旧要求に基づいて、低信頼度ドメイン150Cを復旧する。
(中信頼度ドメイン150Bによる処理要求)
図31は、図24に示した第1の実施例の動作の一例を説明するための図であり、中信頼度ドメイン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ドメイン停止復旧手段400が、最高信頼度ドメイン150Aからの復旧要求に基づいて、低信頼度ドメイン150Cを復旧する。
なお、ステップ3とステップ4との間において、最高信頼度ドメイン150Aが、復旧を要求された上記低信頼度ドメイン150Cが実際に停止しているかを確認するために、低信頼度ドメイン停止検知機能付データ送信部304を用いて停止の有無を検知してもよい。
あるいは、ステップ4とステップ5との間において、ドメイン停止復旧手段400が、復旧を要求された上記低信頼度ドメイン150Cが実際に停止しているかを確認するために、低信頼度ドメイン停止検知機能付データ送信部304を用いて停止の有無を検知してもよい。
(低信頼度ドメイン150Cによる処理要求)
図32は、図24に示した第1の実施例の動作の一例を説明するための図であり、低信頼度ドメイン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のデータ送信手段306aを介して、中信頼度ドメイン150Bへデータを送信する。
ステップ5:中信頼度ドメイン停止検知機能付データ送信部306の中信頼度ドメイン停止検知手段306bが、中信頼度ドメイン150Bの停止を検知することにより、実際に中信頼度ドメイン150Bが停止していることを確認する。
ステップ6:最高信頼度ドメイン150Aが、実際に中信頼度ドメイン150Bが停止していることを確認したことにより、データ送信部301を介して、ドメイン停止復旧手段400に中信頼度ドメイン150Bの復旧を要求する。
ステップ7:ドメイン停止復旧手段400が、最高信頼度ドメイン150Aからの復旧要求に基づいて、中信頼度ドメイン150Bを復旧する。
なお、ステップ4〜ステップ6において、最高信頼度ドメイン150Aが当該確認処理を行わずに、ステップ6とステップ7との間において、ドメイン停止復旧手段400が、復旧を要求された上記中信頼度ドメイン150Bが実際に停止しているかを確認するために、中信頼度ドメイン停止検知機能付データ送信部306を用いて停止の有無を検知してもよい。
(同一信頼度ドメインによる処理要求)
図33は、図24に示した第1の実施例の動作の一例を説明するための図であり、同一信頼度ドメイン内の停止検知・復旧処理の一例として、中信頼度ドメイン150Bによる他の中信頼度ドメイン150Bの停止検知・復旧処理を示す。図33において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
まず、初期状態として、1群の中信頼度ドメイン150B内の少なくとも一つの中信頼度ドメイン150Bが異常停止をしていることとする。
ステップ1:停止していない他の中信頼度ドメイン150Bが、1群の中信頼度ドメイン150B内の上記中信頼度ドメイン150Bへデータを送信する。
ステップ2:データ送信先の上記中信頼度ドメイン150Bの停止を検知する。なお、同一信頼度ドメイン内の停止検知処理は、信頼度が設定されていないドメインにおける同一ドメイン内の停止検知処理と同様である。従って、この様な停止検知処理は一般的な技術であるため、説明を省略する。
ステップ3:データ送信先の上記中信頼度ドメイン150Bの停止を検知したことにより、当該データの送信元である中信頼度ドメイン150Bが、データ送信部302を介して、最高信頼度ドメイン150Aに上記停止状態の中信頼度ドメイン150Bの復旧を要求する。
ステップ4:最高信頼度ドメイン150Aが、データ送信部301を介して、ドメイン停止復旧手段400に上記停止状態の中信頼度ドメイン150Bの復旧を要求する。
ステップ5:ドメイン停止復旧手段400が、最高信頼度ドメイン150Aからの復旧要求に基づいて、上記停止状態の中信頼度ドメイン150Bを復旧する。
なお、ステップ3とステップ4との間において、最高信頼度ドメイン150Aが、復旧を要求された上記停止状態の中信頼度ドメイン150Bが実際に停止しているかを確認するために、中信頼度ドメイン停止検知機能付データ送信部306を用いて停止の有無を検知してもよい。
あるいは、ステップ4とステップ5との間において、ドメイン停止復旧手段400が、復旧を要求された上記停止状態の中信頼度ドメイン150Bが実際に停止しているかを確認するために、中信頼度ドメイン停止検知機能付データ送信部306を用いて停止の有無を検知してもよい。
(第1の実施例による効果)
このように、本発明の第1の実施例によれば、信頼度に基づいて各ドメインが分離されているので、メーラーやブラウザ等の基本処理を有する最高信頼度ドメイン150Aが、最高信頼度ドメイン150A以外のドメインからの攻撃等の影響を受けることがなく、最高信頼度ドメイン150A以外のドメインが停止する際にも、情報処理装置のメーラーやブラウザ等の基本処理がフリーズしない。すなわち、信頼度が低いドメインからウィルスを含んでいる等の悪意のある処理要求や誤った復旧等の処理要求を受け付けないので、情報処理装置の基本処理がフリーズすることを防止することができる。
また、最高信頼度ドメイン150Aは、最高信頼度ドメイン150A以外への通信経路専用の低信頼度ドメイン用データ送信部304及び中信頼度ドメイン用データ送信部306と、最高信頼度ドメイン150A以外のドメインからの通信経路専用のデータ送信部302,303とに接続しており、各ドメインへの通信経路がそれぞれ設けられていることから、最高信頼度ドメイン150Aのみに各種データの書き込みが許可され、各ドメイン間の排他制御が不要となる。
さらに、ドメイン停止復旧停止手段によって、停止等の障害が生じた、最高信頼度ドメイン150A以外のドメインを復旧できるので、最高信頼度ドメイン150Aのセキュリティを確保すると共に、情報処理装置の継続した稼動を可能とする。
また、ウォッチドッグタイマ等による自発的なドメイン復旧では、データ送信先のドメインの復旧にかかる時間が読めないので、エラー対処によって性能が落ち、さらに、自発的なドメイン復旧が起動できない場合があるという問題を有するが、本発明の第1の実施例によれば、最高信頼度ドメイン150Aが、低信頼度ドメイン用データ送信部304及び中信頼度ドメイン用データ送信部306によって、中信頼度ドメイン150Bや低信頼度ドメイン150Cへのデータ送信時にこれらのドメインで生じている障害を検知できるので、データ送信時に、これらの障害の復旧が可能となり、上記問題を回避できる。
さらにまた、最高信頼度ドメイン150Aが、低信頼度ドメイン停止検知手段304b及び中信頼度ドメイン停止検知手段という2種類の停止検知手段を備えるため、最高信頼度ドメイン150Aによる停止検知処理について分散化でき、高速化を図ることができる。
また、最高信頼度ドメイン150Aが、自身の判断により、信頼度に応じた優先順位に基づいて復旧処理を行えるので、必要な機能から優先的に復旧できる等、情報処理装置の適切な復旧が可能となる。例えば、障害が発生したあるドメインに対して複数の復旧要求が同時になされた場合でも、復旧要求の要求元のドメインの信頼度や、復旧要求が示す処理内容の信頼度に応じた優先順位の基づいて、柔軟で効率的な復旧処理が可能となる。また、不必要な復旧処理の発生を抑えることや、必要最低限のみの復旧処理を行うことも可能である。
(第2の実施例)
第2の実施例は、図24に示した第1の実施例に対応し、第1の実施例と同様の構成を採用するが、ドメイン停止復旧手段400が、各種ドメインで発行された要求を受信する停止確認手段403を有する点で相違する。
以下、上記の第1の実施例との相違点について主に説明し、第1の実施例と共通する構成要素については説明を省略する。
(第2の実施例の構成)
図34は、第2の実施例によるドメイン停止復旧手段400の構成を示す図である。
図34に示すように、第2の実施例によるドメイン停止復旧手段400は、停止確認手段403を備える点で第1の実施例と相違する。
停止確認手段403は、復旧要求受信手段401を介して、各種ドメインから通知された情報から、復旧要求(処理要求)を発行した要求元ドメインを識別する情報、処理の対象となるドメインを識別する情報、処理の内容を識別する情報等を取得し、低信頼度ドメイン用データ送信部304や中信頼度ドメイン用データ送信部306を用いて処理の対象となるドメインの実際の障害状況を検知し、取得した処理の内容の真偽を確認する機能を有する。
停止確認手段403は、このようにして、取得した処理の内容が正しいと確認した場合に、各種ドメインから通知された情報をドメイン停止復旧処理手段402に通知し、処理を要求する。
ドメイン停止復旧処理手段402は、停止確認手段から処理を要求されると、停止確認手段403から通知された情報に基づいて、処理の対象となるドメイン内の所定の手段に復旧等の処理を依頼する。
なお、第2の実施例では、ドメイン停止復旧手段400が有する停止確認手段403が、低信頼度ドメイン用データ送信部304や中信頼度ドメイン用データ送信部306を備えていてもよいし、また、停止確認手段403が、ドメイン停止復旧手段400の外部にあり、各種ドメインから通知された情報に基づいて上記検知処理を行い、ドメイン停止復旧手段400内のドメイン停止復旧処理手段402に処理要求を行う構成としてもよい。
(第2の実施例の動作)
(中信頼度ドメイン150Bによる処理要求)
図35は、図24に示した第1の実施例において、図34に示した停止復旧手段400を備える場合の動作の一例を説明するための図であり、中信頼度ドメイン150Bによる低信頼度ドメイン150Cの停止検知・復旧処理を示す。図35において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
なお、中信頼度ドメイン150Bが、データ送信部302を介して、ドメイン停止復旧手段400に低信頼度ドメイン150Cの復旧を要求する点において、図24に示した第1の実施例と相違する。
まず、初期状態として、低信頼度ドメイン150Cが異常停止をしており、かつ、中信頼度ドメイン150Bが、ドメイン停止復旧手段400を利用でき、もしくは、ドメイン停止復旧手段400を利用する権限を有することとする。
ステップ1:中信頼度ドメイン150Bが、低信頼度ドメイン停止検知機能付データ送信部305のデータ送信手段305aを介して、低信頼度ドメイン150Cへデータを送信する。
ステップ2:低信頼度ドメイン停止検知機能付データ送信部305の低信頼度ドメイン停止検知手段305bが、低信頼度ドメイン150Cの停止を検知する。
ステップ3:低信頼度ドメイン停止検知手段305bが低信頼度ドメイン150Cの停止を検知したことにより、ドメイン停止復旧手段400を利用できる中信頼度ドメイン150Bが、データ送信部302を介して、ドメイン停止復旧手段400に低信頼度ドメイン150Cの復旧を要求する。
ステップ4:ドメイン停止復旧手段400が、中信頼度ドメイン150Bからの復旧要求に基づいて、低信頼度ドメイン150Cを復旧する。
なお、ステップ3とステップ4との間において、ドメイン停止復旧手段400が、復旧を要求された上記低信頼度ドメイン150Cが実際に停止しているかを確認するために、低信頼度ドメイン停止検知機能付データ送信部304を用いて停止の有無を検知してもよい。
また、ステップ3とステップ4との間において、原則的に、ドメイン停止復旧手段400が、復旧を要求された上記低信頼度ドメイン150Cが実際に停止しているか等の障害を確認するために、低信頼度ドメイン停止検知機能付データ送信部304を用いて停止等の有無を検知し、中信頼度ドメイン150Bから復旧要求がなされた場合には、信頼度の設定に基づき、上記停止等の障害の有無を検知しないこととしてもよい。
(低信頼度ドメイン150Cによる処理要求)
図36は、図24に示した第1の実施例において、図34に示した停止復旧手段400を備える場合の動作の一例を説明するための図であり、低信頼度ドメイン150Cによる中信頼度ドメイン150Bの停止検知・復旧処理を示す。図36において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
なお、低信頼度ドメイン150Cが、データ送信部303を介して、ドメイン停止復旧手段400に中信頼度ドメイン150Bの復旧を要求し、ドメイン停止復旧手段400が、中信頼度ドメイン停止検知機能付データ送信部307を用いて、中信頼度ドメイン150Bへのデータ送信及び中信頼度ドメイン150Bの停止を検知する点において、図24に示した第1の実施例と相違する。
まず、初期状態として、中信頼度ドメイン150Bが異常停止をしており、かつ、低信頼度ドメイン150Cが、ドメイン停止復旧手段400を利用でき、もしくは、ドメイン停止復旧手段400を利用する権限を有することとする。
ステップ1:低信頼度ドメイン150Cが、中信頼度ドメイン停止検知機能付データ送信部307のデータ送信手段307aを介して、中信頼度ドメイン150Bへデータを送信する。
ステップ2:中信頼度ドメイン停止検知機能付データ送信部307の中信頼度ドメイン停止検知手段307bが、中信頼度ドメイン150Bの停止を検知する。
ステップ3:中信頼度ドメイン停止検知手段307bが中信頼度ドメイン150Bの停止を検知したことにより、低信頼度ドメイン150Cが、データ送信部303を介して、ドメイン停止復旧手段400に中信頼度ドメイン150Bの復旧を要求する。
ステップ4:復旧要求元ドメインである低信頼度ドメイン150Cが、復旧対象ドメインである中信頼度ドメイン150Bより信頼度が低く、さらに、低信頼度であることから、ドメイン停止復旧手段400が、復旧要求の対象や内容の真偽を確認するため、中信頼度ドメイン停止検知機能付データ送信部306のデータ送信手段306aを介して、中信頼度ドメイン150Bへデータを送信する。
ステップ5:中信頼度ドメイン停止検知機能付データ送信部306の中信頼度ドメイン停止検知手段306bが、中信頼度ドメイン150Bの停止を検知することにより、ドメイン停止復旧手段400は、実際に中信頼度ドメイン150Bが停止していることを確認する。
ステップ6:ドメイン停止復旧手段400は、実際に中信頼度ドメイン150Bが停止していることを確認したことにより、低信頼度ドメイン150Cからの復旧要求に基づいて、中信頼度ドメイン150Bを復旧する。
(同一信頼度ドメインによる処理要求)
図37は、図24に示した第1の実施例において、図34に示した停止復旧手段400を備える場合の動作の一例を説明するための図であり、同一信頼度ドメイン内の停止検知・復旧処理の一例として、中信頼度ドメイン150Bによる他の中信頼度ドメイン150Bの停止検知・復旧処理を示す。図37において、各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。
なお、中信頼度ドメイン150Bが、データ送信部302を介して、ドメイン停止復旧手段400に他の中信頼度ドメイン150Bの復旧を要求する点において、図24に示した第1の実施例と相違する。
まず、初期状態として、1群の中信頼度ドメイン150B内の少なくとも一つの中信頼度ドメイン150Bが、ドメイン停止復旧手段400を利用でき、もしくは、ドメイン停止復旧手段400を利用する権限を有することとする。
ステップ1:停止していない他の中信頼度ドメイン150Bが、1群の中信頼度ドメイン150B内の上記中信頼度ドメイン150Bへデータを送信する。
ステップ2:データ送信先の上記中信頼度ドメイン150Bの停止を検知する。
ステップ3:データ送信先の上記中信頼度ドメイン150Bの停止を検知したことにより、ドメイン停止復旧手段400を利用できる当該データの送信元である中信頼度ドメイン150Bが、データ送信部302を介して、ドメイン停止復旧手段400に上記停止状態の中信頼度ドメイン150Bの復旧を要求する。
ステップ4:ドメイン停止復旧手段400が、当該データの送信元である中信頼度ドメイン150Bからの復旧要求に基づいて、上記停止状態の中信頼度ドメイン150Bを復旧する。
なお、ステップ3とステップ4との間において、ドメイン停止復旧手段400が、復旧を要求された上記中信頼度ドメイン150Bが実際に停止しているかを確認するために、中信頼度ドメイン停止検知機能付データ送信部306を用いて停止の有無を検知してもよい。
(第2の実施例による効果)
このように、本発明の第2の実施例によれば、停止確認手段403が、各種ドメインから通知された情報に基づいて上記検知処理を行う。従って、最高信頼度ドメイン150Aが、中信頼度ドメイン150Bや低信頼度ドメイン150Cから処理要求を通知されても、処理の対象となるドメインの実際の障害状況を検知し、処理の内容の真偽を確認する必要がないので、最高信頼度ドメイン150Aの処理負担が軽減されるという効果を奏する。
(第3の実施例)
第3の実施例は、図24にお示した第1の実施例に対応し、第1の実施例と同様の構成を採用するが、ドメイン停止復旧手段400が、各種ドメインで発行された要求を受信する復旧処理制御手段404を有する点で相違する。
以下、上記の第1の実施例との相違点について主に説明する。
(第3の実施例の構成)
図38は、第3の実施例によるドメイン停止復旧手段400の構成を示す図である。
図38に示すように、本実施例によるドメイン停止復旧手段400は、復旧処理制御手段404を備える点で第1の実施例と相違する。
以下、上記の第1の実施例との相違点について主に説明する。
復旧処理制御手段404は、図4のアクセス制御手段30と同様の構成及び機能を有し、復旧処理許可データ404aを格納した記憶手段と、復旧処理許可手段404bとを備え、復旧要求受信手段401を介して最高信頼度ドメイン150A以外のドメインから通知された処理要求に対する許否を判別する機能を有する。
また、復旧処理制御手段404は、処理要求が通知された場合、許可された処理要求だけをドメイン停止復旧手段400に通知する。
ここで、復旧要求受信手段401は、各ドメインから受信した復旧要求(処理要求)について、最高信頼度ドメイン150Aから受信した復旧要求(処理要求)をドメイン停止復旧処理手段402に通知し、最高信頼度ドメイン150A以外のドメインから受信した復旧要求(処理要求)を復旧処理許可手段404bに通知する。
復旧処理制御手段404は、低レベルのセキュリティしか要求されないドメインである、最高信頼度ドメイン150A以外のドメインに対して、予め許可されたドメインへの予め許可された形態による処理要求のみを許可する制御を行う。
復旧処理許可データ404aは、最高信頼度ドメイン150A以外のドメインから通知される処理要求と、所定のドメインに対する所定の処理内容を関連付けて、最高信頼度ドメイン150Aが予め設定したデータであり、最高信頼度ドメイン150Aから読み出し・書き込みが可能である。また、復旧処理許可手段404bからは読み出しのみが許可されている。さらに、最高信頼度ドメイン150A以外のドメインからは読み出しも書き込みも不可とされる。すなわち、復旧処理許可データ404aと最高信頼度ドメイン150A以外のドメインの間にはデータバスが存在しない。
図39に、復旧処理許可データ404aの内容の一例を示す。
図39に示すように、復旧処理許可データ404aは、復旧を要求する側のドメインである要求元ドメインに対して、復旧処理の対象となる復旧先ドメインとその復旧方法とを規定する。
要求元ドメインがドメイン#1の場合、復旧先ドメイン及び復旧方法は無いことが規定されている。
要求元ドメインがドメイン#2の場合、復旧先ドメインはドメイン#1のみ、復旧方法はOSリブートのみであることが規定されている。
要求元ドメインがドメイン#3の場合、復旧先ドメインはドメイン#2のみ、復旧方法はリセット及びロールバックであることが規定されている。
復旧処理許可手段404bは、復旧要求受信手段を介して最高信頼度ドメイン150A以外のドメインからの処理要求を受け取ると、復旧処理許可データ404aの要求元ドメイン、復旧先ドメイン及び復旧方法を参照して、当該処理要求が該当するか否かによって、当該処理要求の許否を判断し、許可された処理要求の場合、当該処理要求をドメイン停止復旧手段400に発行する機能を有する。一方、不許可の場合、復旧処理許可手段404bは、ドメイン停止復旧手段400に当該発行をしない。
すなわち、復旧条件は、第1の実施例で述べた、個々のドメインの信頼度に応じて、そのドメインからの復旧要求の許可または拒否に加えて、復旧先ドメインや復旧処理等の処理内容によって決定することができる。例えば、本実施例での復旧条件は、ドメイン#1からの復旧要求を全て拒否するという第1の実施例での条件設定に加えて、ドメイン#2及びドメイン#3からの復旧要求に対しては、各々復旧先ドメインと処理内容によって部分的に復旧要求を許可する、と規定される。このように、より細い復旧条件の設定が可能となることを特徴とする。
(第3の実施例の動作)
図40は、復旧処理制御手段404の動作の一例を説明するための図である。図40において、矢線脇の番号は、ステップ番号を示している。
まず、初期設定として、最高信頼度ドメイン150Aが、復旧処理許可データ404aの内容を規定する。
ステップ1:最高信頼度ドメイン150A以外のドメインが、復旧処理許可データ404aと合致しない処理要求を発行したとする。
ステップ2:復旧処理許可手段404bは、当該処理要求を取得することによって、復旧処理許可データ404aを読み出し、当該処理要求の許否を判断する。
ステップ3:復旧処理許可手段404bは、最高信頼度ドメイン150A以外のドメインへエラーを返す。当該処理要求は、復旧処理許可データ404aと合致しないためである。
ステップ4:最高信頼度ドメイン150A以外のドメインは、上記処理要求とは別の処理要求を発行する。
ステップ5:復旧処理許可手段404bは、当該処理要求を取得することによって、復旧処理許可データ404aを読み出し、当該処理要求の許否を判断する。
ステップ6:復旧処理許可手段404bは、最高信頼度ドメイン150A以外のドメインの当該処理要求を許可した場合、ドメイン停止復旧処理手段402に当該処理要求を発行する。
なお、第3の実施例では、復旧処理制御手段404の構成として、復旧処理許可データ404aと、復旧処理許可手段404bとを備え復旧処理許可データ404aに基づき、処理要求の制御を行う例について説明したが、本発明にかかる構成のみに制限されるものでなく、復旧処理許可データに変えて(反転し)、復旧処理拒否データと、復旧処理拒否手段を備えても良い。この場合、復旧処理拒否手段は、最高信頼度ドメイン150A以外のドメインからの処理要求が、復旧処理拒否データによって復旧処理の拒否が定義された所定の要求元ドメイン、復旧拒否先ドメイン、復旧方法の何れか又は全部等において、所定の条件に合致した場合に、当該処理要求を拒否する制御を行う。
(第3の実施例による効果)
このように、本発明の第3の実施例によれば、復旧処理制御手段404の復旧処理許可手段404bが、復旧処理許可データ404aに基づいて、予め許可されたドメインへ予め許可された形態による処理要求のみを許可する制御を行うので、最高信頼度ドメイン150A以外のドメインがダウンロード等により外部から取得した追加処理による、高レベルのセキュリティを必要とする最高信頼度ドメイン150Aへの各種攻撃を防ぐことが出来る。
また、復旧処理制御手段404が、ドメイン停止復旧手段400の復旧処理を分散化するので、復旧処理の高速化が図れる。
なお、第3の実施例の変形例として、復旧処理許可手段404bに、キャッシュを備えても良い。この場合、処理要求の許否の判断に用いた、復旧処理許可データ404aは、キャッシュに格納され、次回以降の処理要求の許否の判断において、該当する処理要求の復旧処理許可データ404aがキャッシュに存在するかを判定し、キャッシュヒットした場合、処理要求の許否の判断の高速化を実現する。
(第4の実施例)
第4の実施例は、図24に示した第1の実施例に対応し、第1の実施例と同様の構成を採用するが、ドメイン停止復旧手段400が、停止確認手段403及び復旧処理制御手段404を有する点で相違する。
以下、上記の第1の実施例との相違点について主に説明する。
図41は、第4の実施例によるドメイン停止復旧手段400の構成を示す図である。
図41に示すように、第4の実施例によるドメイン停止復旧手段400は、停止確認手段403及び復旧処理制御手段404を備える点で第1の実施例と相違する。
ここで、停止確認手段403は、第2の実施例における停止確認手段403と同様の構成であり、また、復旧処理制御手段404は、第3の実施例における復旧処理制御手段404と同様の構成であるため、説明を省略する。
(第4の実施例の動作)
第4の実施例によるドメイン停止復旧手段400は、復旧処理制御手段404が、第3の実施例と同様に最高信頼度ドメイン150A以外のドメインからの処理要求について許否を判断し、停止確認手段403が、復旧処理制御手段404で許諾された処理要求を取得し、第2の実施例と同様に、取得した処理要求にかかる処理の内容の真偽を確認し、正しいと確認した場合に、取得した処理要求の情報をドメイン停止復旧処理手段402に通知する。
(第4の実施例による効果)
このように、本発明の第4の実施例によれば、復旧処理制御手段404の復旧処理許可手段404bが、復旧処理許可データ404aに基づいて、予め許可されたドメインへ予め許可された形態による処理要求のみを許可する制御を行うので、最高信頼度ドメイン150A以外のドメインがダウンロード等により外部から取得した追加処理による、高レベルのセキュリティを必要とする最高信頼度ドメイン150Aへの各種攻撃を防ぐことが出来るので最高信頼度ドメイン150Aのセキュリティが向上する。
また、復旧処理制御手段404が、ドメイン停止復旧手段400の復旧処理を分散化するので、復旧処理の高速化が図れる。
さらに、停止確認手段403が、復旧処理許可手段404bによって許可された処理要求にかかる情報に基づいて上記検知処理を行う。従って、最高信頼度ドメイン150Aが、中信頼度ドメイン150Bや低信頼度ドメイン150Cから処理要求を通知されても、処理の対象となるドメインの実際の障害状況を検知し、処理の内容の真偽を確認する必要がないので、最高信頼度ドメイン150Aの処理負担が軽減されるという効果を奏するとともに、最高信頼度ドメイン150Aのセキュリティを確保しつつ、実際にドメインで生じている障害を的確に復旧することができるという効果を奏する。
以上好ましい複数の実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
例えば、本実施例では、3つドメインにより構成される情報処理装置の例で説明したが、ドメイン数は3つに限られず、本実施例で説明したように、各ドメインが分離されていれば、2つでもよく、また、4つ以上でもよい。
また、例えば、本実施例では、復旧処理制御手段404がドメイン停止復旧手段400に設けられた構成で説明したが、復旧処理制御手段404が設けられる位置は停止復旧手段400内に限定されず、停止復旧手段400外でもよいし、最高信頼度ドメイン150A内でもよいし、複数の位置に設けられていてもよい。復旧処理制御手段404が最高信頼度ドメイン150A内に設けられた場合、最高信頼度ドメイン150Aが、最高信頼度ドメイン150A以外のドメインからの処理要求について許否を判断し、許諾した処理要求の情報をドメイン停止復旧処理手段402に通知してもよい。
Claims (65)
- 複数のプロセッサを備え、
実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、
異なるドメイン間のプロセッサ同士は、通信手段を介して互いに通信し、
前記ドメインから通知される障害の復旧要求と、前記ドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行う復旧手段を有することを特徴とする情報処理装置。 - 前記複数のドメインを、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成し、
前記復旧手段は、前記特定ドメイン又は前記他のドメインから通知される障害の復旧要求と、前記特定ドメイン及び前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うことを特徴とする請求項2に記載の情報処理装置。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記特定ドメインが、前記他のドメインにおける障害を、前記他のドメインへの前記通信手段によるデータ送信を介して検知し、前記復旧手段に対して前記障害の復旧要求を行うことを特徴とする請求項2に記載の情報処理装置。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知し、前記特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、前記他のドメインの障害を、前記他のドメインへの前記通信手段によるデータ送信を介して検知し、前記復旧手段に対して前記障害の復旧要求を行うことを特徴とする請求項2に記載の情報処理装置。 - データ送信を介した障害の検知を、所定時間又は所定回数における前記データ送信先のドメインからの応答の有無によって行い、
前記特定ドメインが、前記ある一定のセキュリティレベル以上の処理として、基本処理を実行するドメインであり、
前記特定ドメインによる前記他のドメインへのデータ送信を介した障害の検知は、前記所定時間より短い時間を設定すること又は前記所定回数よりも少ない回数を設定することを特徴とする請求項3又は請求項4に記載の情報処理装置。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知し、前記特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、前記復旧手段に対して前記障害の復旧要求を行うことを特徴とする請求項2に記載の情報処理装置。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知し、前記特定ドメインを介さずに前記復旧手段に対して前記障害の復旧要求を行い、
前記復旧手段が、前記他のドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記他のドメインに対して障害の復旧処理を行うことを特徴とする請求項2に記載の情報処理装置。 - 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて定められており、
前記復旧手段は、前記ドメインから通知された障害の復旧要求と、前記復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うことを特徴とする請求項1から請求項7のいずれか1項に記載の情報処理装置。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第1ドメインが、前記第2ドメインにおける障害を、前記第2ドメインへの前記通信手段によるデータ送信を介して検知し、前記特定ドメインに前記第2ドメインの障害の復旧要求を通知し、
前記特定ドメインが、前記復旧手段に対して前記障害の復旧要求を行うことを特徴とする請求項6又は請求項8に記載の情報処理装置。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第1ドメインは、前記第2ドメインにおける障害を、前記第2ドメインへの前記通信手段によるデータ送信を介して検知し、前記特定ドメインを介さずに前記復旧手段に前記第2ドメインの障害の復旧要求を通知し、
前記復旧手段が、前記第1ドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記第2ドメインに対して障害の復旧処理を行うことを特徴とする請求項7又は請求項8に記載の情報処理装置。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第2ドメインが、前記第1ドメインにおける障害を、前記第1ドメインへの前記通信手段によるデータ送信によって検知し、前記特定ドメインに前記第1ドメインの障害の復旧要求を通知し、
前記特定ドメインが、第1ドメインの障害を、前記第1ドメインへの前記通信手段によるデータ送信を介して検知し、前記復旧手段に対して前記障害の復旧要求を行うことを特徴とする請求項4又は請求項8に記載の情報処理装置。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第2ドメインが、前記第1ドメインにおける障害を、前記第1ドメインへの前記通信手段によるデータ送信によって検知し、前記特定ドメインを介さずに前記復旧手段に前記第1ドメインの障害の復旧要求を通知し、
前記復旧手段が、第1ドメインの障害を、前記第1ドメインへの前記通信手段によるデータ送信を介して検知し、前記第2ドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記第1ドメインに対して障害の復旧処理を行うことを特徴とする請求項7又は請求項8に記載の情報処理装置。 - データ送信を介した障害の検知を、所定時間又は所定回数の前記データ送信先のドメインからの応答の有無によって行い、
前記第2ドメインによる前記第1ドメインへのデータ送信を介した障害の検知は、前記所定時間より長い時間を設定すること又は前記所定回数よりも多い回数を設定することを特徴とする請求項11又は請求項12に記載の情報処理装置。 - 前記復旧手段は、前記特定ドメインからの復旧要求を無条件で受け付け、前記他のドメインからの復旧要求は拒否することを特徴とする請求項2から請求項13のいずれか1項に記載の情報処理装置。
- 前記復旧手段は、前記ドメインから障害の復旧要求が通知されると、復旧対象のドメインにおける障害を、前記復旧対象のドメインへのデータ送信を介して検知し、前記障害の復旧要求と、前記復旧条件とに基づいて、障害が発生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項1から請求項13のいずれか1項に記載の情報処理装置。
- 前記復旧手段は、
前記ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、
前記判別手段で許可された復旧要求に基づいて、障害が発生したドメインに対して障害の復旧処理を行うことを特徴とする請求項1から請求項15のいずれか1項に記載の情報処理装置。 - 前記判別手段は、
前記ドメイン毎に設定された、障害の復旧に関するデータを備え、
前記ドメインより通知された障害の復旧要求と、前記データとに基づいて、前記障害の復旧要求の許否を判別することを特徴とする請求項16に記載の情報処理装置。 - 前記データは、前記ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて設定されることを特徴とする請求項17に記載の情報処理装置。
- 前記復旧手段は、
前記ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、
前記判別手段で許可された復旧要求に基づいて、前記復旧対象のドメインにおける障害を、前記復旧対象のドメインへのデータ送信を介して検知し、障害が発生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項1から請求項13のいずれか1項に記載の情報処理装置。 - 複数のプロセッサで構成される複数のドメインを有する情報処理装置上で、前記ドメインで発生した障害を復旧する復旧装置において、
実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、
前記ドメインから通知される障害の復旧要求と、前記ドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行う復旧手段を有することを特徴とする復旧装置。 - 前記複数のドメインを、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成し、
前記復旧手段は、前記特定ドメイン又は前記他のドメインから通知される障害の復旧要求と、前記特定ドメイン及び前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うことを特徴とする請求項19に記載の復旧装置。 - 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて定められており、
前記復旧手段は、前記ドメインから通知された障害の復旧要求と、前記復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うことを特徴とする請求項20又は請求項21に記載の復旧装置。 - 前記他のドメインが、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第2ドメインが、前記第1ドメインにおける障害を、前記第1ドメインへのデータ送信によって検知し、前記特定ドメインを介さずに前記復旧手段に前記第1ドメインの障害の復旧要求を通知すると、
前記復旧手段が、第1ドメインの障害を、前記第1ドメインへのデータ送信を介して検知し、前記第2ドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記第1ドメインに対して障害の復旧処理を行うことを特徴とする請求項21又は請求項22に記載の復旧装置。 - 前記復旧手段は、前記特定ドメインからの復旧要求を無条件で受け付け、前記他のドメインからの復旧要求は拒否することを特徴とする請求項21から請求項23のいずれか1項に記載の復旧装置。
- 前記復旧手段は、前記ドメインから障害の復旧要求が通知されると、復旧対象のドメインにおける障害を、前記復旧対象のドメインへのデータ送信を介して検知し、前記障害の復旧要求と、前記復旧条件とに基づいて、障害が発生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項20から請求項22のいずれか1項に記載の復旧装置。
- 前記復旧手段は、
前記ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、
前記判別手段で許可された復旧要求に基づいて、障害が発生したドメインに対して障害
の復旧処理を行うことを特徴とする請求項20から請求項25のいずれか1項に記載の復旧装置。 - 前記判別手段は、
前記ドメイン毎に設定された、障害の復旧に関するデータを備え、
前記ドメインより通知された障害の復旧要求と、前記データとに基づいて、前記障害の復旧要求の許否を判別することを特徴とする請求項26に記載の復旧装置。 - 前記データは、前記ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて設定されることを特徴とする請求項27に記載の復旧装置。
- 前記復旧手段は、
前記ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、
前記判別手段で許可された復旧要求に基づいて、前記復旧対象のドメインにおける障害を、前記復旧対象のドメインへのデータ送信を介して検知し、障害が発生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項20から請求項28のいずれか1項に記載の復旧装置。 - 複数のプロセッサで構成されるコンピュータ処理装置である情報処理装置上で実行され、前記情報処理装置の機能の復旧を実現するプログラムであって、
実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、
異なるドメイン間のプロセッサ同士が互いに通信する通信機能と、
前記ドメインから通知される障害の復旧要求と、前記ドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行う復旧機能とを前記情報処理装置に持たせることを特徴とするプログラム。 - 前記複数のドメインを、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成し、
前記復旧機能が、前記特定ドメイン又は前記他のドメインから通知される障害の復旧要求と、前記特定ドメイン及び前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項30に記載のプログラム。 - 前記特定ドメインがある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記特定ドメインが、前記他のドメインにおける障害を、前記他のドメインへの前記通信機能によるデータ送信を介して検知し、前記復旧機能に対して前記障害の復旧要求を行う機能を前記情報処理装置に持たせることを特徴とする請求項30又は請求項31に記載のプログラム。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知し、前記特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、前記他のドメインの障害を、前記他のドメインへの前記通信機能によるデータ送信を介して検知し、前記復旧機能に対して前記障害の復旧要求を行う機能を前記情報処理装置に持たせることを特徴とする請求項30又は請求項31に記載のプログラム。 - データ送信を介した障害の検知を、所定時間又は所定回数における前記データ送信先のドメインからの応答の有無によって行う機能と、
前記特定ドメインが、前記ある一定のセキュリティレベル以上の処理として、基本処理を実行する機能とを有し、
前記障害を検知する機能が、前記特定ドメインによる前記他のドメインへのデータ送信を介した障害を検知する場合に、前記所定時間より短い時間を設定すること又は前記所定回数よりも少ない回数を設定する機能を前記情報処理装置に持たせることを特徴とする請求項32又は請求項33に記載のプログラム。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知し、前記特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、前記復旧機能に対して前記障害の復旧要求を行う機能を前記情報処理装置に持たせることを特徴とする請求項31に記載のプログラム。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知し、前記特定ドメインを介さずに前記復旧機能に対して前記障害の復旧要求を行い、
前記復旧機能が、前記他のドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記他のドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項31に記載のプログラム。 - 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて定められており、
前記復旧機能は、前記ドメインから通知された障害の復旧要求と、前記復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項30から請求項36のいずれか1項に記載のプログラム。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第1ドメインが、前記第2ドメインにおける障害を、前記第2ドメインへの前記通信機能によるデータ送信を介して検知し、前記特定ドメインに前記第2ドメインの障害の復旧要求を通知し、
前記特定ドメインが、前記復旧機能に対して前記障害の復旧要求を行う機能を前記情報処理装置に持たせることを特徴とする請求項35又は請求項37に記載のプログラム。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第1ドメインが、前記第2ドメインにおける障害を、前記第2ドメインへの前記通信機能によるデータ送信を介して検知し、前記特定ドメインを介さずに前記復旧機能に前記第2ドメインの障害の復旧要求を通知し、
前記復旧機能が、前記第1ドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記第2ドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項36又は請求項37に記載のプログラム。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第2ドメインが、前記第1ドメインにおける障害を、前記第1ドメインへの前記通信機能によるデータ送信を介して検知し、前記特定ドメインに前記第1ドメインの障害の復旧要求を通知し、
前記特定ドメインが、第1ドメインの障害を、前記第1ドメインへの前記通信機能によるデータ送信を介して検知し、前記復旧機能に対して前記障害の復旧要求を行う機能を前記情報処理装置に持たせることを特徴とする請求項33又は請求37に記載のプログラム。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第2ドメインが、前記第1ドメインにおける障害を、前記第1ドメインへの前記通信機能によるデータ送信によって検知し、前記特定ドメインを介さずに前記復旧機能に前記第1ドメインの障害の復旧要求を通知し、
前記復旧機能が、第1ドメインの障害を、前記第1ドメインへの前記通信機能によるデータ送信を介して検知し、前記第2ドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記第1ドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項36又は請求項37に記載のプログラム。 - データ送信を介した障害の検知を、所定時間又は所定回数の前記データ送信先のドメインからの応答の有無によって行う機能を有し、
前記障害を検知する機能が、前記第2ドメインによる前記第1ドメインへのデータ送信を介した障害の検知を行う場合に、前記所定時間より長い時間を設定すること又は前記所定回数よりも多い回数を設定する機能を前記情報処理装置に持たせることを特徴とする請求項40又は請求項41に記載のプログラム。 - 前記復旧機能は、前記特定ドメインからの復旧要求を無条件で受け付け、前記他のドメインからの復旧要求は拒否する機能を前記情報処理装置に持たせることを特徴とする請求項31から請求項42のいずれか1項に記載のプログラム。
- 前記復旧機能は、前記ドメインから障害の復旧要求が通知されると、復旧対象のドメインにおける障害を、前記復旧対象のドメインへのデータ送信を介して検知し、前記障害の復旧要求と、前記復旧条件とに基づいて、障害が発生した前記ドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項30から請求項42のいずれか1項に記載のプログラム。
- 前記復旧機能が、
前記ドメインから通知された障害の復旧要求の許否を判別する判別機能を備え、
前記判別機能で許可された復旧要求に基づいて、障害が発生したドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項30から請求項44のいずれか1項に記載のプログラム。 - 前記判別機能が、
前記ドメインより通知された障害の復旧要求と、前記ドメインの処理内容毎に設定されたセキュリティレベルとに基づいて、前記障害の復旧要求の許否を判別する機能を前記情報処理装置に持たせることを特徴とする請求項45に記載のプログラム。 - 前記復旧機能が、
前記ドメインから通知された障害の復旧要求の拒否を判別する判別機能を備え、
前記判別機能で許可された復旧要求に基づいて、前記復旧対象のドメインにおける障害を、前記復旧対象のドメインへの前記通信機能によるデータ送信を介して検知し、障害が発生した前記ドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする請求項30から請求項42のいずれか1項に記載のプログラム。 - 複数のプロセッサで構成される情報処理装置の処理機能を復旧する復旧方法であって、
実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、
異なるドメイン間のプロセッサ同士は、通信ステップを介して通信し、
前記ドメインから通知される障害の復旧要求と、前記ドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を、前記情報処理装置上の復旧手段で行う復旧ステップを有することを特徴とする復旧方法。 - 前記複数のドメインを、実行する処理内容に応じて、特定ドメインと、他のドメインとに分離して構成し、
前記復旧ステップで、前記特定ドメイン又は前記他のドメインから通知される障害の復旧要求と、前記特定ドメイン及び前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を行うことを特徴とする請求項48に記載の復旧方法。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記特定ドメインが、前記他のドメインにおける障害を、前記他のドメインへの前記通信ステップによるデータ送信を介して検知する検知ステップと、
前記特定ドメインが、前記復旧手段に対して、前記検知ステップで検知した前記障害についての復旧要求を行うステップとを有することを特徴とする請求項48又は請求項49に記載の復旧方法。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知する検知ステップと、
前記他のドメインが、前記特定ドメインに、前記検知ステップで検知した前記他のドメインの障害についての復旧要求を通知する通知ステップと、
前記特定ドメインが、前記通知ステップで通知された前記他のドメインの障害を、前記他のドメインへの前記通信手段によるデータ送信を介して検知する検知ステップと、
前記特定ドメインが、前記復旧手段に対して、前記検知ステップで検知した前記障害についての復旧要求を行うステップとを有することを特徴とする請求項48又は請求項49に記載の復旧方法。 - データ送信を介した障害の検知を、所定時間又は所定回数における前記データ送信先のドメインからの応答の有無によって行うステップを有し、
前記特定ドメインが、前記ある一定のセキュリティレベル以上の処理として、基本処理を実行するドメインであり、
前記ステップは、前記特定ドメインによる前記他のドメインへのデータ送信を介した障害を検知する場合に、前記所定時間より短い時間又は前記所定回数よりも少ない回数で障害を検知することを特徴とする請求項50又は請求項51に記載の復旧方法。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知する検知ステップ
と、
前記他のドメインが、前記特定ドメインに、前記検知ステップで検知した前記他のドメインの障害についての復旧要求を通知する通知ステップと、
前記特定ドメインが、前記復旧手段に対して、前記通知ステップで通知された前記障害についての復旧要求を行うステップとを有することを特徴とする請求項49に記載の復旧方法。 - 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行するドメインであり、前記他のドメインが、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、
前記他のドメインが、何れかの前記他のドメインにおける障害を検知する検知ステップと、
前記他のドメインが、前記特定ドメインを介さずに前記復旧手段に対して、前記検知ステップで検知した前記障害についての復旧要求を行うステップとを有し、
前記復旧ステップで、前記他のドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記他のドメインに対して障害の復旧処理を行うことを特徴とする請求項49に記載の復旧方法。 - 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容毎に設定されたセキュリティレベルに基づいて定められており、
前記復旧ステップで、前記ドメインから通知された障害の復旧要求と、前記復旧条件とに基づいて、障害が発生した他のドメインに対して障害の復旧処理を行うことを特徴とする請求項48から請求項54のいずれか1項に記載の復旧方法。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第1ドメインが、前記第2ドメインにおける障害を、前記第2ドメインへの前記通信ステップによるデータ送信を介して検知する検知ステップと、
前記第1ドメインが、前記特定ドメインに、前記検知ステップで検知した前記第2ドメインの障害についての復旧要求を通知する通知ステップと、
前記特定ドメインが、前記復旧手段に対して、前記通知ステップで通知された前記障害についての復旧要求を行うステップとを有することを特徴とする請求項53又は請求項55に記載の復旧方法。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第1ドメインが、前記第2ドメインにおける障害を、前記第2ドメインへの前記通信ステップによるデータ送信を介して検知する検知ステップと、
前記特定ドメインが、前記特定ドメインを介さずに前記復旧手段に、前記検知ステップで検知した前記第2ドメインの障害についての復旧要求を通知する通知ステップとを有し
前記復旧ステップで、前記第1ドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記第2ドメインに対して障害の復旧処理を行うことを特徴とする請求項54又は請求項55に記載の復旧方法。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第2ドメインが、前記第1ドメインにおける障害を、前記第1ドメインへの通信ステップによるデータ送信を介して検知する検知ステップと、
前記第2ドメインが、前記特定ドメインに、前記検知ステップで検知した前記第1ドメインの障害についての復旧要求を通知する通知ステップと、
前記特定ドメインが、前記通知ステップで通知された第1ドメインの障害を、前記第1ドメインへの前記通信ステップによるデータ送信を介して検知する検知ステップと、
前記特定ドメインが、前記復旧手段に対して、前記検知ステップで検知した前記障害についての復旧要求を行うステップとを有することを特徴とする請求項51又は請求項55に記載の復旧方法。 - 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第1ドメインと、前記第1ドメインで実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第2ドメインとに分離して構成し、
前記第2ドメインが、前記第1ドメインにおける障害を、前記第1ドメインへの前記通信ステップによるデータ送信を介して検知する検知ステップと、
前記第2ドメインが、前記特定ドメインを介さずに前記復旧手段に、前記検知ステップで検知した前記第1ドメインの障害についての復旧要求を通知する通知ステップと、
前記復旧ステップで、第1ドメインの障害を、前記第1ドメインへの前記通信ステップによるデータ送信を介して検知し、前記第2ドメインから通知される前記障害の復旧要求と、前記他のドメイン毎に予め設定された復旧条件とに基づいて、障害が発生した前記第1ドメインに対して障害の復旧処理を行うことを特徴とする請求項54又は請求項55に記載の復旧方法。 - データ送信を介した障害の検知を、所定時間又は所定回数における前記データ送信先のドメインからの応答の有無によって行うステップを有し、
前記ステップは、前記第2ドメインによる前記第1ドメインへのデータ送信を介した障害を検知する場合に、前記所定時間より長い時間又は前記所定回数よりも多い回数で障害を検知することを特徴とする請求項58又は請求項59に記載の復旧方法。 - 前記復旧ステップで、前記特定ドメインからの復旧要求を無条件で受け付け、前記他のドメインからの復旧要求は拒否することを特徴とする請求項49から請求項50のいずれか1項に記載の復旧方法。
- 前記復旧手段が、前記ドメインから障害の復旧要求が通知されると、復旧対象のドメインにおける障害を、前記復旧対象のドメインへの前記通信ステップによるデータ送信を介して検知する検知ステップを有し、
前記検知ステップで検知した以降に、前記復旧ステップで、前記障害の復旧要求と、前記復旧条件とに基づいて、障害が発生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項48から請求項50のいずれか1項に記載の復旧方法。 - 前記復旧ステップで、
前記復旧手段が前記ドメインから通知された障害の復旧要求の許否を判別する判別ステップで許可された復旧要求に基づいて、障害が発生したドメインに対して障害の復旧処理を行うことを特徴とする請求項48から請求項62のいずれか1項に記載の復旧方法。 - 前記判別ステップで、
前記ドメインより通知された障害の復旧要求と、前記ドメインの処理内容毎に設定されたセキュリティレベルとに基づいて、前記障害の復旧要求の許否を判別することを特徴とする請求項63に記載の復旧方法。 - 前記復旧ステップで、
前記復旧手段が前記ドメインから通知された障害の復旧要求を判別する判別ステップで許可された復旧要求に基づいて、前記復旧対象のドメインにおける障害を、前記復旧対象のドメインへの前記通信ステップによるデータ送信を介して検知し、障害が発生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項48から請求項60のいずれか1項に記載の復旧方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005177811 | 2005-06-17 | ||
JP2005177811 | 2005-06-17 | ||
PCT/JP2006/303920 WO2006134691A1 (ja) | 2005-06-17 | 2006-02-23 | 情報処理装置、復旧装置、プログラム及び復旧方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006134691A1 true JPWO2006134691A1 (ja) | 2009-01-08 |
JP4556144B2 JP4556144B2 (ja) | 2010-10-06 |
Family
ID=37532060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007521111A Expired - Fee Related JP4556144B2 (ja) | 2005-06-17 | 2006-02-23 | 情報処理装置、復旧装置、プログラム及び復旧方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8365021B2 (ja) |
JP (1) | JP4556144B2 (ja) |
CN (1) | CN101198934B (ja) |
WO (1) | WO2006134691A1 (ja) |
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 |
EP2541407A1 (en) | 2010-02-23 | 2013-01-02 | Fujitsu Limited | Multi-core processor system, control program, and control method |
US8555265B2 (en) | 2010-05-04 | 2013-10-08 | Google Inc. | Parallel processing of data |
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 |
US9239909B2 (en) | 2012-01-25 | 2016-01-19 | Bromium, Inc. | Approaches for protecting sensitive data within a guest operating system |
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 |
US9148428B1 (en) | 2011-05-25 | 2015-09-29 | Bromium, Inc. | Seamless management of untrusted data using virtual machines |
US10095530B1 (en) | 2010-05-28 | 2018-10-09 | Bromium, Inc. | Transferring control of potentially malicious bit sets to secure micro-virtual machine |
US8752047B2 (en) | 2010-05-28 | 2014-06-10 | Bromium, Inc. | Automated management of virtual machines to process untrusted data based on client policy information |
US10310696B1 (en) | 2010-05-28 | 2019-06-04 | Bromium, Inc. | Supporting a consistent user interface within a virtualized environment |
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 |
US9386021B1 (en) | 2011-05-25 | 2016-07-05 | Bromium, Inc. | Restricting network access to untrusted 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 |
US9558051B1 (en) | 2010-05-28 | 2017-01-31 | Bormium, Inc. | Inter-process communication router within a virtualized environment |
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 |
US8839245B1 (en) | 2012-06-18 | 2014-09-16 | Bromium, Inc. | Transferring files using a virtualized application |
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 |
US9921860B1 (en) | 2011-05-25 | 2018-03-20 | Bromium, Inc. | Isolation of applications within a virtual machine |
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 |
MY158770A (en) * | 2011-11-04 | 2016-11-15 | 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 | 情報処理装置、情報処理方法、及びプログラム |
US9734131B1 (en) | 2012-06-18 | 2017-08-15 | Bromium, Inc. | Synchronizing history data across a virtualized web browser |
US9384026B1 (en) | 2012-06-18 | 2016-07-05 | Bromium, Inc. | Sharing and injecting cookies into virtual machines for retrieving requested web pages |
US9201850B1 (en) | 2012-06-18 | 2015-12-01 | Bromium, Inc. | Composing the display of a virtualized web browser |
US11023088B2 (en) | 2012-06-18 | 2021-06-01 | Hewlett-Packard Development Company, L.P. | Composing the display of a virtualized web browser |
US10095662B1 (en) | 2012-06-18 | 2018-10-09 | Bromium, Inc. | Synchronizing resources of a virtualized browser |
US9727534B1 (en) | 2012-06-18 | 2017-08-08 | Bromium, Inc. | Synchronizing cookie data using a virtualized browser |
US9294508B2 (en) | 2012-08-02 | 2016-03-22 | Cellsec Inc. | Automated multi-level federation and enforcement of information management policies in a device network |
US10305937B2 (en) * | 2012-08-02 | 2019-05-28 | CellSec, Inc. | Dividing a data processing device into separate security domains |
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 |
US9646309B2 (en) | 2014-04-04 | 2017-05-09 | Mobilespaces | 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 |
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 |
US11262912B2 (en) | 2017-11-13 | 2022-03-01 | Weka.IO Ltd. | File operations in a distributed storage system |
US11216210B2 (en) | 2017-11-13 | 2022-01-04 | Weka.IO Ltd. | Flash registry with on-disk hashing |
US10936405B2 (en) | 2017-11-13 | 2021-03-02 | Weka.IO Ltd. | Efficient networking 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 |
US11301433B2 (en) | 2017-11-13 | 2022-04-12 | Weka.IO Ltd. | Metadata journal in a distributed storage system |
US11061622B2 (en) | 2017-11-13 | 2021-07-13 | Weka.IO Ltd. | Tiering data strategy for a distributed storage system |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04275663A (ja) * | 1991-03-04 | 1992-10-01 | Nec Corp | 障害プロセッサの判定方式 |
JP2000276364A (ja) * | 1999-03-24 | 2000-10-06 | Oki Electric Ind Co Ltd | 障害復旧方法、中央処理装置及び中央処理システム |
JP2004062535A (ja) * | 2002-07-29 | 2004-02-26 | Nec Corp | マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332864A (ja) | 1993-05-27 | 1994-12-02 | Fujitsu Ltd | マルチプロセッサシステムにおけるcpu間通信方式 |
US6718482B2 (en) * | 1997-09-12 | 2004-04-06 | Hitachi, Ltd. | Fault monitoring system |
WO2000016200A1 (en) | 1998-09-10 | 2000-03-23 | Sanctum Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
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 |
US8474049B2 (en) * | 2005-06-28 | 2013-06-25 | Panasonic Corporation | Verification method, information processing device, recording medium, verification system, certification program, and verification program |
JP4809209B2 (ja) * | 2006-12-28 | 2011-11-09 | 株式会社日立製作所 | サーバ仮想化環境における系切り替え方法及び計算機システム |
-
2006
- 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
- 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
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04275663A (ja) * | 1991-03-04 | 1992-10-01 | Nec Corp | 障害プロセッサの判定方式 |
JP2000276364A (ja) * | 1999-03-24 | 2000-10-06 | Oki Electric Ind Co Ltd | 障害復旧方法、中央処理装置及び中央処理システム |
JP2004062535A (ja) * | 2002-07-29 | 2004-02-26 | Nec Corp | マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード |
Also Published As
Publication number | Publication date |
---|---|
US8365021B2 (en) | 2013-01-29 |
WO2006134691A1 (ja) | 2006-12-21 |
US20090119541A1 (en) | 2009-05-07 |
CN101198934A (zh) | 2008-06-11 |
CN101198934B (zh) | 2010-09-15 |
JP4556144B2 (ja) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4556144B2 (ja) | 情報処理装置、復旧装置、プログラム及び復旧方法 | |
JP4811271B2 (ja) | 情報通信装置及びプログラム実行環境制御方法 | |
CN109918919B (zh) | 认证变量的管理 | |
JP4883459B2 (ja) | ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行 | |
US7073059B2 (en) | Secure machine platform that interfaces to operating systems and customized control programs | |
US8458791B2 (en) | Hardware-implemented hypervisor for root-of-trust monitoring and control of computer system | |
Jin et al. | Architectural support for secure virtualization under a vulnerable hypervisor | |
US10095862B2 (en) | System for executing code with blind hypervision mechanism | |
US7730249B2 (en) | Device control apparatus that calls an operating system to control a device | |
US20070266444A1 (en) | Method and System for Securing Data Stored in a Storage Device | |
ES2615860T3 (es) | Sistema y procedimiento de aseguramiento de un ordenador que incluye un micronúcleo | |
CN112818327A (zh) | 基于TrustZone的用户级代码和数据安全可信保护方法及装置 | |
JP2010508572A (ja) | トラステッドプラットフォームモジュールを共有するためのシステム及び方法 | |
JP2020042341A (ja) | プロセッシングデバイス及びソフトウェア実行制御方法 | |
US11461490B1 (en) | Systems, methods, and devices for conditionally allowing processes to alter data on a storage device | |
US20230098991A1 (en) | Systems, methods, and media for protecting applications from untrusted operating systems | |
Leroux | Secure by design: Using a microkernel rtos to build secure, fault-tolerant systems | |
WO2006059335A1 (en) | Method and system for securing data stored in a storage device | |
GB2412465A (en) | Resetting a register on receipt of a locality confirming message |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100601 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100624 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4556144 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |