(57)【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された複数の情報処理装置を用いて、高信頼化処理を実現する情報処理方法であって、
少なくともデータを保持し処理する個別プログラムであるアプリケーションを、第１の情報処理装置にて動作させるステップと、
前記第１の情報処理装置において、前記高信頼化処理を実現するための種々の処理を実行するエージェントを保持していない場合に、ネットワークを介して,
前記エージェントを保持している他の第２の情報処理装置から前記第１の情報処理装置に、前記エージェントの複製を移動させるステップと、
前記ネットワークを介して、前記第１の情報処理装置から前記第２の情報処理装置に、前記アプリケーションの複製を移動させるステップと、
前記第１の情報処理装置において、前記移動したエージェントと協働して前記アプリケーションを動作させるステップと、
前記第２の情報処理装置において、前記エージェントと協働して前記移動したアプリケーションを動作させるステップと、を備えたことを特徴とする情報処理方法。
【請求項２】
前記第１の情報処理装置において、アプリケーションの動作終了後に、前記エージェントを解放するステップを備えたことを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記エージェントの複製を移動させるステップが、
前記第１の情報処理装置において、前記アプリケーションからの、エージェントが必要であることを示す情報を受理するステップと、
前記情報の受理に応答して、前記エージェントを保持する他の第２の情報処理装置を見出すステップと、
前記第１の情報処理装置から前記エージェントを保持する前記第２の情報処理装置に対して、前記エージェントの移動を要求するステップと、を含むことを特徴とする請求項１または２に記載の情報処理方法。
【請求項４】
前記エージェントの複製を移動させるステップが、
前記第１の情報処理装置において、アプリケーションを監視して、高信頼化処理の必要なものを検出するステップと、
前記検出に応答して、前記エージェントを保持する他の第２の情報処理装置を見出すステップと、
前記第１の情報処理装置から前記エージェントを保持する前記第２の情報処理装置に対して、前記エージェントの移動を要求するステップと、を含むことを特徴とする請求項１または２に記載の情報処理方法。
【請求項５】
前記エージェントの複製を移動させるステップにおいて、
前記アプリケーションの高信頼化処理の種別に応じたエージェントを、前記第１の情報処理装置に移動させるステップを含むことを特徴とする請求項１ないし４の何れか一項に記載の情報処理方法。
【請求項６】
前記種別が、並列多重化処理、待機冗長処理、および、リカバリーブロック方式による処理の少なくとも何れかを示すことを特徴とする請求項５に記載の情報処理方法。
【請求項７】
ネットワークを介して相互に接続された複数の情報処理装置を用いて、高信頼化処理を実現する情報処理方法であって、
少なくともデータを保持し処理する個別プログラムであるアプリケーションの起動を、第１の情報処理装置にて求めるステップと、
前記第１の情報処理装置において、前記高信頼化処理を実現するための種々の処理を実行するエージェントが存在しない場合に、ネットワークを介して、前記エージェントを保持する他の第２の情報処理装置を検索するステップと、
前記第２の情報処理装置に、前記アプリケーションの実行依頼および前記アプリケーションを伝達するステップと、
前記第２の情報処理装置において、前記エージェントと協働して前記移動されたアプリケーションを動作させるステップと、
前記第２の情報処理装置において、前記エージェントを保持する第３の情報処理装置に、前記アプリケーションの実行依頼および前記アプリケーションを伝達するステップと、
前記第３の情報処理装置において、前記エージェントと協働して前記移動されたアプリケーションを動作させるステップと、を備えたことを特徴とする情報処理方法。
【請求項８】
ネットワークを介して相互に接続された複数の情報処理装置を有するシステムにおいて、
第１の情報処理装置が、
少なくともデータを保持し処理する個別プログラムであるアプリケーションを、ある情報処理装置にて動作させるアプリケーション実行手段と、
前記ネットワークを介して接続された第２の情報処理装置から、高信頼化処理を実現するための種々の処理を実行するエージェントの複製を受け入れるとともに、前記第２の情報処理装置に、前記アプリケーションの複製を送信する移動処理手段と、を備え、
前記移動処理手段により受理されたエージェントと協働して、前記アプリケーションが実行されるように構成され、
前記第２の情報処理装置が、
前記アプリケーションの複製を受け入れるとともに、前記エージェントの複製を送信する移動処理手段を備え、
前記移動処理手段により受理されたアプリケーションが、前記エージェントと協働して実行されるように構成されたことを特徴とするシステム。
【請求項９】
前記第１の情報処理装置が、
前記アプリケーションの動作終了後に、前記エージェントを解放するエージェント解放手段を備えたことを特徴とする請求項８に記載のシステム。
【請求項１０】
前記第１の情報処理装置の前記移動処理手段が、前記アプリケーションから、エージェントが必要であることを示す情報の受理に応答して、前記エージェントを保持する他の第２の情報処理装置を見出し、当該第２の情報処理装置に対して、前記エージェントの移動を要求するように構成されたことを特徴とする請求項８または９に記載のシステム。
【請求項１１】
前記第１の情報処理装置の前記移動処理手段が、前記アプリケーションを監視して、高信頼化処理の必要なものを検出し、前記検出に応答して、前記エージェントを保持する他の第２の情報処理装置を見出し、当該第２の情報処理装置に対して、前記エージェントの移動を要求するように構成されたことを特徴とする請求項８または９に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の情報処理装置をデータ通信網で接続して、データ処理を多重化して信頼性を向上させるシステムに用いられる手法に関する。
【０００２】
【従来の技術】
課金情報を有する顧客管理システムや化学、鉄鋼プラントのような産業システム、交通制御システム、電力システムにおいては、システムに異常が発生した場合のデータの収集、保持、更新作業の中断や、データの一貫性の喪失は避けなければならない。そのために、たとえば、データ処理の二重化などにより、データの収集、保持、更新作業の中断回避や、データの一貫性保持するための、高信頼化処理手段を講じている。
【０００３】
上記システムにて講じられる従来の高信頼化処理手段においては、二重化処理専用のシステム構成を採用している。たとえば、従来の高信頼化システムでは、据え置き型コンピュータからなる情報処理装置を２台設置して、相互を監視用ハードウェアで接続している。監視用ハードウェアが、稼動中の一方の情報処理装置（主系コンピュータ）のシステムダウンなど、異常状態を検出すると、待機していた他方の情報処理装置（従系コンピュータ）に処理を引き継がせている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の高信頼化システムにおいては、２台の情報処理装置は隣接して配置されており、これらを物理的に離れた場所に設置して運用する形態になっていない。近年の無線通信を用いた携帯情報端末の爆発的な普及と処理能力の向上に伴い、これら携帯情報端末を用いた柔軟な高信頼化システムの構築が望まれるが、従来の高信頼化システムを利用することは困難であるという問題点があった。
【０００５】
また、２台以上の情報処理装置を相互に接続してアプリケーションの多重化処理を行うために、高信頼化処理専用のＯＳ（オペレーティングシステム）を情報処理装置に搭載する必要があった。高信頼化処理専用のＯＳは、特定制御用に機能が限定された特殊なもの、あるいは、通常のＯＳ機能に高信頼機能を組み込んだ大掛かりな構造を有するものとなるのが一般的であった。したがって、上記高信頼化処理専用のＯＳは、ＰＣ（パーソナルコンピュータ）や携帯情報処理端末のような小型情報処理装置にて稼動させるのには不向きであった。
【０００６】
さらに、情報処理装置において、一般的には、データ処理の高信頼性が要求されるアプリケーション、および、要求されないアプリケーションが混在して、動作しているのが通常である。たとえば、顧客管理データの中でも課金情報や顧客販売情報は、データの欠落や矛盾があってはならない。その一方、顧客向けバーゲンセール等のイベント管理情報は、データ欠落があっても顧客への影響は少なく、敢えて二重化による管理は不要である。
【０００７】
同様に、産業プラントにおいても、機器の制御・監視を行うアプリケーションは無停止を要求されるとともに、データの欠落や矛盾があってはならない。その一方、産業プラントシステムでも、監視情報の帳票出力処理などは二重化の必要はなく、情報処理装置の異常状態からの回復後に出力すればよい。
【０００８】
このように、従来の高信頼化システム構成では、情報処理装置の設置制約や高信頼アプリケーションのみの多重化処理が困難であった。そのため、携帯情報端末のような情報処理装置を利用したデータ処理の高信頼化や、前記情報処理装置による必要なアプリケーションのみを多重化して高信頼化することは困難であった。
本発明の目的は、所望のときに所望の場所にて、アプリケーションに必要な高信頼処理を施すことができるシステムを提供することにある。
【０００９】
【課題を解決するための手段】
本発明の目的は、ネットワークを介して相互に接続された複数の情報処理装置を用いて、高信頼化処理を実現する情報処理方法であって、少なくともデータを保持し処理する個別プログラムであるアプリケーションを、ある情報処理装置にて動作させるステップと、前記高信頼化処理を実現するための種々の処理を実行するエージェントを保持していない場合に、ネットワークを介して他の情報処理装置から前記情報処理装置に、前記エージェントの複製を移動させるステップと、前記エージェントと協働して前記アプリケーションが動作するステップとを備えたことを特徴とする情報処理方法により達成される。
【００１０】
本発明においては、並列多重化処理や待機冗長処理を司るエージェントを、移動可能にしている。したがって、ＰＤＡなど携帯端末においても、ネットワークを介して、他のコンピュータからエージェントを受理し、当該エージェントと協働してアプリケーションを実行することにより、任意の場所で任意のときにアプリケーションに高信頼化処理を施すことが可能となる。
【００１１】
好ましい実施態様においては、アプリケーションの動作終了後に、前記エージェントを解放するステップを備えている。このように、本発明によれば、エージェントをダイナミックに発生させ、また、消去することが可能となる。
【００１２】
たとえば、エージェントの複製を移動させるステップは、前記情報処理装置において、前記アプリケーションからの、エージェントが必要であることを示す情報を受理するステップと、前記情報の受理に応答して、前記エージェントを保持する他の情報処理装置を見出すステップと、前記情報処理装置から前記エージェントを保持する他の情報処理装置に対して、前記エージェントの移動を要求するステップを含んでもよい。これは、アプリケーションの要求によりエージェントが移動される場合である。或いは、エージェントの複製を移動させるステップは、情報処理装置において、アプリケーションを監視して、高信頼化処理の必要なものを検出するステップと、検出に応答して、前記エージェントを保持する他の情報処理装置を見出すステップと、情報処理装置から前記エージェントを保持する他の情報処理装置に対して、エージェントの移動を要求するステップとを含んでいても良い。
【００１３】
別の実施態様においては、アプリケーションの高信頼化処理の種別に応じたエージェントが、前記情報処理装置に移動させるステップを備えている。前記種別には、たとえば、並列多重化処理、待機冗長処理、および、リカバリーブロック方式による処理、認証処理などが含まれる。
【００１４】
また、本発明の目的は、ネットワークを介して相互に接続された複数の情報処理装置を用いて、高信頼化処理を実現する情報処理方法であって、少なくともデータを保持し処理する個別プログラムであるアプリケーションを、ある情報処理装置にて動作させるステップと、前記情報処理装置において、高信頼化処理の必要性に応じて、前記高信頼化処理を実現するための種々の処理を実行するエージェントを所持しているか否かを判断するステップと、前記所持している場合に、これをロードし、その一方、所持していない場合に、ネットワークを介して、前記エージェントを所持している他の情報処理装置を見出すステップと、前記アプリケーションを、他の情報処理装置に移動させるステップと、前記他の情報処理装置から、前記エージェントの複製を移動させるステップと、前記情報処理装置および前記他の情報処理装置の各々において、前記エージェントと協働して前記アプリケーションが動作するステップとを備えたことを特徴とする情報処理方法により達成される。
【００１５】
これにより、複数のコンピュータ（たとえば、ＰＤＡおよび他の据え置きコンピュータ、或いは、複数のＰＤＡ）において、並列多重処理や待機冗長処理を実現できる。無論、情報処理装置および他の情報処理装置の各々において、アプリケーションの動作終了後に、前記エージェントを解放することができる。
【００１６】
また、本発明の目的は、ネットワークを介して相互に接続された複数の情報処理装置を用いて、高信頼化処理を実現する情報処理方法であって、少なくともデータを保持し処理する個別プログラムであるアプリケーションの起動を、ある情報処理装置にて求めるステップと、前記高信頼化処理を実現するための種々の処理を実行するエージェントが存在しない場合に、ネットワークを介して、前記エージェントを保持する他の情報処理装置を検索するステップと、前記他の情報処理装置に、前記アプリケーションの実行依頼および前記アプリケーションを伝達するステップと、前記他の情報処理装置において、前記エージェントと協働して前記アプリケーションが動作するステップとを備えたことを特徴とする情報処理方法により達成される。この発明においては、エージェントを動的に生成するのではなく、エージェントを所持する情報処理装置に、高信頼化処理を施すべきアプリケーションを動的に生成している。
【００１７】
さらに、本発明の目的は、ネットワークを介して少なくとも1以上の他の情報処理装置と接続された情報処理装置であって、少なくともデータを保持し処理する個別プログラムであるアプリケーションを、ある情報処理装置にて動作させるアプリケーション実行手段と、前記他の情報処理装置の何れかから、前記高信頼化処理を実現するための種々の処理を実行するエージェントの複製を受け入れるエージェント移動処理手段を備え、前記エージェント受理手段により受理されたエージェントと協働して、前記アプリケーションが実行されるように構成されたことを特徴とする情報処理装置によっても達成される。前記アプリケーションの動作終了後に、前記エージェントを解放するエージェント解放手段を備えているのが望ましい。
【００１８】
好ましい実施態様においては、前記エージェント移動処理手段が、前記アプリケーションから、エージェントが必要であることを示す情報の受理に応答して、前記エージェントを保持する他の情報処理装置を見出し、当該他の情報処理装置に対して、前記エージェントの移動を要求するように構成されている。別の好ましい実施態様においては、前記エージェント移動処理手段が、アプリケーションを監視して、高信頼化処理の必要なものを検出し、前記検出に応答して、前記エージェントを保持する他の情報処理装置を見出し、当該他の情報処理装置に対して、前記エージェントの移動を要求するように構成されている。
【００１９】
また、本発明の目的は、上記情報処理装置と、ネットワークを介して接続された情報処理装置であって、前記要求元の情報処理装置からのエージェントの移動要求に応答して、前記エージェントを記憶装置から取り出して、前記ネットワークを介して、前記要求元の情報処理装置の情報処理装置に伝達するように構成されたことを特徴とする情報処理装置によっても達成される。
【００２０】
さらに、本発明の目的は、ネットワークを介して少なくとも1以上の他の情報処理装置と接続された情報処理装置であって、少なくともデータを保持し処理する個別プログラムであるアプリケーションの実行を、高信頼化処理によりなす指示を受理する指示受理手段と、前記指示の受理に応答して、前記高信頼化処理を実現するための種々の処理を実行するエージェントを保持する他の情報処理装置を検索する検索手段と、前記エージェントを保持する他の情報処理装置に対して、前記アプリケーションおよびアプリケーションの実行依頼を、ネットワークを介して伝達するアプリケーション伝達手段とを備えたことを特徴とする情報処理装置によっても達成される。
【００２１】
上記情報処理装置を要求元の情報処理装置とすれば、要求元の情報処理装置と、ネットワークを介して接続された情報処理装置は、要求元の情報処理装置からのアプリケーションおよびアプリケーションの実行依頼に応答して、必要なエージェントを記憶装置から取り出して、前記エージェントと協働して前記アプリケーションを実行するように構成されているのが望ましい。
【００２２】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態につき説明を加える。図１は、本発明の実施の形態にかかるシステムの一例を示すブロックダイヤグラムである。図１に示すように、本実施の形態にかかるシステムにおいては、広域通信網１２に、企業の本社に設置されたシステム（以下、「本社システム」と称する。）１４、上記企業の製造工場に設置されたシステム（以下、「製造工場システム」と称する。）２０、および、企業の支社に設置されたシステム（以下、「支社システム」と称する。）２６が接続されている。また、広域通信網１２には、当該企業の社員等が携帯しているＰＤＡなどの携帯情報端末３０−１、３０−２、・・・が接続可能となっている。
【００２３】
本社システム１４には、たとえば、企業の取り扱う製品の販売実績、在庫状況などを含む種々の販売情報を記憶した販売情報データベース（ＤＢ）１６、および、経理関係の情報を記憶した経理情報ＤＢ１８が接続されている。製造工場システム２０には、工場内のラインなどを制御・監視するプラント制御・監視システム２２や、当該工場内の上記制御などに必要な種々の情報を記憶したプラント情報ＤＢ２４が接続されている。また、支社システム２６にも、支社における製品の販売実績、売上などを含む種々の販売情報を記憶した支社販売情報ＤＢ２８が接続されている。
【００２４】
このようなシステムにおいて、携帯情報端末を所持している使用者（社員）は、これを操作して、本社システム１４などにアクセスして、当該使用者のアクセス権限の下、必要な情報を収集し、或いは、ＤＢ中のデータを更新することができる。なお、本明細書において、各システム１６、２０、２２或いはシステムに含まれるクライアントマシンなどを、場合によって、単に、コンピュータ３２と称する。
【００２５】
本実施の形態においては、図２に示すように、複数種類の処理ステップのそれぞれにおいて、並列多重化処理や待機冗長処理を採用して、フォルトトレラントな処理構造を実現している。図２において、それぞれの楕円はアプリケーションを示し、たとえば、アプリケーションＡ１〜Ａ３は、同一のアプリケーションとなっている。また、内側が白色のもの（たとえば、アプリケーションＡ１、Ａ２、Ｂ１など）は稼動中、つまり、アクティブであることを示し、その一方、内側にハッチングを施したもの（たとえば、アプリケーションＡ３、Ｃ２）は待機中、つまり、パッシブであることを示している。
【００２６】
本実施の形態においては、上記フォルトトレラントな処理構造を実現するために、ＰＤＡ３０やコンピュータ３２に、高信頼化処理を実行するためのエージェント（以下、「ＦＴ(Fault-tolerant)エージェント」と称する。）を動的に設け、当該ＦＴエージェントを作動させている。たとえば、ＦＴエージェントを不揮発性の記憶装置に記憶しているコンピュータ３２であれば、必要なアプリケーションを移動することにより、フォルトトレラントなシステムの一部として機能できる。その一方、ＦＴエージェントを保持していないコンピュータ、たとえば、ＰＤＡ３０であれば、ＦＴエージェントの複製を、他のコンピュータ３２から伝達してもらうことで、フォルトトレラントなシステムの一部として機能可能となる。なお、本明細書において、パーソナルコンピュータ、サーバ、コンピュータ群からなるシステム、或いは、ＰＤＡなどを、場合によっては「情報処理装置」とも称する。
【００２７】
図２に示すような並列多重処理および待機冗長処理の組み合わせを、図３に示すように、複数のＰＤＡ３０およびコンピュータ３２により実現できる。図３においては、第1のＰＤＡ３０−１にて、アクティブＦＴエージェント３４−１が機能し、ここで、アクティブなアプリケーションＡ１、Ｂ１が作動している。また、第２のＰＤＡ３０−２においては、アクティブＦＴエージェント３４−２およびパッシブＦＴエージェント３４−３が機能し、前者においては、アクティブなアプリケーションＢ２が作動し、後者においては、パッシブな（待機系の）アプリケーションＡ３、Ｃ３が作動している。同様に、コンピュータ３２においては、アクティブＦＴエージェント３４−４およびパッシブＦＴエージェント３４−５が機能し、前者においては、アクティブなアプリケーションＡ２、Ｃ１、Ｄ１が作動し、後者においては、パッシブな（待機系の）アプリケーションＣ２、Ｄ２が作動している。
【００２８】
次に、並列多重処理を実行するためのＦＴエージェントについてより詳細に説明を加える。なお、本明細書において、ＦＴエージェントを、場合により、フォルトトレラントな処理つまり高信頼化処理を実現するための構成部分であるため、高信頼化処理部とも称する。
【００２９】
図４（ａ）は、本実施の形態において、フォルトトレラントなシステムとして機能するための情報処理装置の概略を示すブロックダイヤグラムである。図４（ａ）に示すように、情報処理装置には、ＦＴエージェント３４を設けることが可能となっている。また、情報処理装置は、他の情報処理装置からのアプリケーションやＦＴエージェント３４の受け入れを処理する受け入れ要求処理部３８と、ＦＴエージェントの移動に関する処理を実行する移動処理部４０とを備えている。
【００３０】
なお、前述したように、図４（ａ）において、ＦＴエージェント（高信頼化処理部）３４は、情報処理装置に常駐している必要は無く、フォルトトレラントな処理を実行すべき場合に、他のコンピュータからロードし、また、上記フォルトトレラントな処理の終了の後には、これを解放して、情報処理装置から消去するようにしても良い。
【００３１】
図４（ｂ）は、並列多重処理を実行するためのＦＴエージェント３４をより詳細に示すブロックダイヤグラムである。図４（ｂ）において、他の情報処理装置のＦＴエージェントにて動作しているアプリケーションから、自己のＦＴエージェント３４が管轄するアプリケーションに送信されるメッセージを単一化して、受け渡す処理を実行するメッセージ単一化処理部４２を有している。メッセージを単一化することとは、多重化されたアプリケーションからの同一メッセージを集約して１つのものとして、宛先のアプリケーションに受け渡す処理をいう。この単一化処理により、メッセージの宛先となるアプリケーションは、送信元のアプリケーション群による多重化を意識する必要が無い。
【００３２】
また、ＦＴエージェント３４は、自己が掌握するアプリケーション宛てに受信したメッセージの履歴を管理し、受信漏れしたメッセージの有無を判断し、受信漏れしたメッセージがある場合には、その再送信を送信元の情報処理装置に要請する処理を実行するメッセージ監視・再送制御部４４と、ＦＴエージェント３４と、掌握しているアプリケーションとの間のメッセージの受け渡す処理を実行するインタフェース部４６とを有している。
【００３３】
図５は、本実施の形態にかかる受け入れ要求処理部３８における処理を示すフローチャートである。受け入れ要求処理部３８は、他の情報処理装置から、ネットワークを介して、アプリケーションの受け入れやＦＴエージェントの移動の要求があった場合に、これに応答して起動される。図５に示すように、受け入れ要求処理部３８が、他の情報処理装置から、上記アプリケーションやＦＴエージェントの受け入れ要求を受理すると（ステップ５０１）、受け入れ可否が判断される（ステップ５０２）。ステップ５０２において受け入れ可能（OK）である場合には、受け入れを準備した後に（ステップ５０３）、準備完了通知を、他の情報装置にネットワークを介して伝達する（ステップ５０５）。その一方、受け入れ不可能（NG）である場合には、受け入れ拒否を示す通知が、他の情報処理装置に伝達される（ステップ５０４）。
【００３４】
たとえば、アプリケーションの受け入れの場合には、当該アプリケーション名などを含む書誌的情報とともに、アプリケーションが、他の情報処理装置から伝達され、受け入れ要求処理部３８は、アプリケーションを受け入れ、また、書誌的情報を管理テーブル（図示せず）に記憶する（ステップ５０６）。
本実施の形態においては、アプリケーション自体の要求により、或いは、移動処理部４０が、高信頼化処理が必要なアプリケーションを発見することにより、ＦＴエージェント３４の移動処理が実行される。図６は、移動処理部４０にて実行される処理を示すフローチャートである。
【００３５】
図６に示すように、アプリケーションからの移動要求があった場合（ステップ６０１でイエス(Yes)）、或いは、移動要求が無くとも（ステップ６０１でノー(No)）、高信頼化処理が必要なアプリケーションの探索（ステップ６０２）により、他プリケーションが見出された場合（ステップ６０３でイエス(Yes)）には、移動処理部４０は、高信頼化処理の種別に応じて、移動すべきＦＴエージェントを特定し、当該ＦＴエージェントの移動を準備する（ステップ６０４）。
【００３６】
本実施の形態においては、ＦＴエージェントとして、並列多重化処理を実現するためのもの（図４（ｂ）参照）、待機冗長処理を実現するためのもの、リカバリーブロック方式による高信頼化処理を実現するためのもの、認証処理を実現するためのものなどが含まれる。したがって、ＦＴエージェントには、上記処理種別を示す種別情報が付加され、移動処理部４０は、処理形態に応じた種別情報が付加されたＦＴエージェントを用意する。
【００３７】
次いで、移動処理部４０は、移動先の候補となった他の情報処理装置に対して、ネットワークを介して、ＦＴエージェントの移動要求を送信する（ステップ６０５）。移動要求を受理した他の情報処理装置においては、先に説明した図５の処理が実行される。移動先の候補となった他の情報処理装置から、準備完了通知を受理すると（ステップ６０６）、移動処理部４０は、移動すべきＦＴエージェントの複製を、ネットワークを介して、他の情報処理装置に送信する（ステップ６０７）。これにより、所定の高信頼化処理を実現するためのＦＴエージェントが、他の情報処理装置にも配置される。
【００３８】
図４（ｂ）に示す並列多重化処理を実行する際に、あるコンピュータ３２とＰＤＡ３０との間で実行される処理や通信手順を、より具体的に説明する。図７は、上記手順の一例を示すフローチャートである。これを利用すると、たとえば、営業担当者が顧客先にて、契約内容を更新し、或いは、新規に契約するときに、携帯したＰＤＡを利用して、アプリケーションを動作させ、契約内容を本社や支社のシステムのデータベースおよびＰＤＡ中のメモリの双方に記憶させて、信頼性を向上させることが可能となる。
【００３９】
まず、ユーザの操作により、ＰＤＡ３０において、アプリケーションが選択され、これが起動される（ステップ７０１）。ＰＤＡ３０の表示装置の画面上には、たとえば、図８（ａ）に示すようなメニューウィンドウ８００が表示される。本実施の形態においては、メニューウィンドウに、「アプリケーション選択・探索・取得」ボタン（符号８０１）や、並列多重化などの高信頼化処理を必要とする際に指定されるボタン（たとえば、符号８０２）が設けられている。
たとえば、ボタン８０１をユーザが指定することで、ＰＤＡのメモリ中に記憶されたアプリケーションのリスト、ネットワークを介してアクセス可能な他のコンピュータを探索したリスト、探索の結果取得可能なアプリケーションのリストなどを表示することが可能である。
【００４０】
ユーザがアプリケーションを高信頼化処理にて実行したい場合には、メニュー８００を参照して、所望の処理形態を選択する。たとえば、並列多重化処理にてアプリケーションを実行したければ、ユーザは入力装置を操作して、ボタン８０２をオンすればよい。なお、「雛型」とは指定された形態の高信頼化処理を実現するためのＦＴエージェントをいう。
たとえば、ＰＤＡ３０自体のメモリに指定された雛型つまりＦＴエージェントが格納されていれば、これをロードすれば足りる。その一方、ＰＤＡ３０自体に指定された雛型が存在しない場合には、他のコンピュータ３２に雛型を要求する（ステップ７０３）。コンピュータ３２においては、データベース（ＤＢ）を検索し（ステップ７０４）、指定された雛型の複製をＰＤＡ３０に送信する（ステップ７０５）。
【００４１】
コンピュータ３２が、ＰＤＡ３０からアプリケーション受け入れ要求（ステップ７０６）を受理すると、図５に示した受け入れ要求処理を実行し（ステップ７０７）、アプリケーションを受け入れ可能であればアプリケーションを受け入れる（ステップ７０８）。次いで、ＰＤＡ３０において、図６に示す移動処理にしたがって、アプリケーションの要求或いはＰＤＡ３０自体がアプリケーションを見つけ出すことにより、ＦＴエージェントの移動要求が、コンピュータ３２に伝達される（ステップ７０９）。コンピュータ３２において、移動要求にかかるＦＴエージェントを有していれば、ＦＴエージェントを移動させることなく、データベースから対応する雛型（ＦＴエージェント）をロードすればよい（ステップ７１０、７１１）。
【００４２】
このようにして、ＰＤＡ３０およびコンピュータ３２において、並列多重処理にてアプリケーションが動作する（ステップ７１２〜７１３、図８（ｂ）参照）。ここでは、並列多重処理用のＦＴエージェント中のメッセージ単一化処理部４２、メッセージ監視・再送制御部、インタフェース部４６が機能して、ＰＤＡ３０やコンピュータ３２にて実行される同一のプログラムによる動作の整合性を図っている。必要な処理が終了すると、ＰＤＡ３０およびコンピュータ３２の双方において、アプリケーションおよびＦＴエージェントが開放される（ステップ７１５、７１６）。
【００４３】
上記例においては、並列多重処理を実現するためのＦＴエージェント３４について説明を加えた。本実施の形態においては、さらに、待機冗長処理、リカバリーブロック方式、認証処理などを実現することができる。待機冗長処理とは、アプリケーションが２重化されており、２重化されたアプリケーションの一方が動作して、一連の動作を行い、他方のアプリケーションは、動作中のアプリケーションの異常などによる停止の場合や、異常動作を引き起こしたと判断された場合に、処理を引き継いでシステムを継続させるものである。待機冗長処理は、一般に、処理の引継ぎに多少の時間を要しても許容される場合や、並列多重処理が困難な場合に適用される。
【００４４】
図９（ａ）は、待機冗長処理のためのＦＴエージェントを示すブロックダイヤグラムである。ＦＴエージェント１３４は、メッセージ単一化部４２、メッセージ監視・再送制御部４４、インタフェース部４６のほか、アプリケーションの内部状態を示す情報を収集する内部状態収集部４８と、他のアプリケーションから与えられたメッセージを受信し、受信履歴情報を更新する受信メッセージ更新部５０と、必要に応じて動作モードを切り替える稼動／待機モード切替部５２とを有している。このＦＴエージェントにおいては、待機状態のアプリケーションを掌握するＦＴエージェント（パッシブＦＴエージェント）の受信メッセージ更新部５０は、他のアプリケーションから送信されたメッセージを受信すると、その受信履歴情報を更新する。また、内部状態収集部４８は、一定時間ごと或いは一定条件が成立するごとに、主系（稼動系）のアプリケーションの内部状態を収集する。収集された主系のアプリケーションの内部状態は、待機系のアプリケーションの内部状態として更新される。
【００４５】
図９（ｂ）は、リカバリーブロック方式による高信頼化処理を実現するためのＦＴエージェントを示すブロックダイヤグラムである。リカバリーブロック方式とは、動作中のアプリケーションが出力する処理結果を評価して、評価の結果の妥当性を判定し、妥当であれば処理が継続され、その一方以上と判定されると、動作中のアプリケーションの処理を中断して、待機しているアプリケーションに処理を引き継ぐものである。
【００４６】
図９（ｂ）に示すように、このＦＴエージェント２３４は、メッセージ単一化部４２、メッセージ監視・再送制御部４４、インタフェース部４６のほか、アプリケーションの出力する処理結果を受理して、その妥当性を評価する受け入れテスト部５４と、必要に応じて動作モードを切り替える稼動／待機モード切替部５２とを有している。
【００４７】
図９（ｃ）は、アプリケーションの認証処理を実行するためのＦＴエージェントのブロックダイヤグラムである。たとえば、認証処理は公開暗号鍵の手法を用いて実現できる。このＦＴエージェント３３４は、インタフェース部４６のほか、認証処理部５６を備えている。
これら図９（ａ）〜（ｂ）に示すＦＴエージェントに関して、アプリケーションの移動や、ＦＴエージェント１３４、２３４、３３４の移動は、並列多重化処理の場合と同様に実現できる。
【００４８】
本実施の形態においては、上記高信頼化処理の形態に応じたＦＴエージェントの複製を、必要に応じて、ＰＤＡが本社システム等からロードし、或いは、自己のメモリ中に格納してあればそれをロードし、所定の高信頼化処理を実現している。また、処理が終了すれば、上記ロードしたＦＴエージェントを解放することができる。ここでは、実際にメモリから消去してしまっても良い。
このように、本実施の形態によれば、ＦＴエージェントを、たとえば、他のコンピュータからロードすることにより、高信頼化処理を実現できる。したがって、以下のように使用することができる。
【００４９】
前述したように、営業担当者が顧客先にて、契約内容を更新し、或いは、新規に契約するときに、携帯したＰＤＡを利用して、アプリケーションを動作させ、契約内容を本社や支社のシステムのデータベースおよびＰＤＡ中のメモリの双方に記憶させて、信頼性を向上させることが可能となる。また、いちいち、本社データベースとの接続をしなくとも、ＰＤＡに保持した顧客データを利用することができ、業務効率を向上させることが可能となる。さらに、高性能のパーソナルコンピュータを多数分散配置し、顧客管理データの分散化や多重化を実現でき、危険分散の上で好適である。
【００５０】
或いは、化学プラントなどの制御機器の監視や制御を、所望のときに所望の場所から高信頼性をもって実行することが可能となる。たとえば、プラント制御・監視システム（図１の符号２２参照）の制御コンソールの前でプラント状況を監視しなくとも、遠隔地で手持ちのＰＤＡやパーソナルコンピュータにて、監視や機器制御を行うことができる。また、機器制御用計算機の不具合の発生を想定して、制御ソフトウェアを並列多重処理や待機冗長処理の形態で、任意の場所に配置でき、危険分散上好適である。
【００５１】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
たとえば、前記実施の形態において、ＦＴエージェントを高信頼化処理の種別ごとに用意しているがこれに限定されるものではなく、並列多重処理、待機冗長処理、リカバリーブロック方式の処理を実現する必要なコンポーネントを含むようなＦＴエージェントを用意し、これをＰＤＡ等に移動して、処理の形態に応じて必要なコンポーネントが作動するように構成しても良い。
【００５２】
たとえば、図２および図３に示すように、異なる高信頼化処理が混在する場合であっても、一つのＦＴエージェント（たとえば、アクティブＦＴエージェント３４−１）が複数のアプリケーション（たとえば、「Ａ１」および「Ｂ１」）を掌握して、必要な高信頼化処理を実現することが可能となる。
また、図７に示す処理手順は一例であり、他の手順にて高信頼化処理が実現される場合もある。また、アプリケーションが移動した後に、ＦＴエージェントが移動するのであっても、ＦＴエージェントが移動した後に、アプリケーションが移動するのであっても良い。また、ＦＴエージェントが存在すれば、他の情報処理装置ロードする必要もない。
【００５３】
さらに、本発明において、アプリケーションが、ＦＴエージェントが存在する情報処理装置に移動するように構成しても良い。図１０は、このような場合の処理手順を示すフローチャートである。図１０において、ユーザがＰＤＡ３０を操作して、アプリケーションを選択し（ステップ１００１）、次いで、高信頼化処理の形態の選択に伴って、ＰＤＡ３０は、ＦＴエージェントを持つ他の情報処理装置を検索する（ステップ１００２）。上記他の情報処理装置として、コンピュータＡが見出されると、アプリケーションの受け入れ要求が、当該コンピュータＡに伝達される（ステップ１００３）。コンピュータＡにおいては受け入れ要求処理が実行され（ステップ１００４）、アプリケーションがロードされる（ステップ１００５）。
【００５４】
同様に、コンピュータＡからＦＴエージェントを持つ他のコンピュータＢに対して、アプリケーション受け入れ要求が伝達され（ステップ１００６）、受け入れ要求処理（ステップ１００７）が実行されて、アプリケーションが受理される（ステップ１００８）。コンピュータＡおよびコンピュータＢにおいては、それぞれ、データベース（ＤＢ）から高信頼化処理に必要な雛型（ＦＴエージェント）が取り出され（ステップ１００９、１０１０）、アプリケーションが動作する（ステップ１０１１〜１０１３）。また、アプリケーションの動作が終了すると、これらが解放される（ステップ１０１４、１０１５）。
【００５５】
【発明の効果】
本発明によれば、所望のときに所望の場所にて、アプリケーションに必要な高信頼処理を施すことができるシステムを提供することが可能となる。
【図面の簡単な説明】
【図１】  図１は、本発明の実施の形態にかかるシステムの一例を示すブロックダイヤグラムである。
【図２】  図２は、本実施の形態にかかるフォルトトレラントな処理の一例を示す図である。
【図３】  図３は、図２に示す高信頼化処理を実現するための情報処理装置の構成例を示す図である。
【図４】  図４（ａ）は、本実施の形態にかかる情報処理装置の概略を示すブロックダイヤグラム、図４（ｂ）は、本実施の形態にかかるＦＴエージェントの構成例を示すブロックダイヤグラムである。
【図５】  図５は、本実施の形態にかかる受け入れ要求処理部における処理を示すフローチャートである。
【図６】  図６は、本実施の形態にかかる移動処理部における処理を示すフローチャートである。
【図７】  図７は、本実施の形態において、高信頼化処理（並列多重化処理）を実現するための手順の一例を示すフローチャートである。
【図８】  図８（ａ）は、本実施の形態にかかるＰＤＡの表示装置の画面上に表示されるウィンドウの例を示す図、図８（ｂ）は、図７の処理により高信頼化処理を実行する情報処理装置の構成例を示す図である。
【図９】  図９は、本実施の形態にかかるＦＴエージェントの他の構成例を示すブロックダイヤグラムである。
【図１０】  図１０は、本実施の形態において、高信頼化処理を実現するための手順の他の例を示すフローチャートである。
【符号の説明】
１２      広域通信網
１４      本社システム
２０      製造工場システム
２６      支社システム
３０      ＰＤＡ
３４      高信頼化処理部（ＦＴエージェント）
３８      受け入れ要求処理部
４０      移動処理部
４２      メッセージ単一化処理部
４４      メッセージ監視・再送制御部
４６      インタフェース部
【図１】
0003968227.tif 000002
【図２】
0003968227.tif 000003
【図３】
0003968227.tif 000004
【図４】
0003968227.tif 000005
【図５】
0003968227.tif 000006
【図６】
0003968227.tif 000007
【図７】
0003968227.tif 000008
【図８】
0003968227.tif 000009
【図９】
0003968227.tif 000010
【図１０】
0003968227.tif 000011