(57)【特許請求の範囲】
【請求項１】
エージェントを送信する送信側コンピュータシステムと、
コンピュータシステムのアカウントを記憶するレジストリサーバーと、送信側コンピュータシステムから実行側コンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を記憶する情報交換経路管理テーブルとを備え、エージェントを受信して実行する実行側コンピュータシステムと
を含む複数のコンピュータシステムを備えたネットワークシステム内でエージェントを転送するエージェント方法において、
上記実行側コンピュータシステムが、
上記レジストリサーバーが記憶したアカウントを参照して、送信側コンピュータシステムを認証する工程と、
上記送信側コンピュータシステムを認証できた場合に、上記情報交換経路管理テーブルに記憶した所定の通信条件を、上記認証できた送信側コンピュータシステムに送信する工程と、
送信側コンピュータシステムから上記所定の通信条件に従い送信されたエージェントを受信する工程と、
上記エージェントを受信する工程により受信したエージェントを実行する工程とを有するとともに、
上記送信側コンピュータシステムが、
上記実行側コンピュータシステムにより送信された所定の通信条件を受信する工程と、
上記所定の通信条件を受信する工程により受信した所定の通信条件を記憶する工程と、
上記実行側コンピュータシステムに送信するエージェントを生成する工程と、
上記所定の通信条件を記憶する工程によって記憶した所定の通信条件に従って上記実行側コンピュータシステムに上記生成したエージェントを送信する工程とを有する
ことを特徴とするエージェント方法。
【請求項２】
上記所定の通信条件は、上記実行側コンピュータシステムが実行側コンピュータシステムのアクセスを制限するアクセス制御部を有する場合に、上記アクセス制御部がアクセスを許可する通信条件を含むことを特徴とする請求項１記載のエージェント方法。
【請求項３】
上記エージェント方法は、更に、上記送信側コンピュータシステムにより、
エージェント発行ユーザの認証を行なう工程を有し、
上記送信側コンピュータシステムは、
ユーザの認証ができた場合に上記エージェントを生成する工程を実行することを特徴とする請求項１記載のエージェント方法。
【請求項４】
上記実行側コンピュータシステムは、エージェントを実行できる複数のエージェント処理系を有し、
上記送信側コンピュータシステムによりエージェントを生成する工程は、エージェント処理系の特性に基づいてエージェント処理系を選択する工程と、選択したエージェント処理系の識別情報をエージェントの一部に書き込む工程とを有し、
上記実行側コンピュータシステムによりエージェントを実行する工程は、エージェントの一部からエージェント処理系の識別情報を読み出す工程と、識別情報で特定されるエージェント処理系へエージェントを転送する工程を有することを特徴とする請求項１記載のエージェント方法。
【請求項５】
上記送信側コンピュータシステムによりエージェントを生成する工程は、エージェント発行ユーザの識別情報をエージェントの一部に書き込む工程を有し、
上記実行側コンピュータシステムによりエージェントを実行する工程は、エージェントの一部からエージェント発行ユーザの識別情報を読み出す工程と、エージェント発行ユーザの識別情報で特定されるエージェント発行ユーザのアクセス権に従ってサービスにアクセスする工程とを有することを特徴とする請求項１記載のエージェント方法。
【請求項６】
上記エージェント方法は、更に、
上記実行側コンピュータシステムにより、
上記送信側コンピュータシステムへエージェント実行状況を送信する工程と、
上記送信側コンピュータシステムにより、
上記実行側コンピュータシステムからエージェント実行状況を受信する工程とを有することを特徴とする請求項１記載のエージェント方法。
【請求項７】
上記エージェント方法は、更に、
上記送信側コンピュータシステムにより、
エージェントの少なくとも一部を暗号化する工程と、
上記実行側コンピュータシステムにより、
エージェントの暗号部分を復号化する工程とを有することを特徴とする請求項１記載のエージェント方法。
【請求項８】
上記送信側コンピュータシステムは、実行側コンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を複数有し、
上記エージェント方法は、更に、
上記送信側コンピュータシステムにより、
上記実行側コンピュータシステムへエージェントを送信した場合、上記複数の通信条件のうち使用した通信条件の識別情報を含むエージェント送信履歴を記憶する工程を有し、
上記送信側コンピュータシステムにより実行側コンピュータシステムにエージェントを送信する工程は、上記記憶したエージェント送信履歴に基づいて、エージェントを送信する場合に使用する通信条件を選択する工程を有する
ことを特徴とする請求項１記載のエージェント方法。
【請求項９】
上記実行側コンピュータシステムにより上記送信側のコンピュータシステムを認定する工程は、さらに、第三者認証局により、認証する工程を有することを特徴とする請求項１記載のエージェント方法。
【請求項１０】
上記エージェント方法は、更に、上記送信側コンピュータシステムにより、
上記送信側コンピュータシステムのエージェント発行ユーザの認証を行う工程により認証されたユーザ認証データを、上記ネットワークシステムの上記送信側コンピュータシステム以外の他のコンピュータシステムへ送信する工程と、
上記送信側コンピュータシステム以外の他のコンピュータシステムにより、
上記送信側コンピュータシステムが送信したユーザ認証データを受信する工程と、
上記受信したユーザ認証データを記憶する工程と、
上記エージェントの生成を行う場合に、上記記憶したユーザ認証データを読み出して、エージェント発行ユーザの認証を行う工程と、
上記エージェント発行ユーザの認証が行われた場合に、上記エージェント生成する工程と
を有することを特徴とする請求項３記載のエージェント方法。
【請求項１１】
上記エージェント方法は、更に、
上記実行側コンピュータシステムにより、
上記情報交換経路管理テーブルが記憶した所定の通信条件に基づいて、エージェントの実行状況を送信する管理情報転送経路を定義する工程と、
エージェント実行状況の送信先を管理情報転送経路に従って決定する工程とを有することを特徴とする請求項６記載のエージェント方法。
【請求項１２】
他のコンピュータシステムと通信するコンピュータシステムにおいて、
他のコンピュータシステムがコンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を記憶する情報交換経路管理テーブルと
上記他のコンピュータシステムのアカウントを記憶するレジストリサーバーと、
エージェントを送信する他のコンピュータシステムを、上記レジストリサーバーが記憶するアカウントを参照して認証するコンピュータシステム認証部と、
上記コンピュータシステム認証部により認証できた場合に、認証した他のコンピュータシステムに対して、上記情報交換経路管理テーブルが記憶する所定の通信条件を送信する通信条件送信部と、
他のコンピュータシステムからエージェントを受信するエージェント受信部と、
受信したエージェントを実行するエージェント実行部を有することを特徴とするコンピュータシステム。
【請求項１３】
他のコンピュータシステムと通信するコンピュータシステムにおいて、
上記コンピュータシステムが他のコンピュータシステムにより認証された結果送信されてきた所定の通信条件であって、他のコンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を受信する通信条件受信部と、
受信した所定の通信条件を記憶する通信条件記憶部と、
他のコンピュータシステムで実行されるエージェントを生成するエージェント生成部と、
記憶した所定の通信条件に従って他のコンピュータシステムへエージェントを送信するエージェント送信部を有することを特徴とするコンピュータシステム。
【請求項１４】
コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成することを特徴とする請求項１２記載のコンピュータシステム。
【請求項１５】
コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成することを特徴とする請求項１３記載のコンピュータシステム。
【発明の詳細な説明】
技術分野
本発明は、公衆回線やインターネットを介して接続されるＬＡＮ（ローカルエリアネットワーク）等のコンピュータシステム同士間のサービス提供方法及びそれに用いるコンピュータシステムに係り、安全かつ円滑にサービスを提供することを可能にするエージェント方式によるサービス提供方法及びそれに用いるコンピュータシステムに関するものである。
背景技術
近年、企業内でＬＡＮを利用するコンピュータシステムが定着し、複数の拠点に設けられたこれらのＬＡＮを接続し社内ネットワークを構成するイントラネットやそれを更に拡張し関連会社等を含めたネットワークを構成するエクストラネットが普及している。
各拠点のＬＡＮを接続する手段として、専用線に替えて低コストのインターネットを利用するケースもあり、その場合には、一般的に外部からのアクセスを制限し、ＬＡＮの内部の安全性を高める為に、外部と内部の境界部分にファイアウォールを設けるようにしている。ファイアウォールは、特定の到達先やアプリケーションへ対してのみ、外部からのアクセスを許す技術であり、日本特許特開平７-８７１２２号公報等の開示例がある。
具体的には、電子メール転送プロトコルであるＳＭＴＰ（シンプルメールトランスファープロトコル）のみ通過を許すシステムが多い。この場合には、ファイアウォールを通過できるのは電子メールメッセージのみとなる。他に、ＷＷＷ（ワールドワイドウェブ）のデータ通信プロトコルであるＨＴＴＰ（ハイパーテキストトランスファープロトコル）の通過を許すシステム、通信を中継する代理サーバーを配置するシステムやＣＯＲＢＡ（コモンオブジェクトリクエストブローカーアーキテクチャ）通信プロトコルＩＩＯＰ（インターネットインターオーブプロトコル）、ＪＡＶＡ処理系が用意するＲＭＩなどの通信プロトコルを許可するシステムなどもある。
しかし、これらのネットワークコンピュータシステムでは、ファイアウォールを越えて、ＬＡＮ環境で提供されているサービス（例えば、ファイル共用、共用プリンタへの印刷、あるいはＣＰＵサーバーの利用等）を利用することができない。従って、他の拠点にあるデータやプログラムを得る場合でも、孤立した回線を利用して送信するか、あるいはテープなどのメディアを郵送するなどの方法に頼っていた。
本発明は、上記従来技術の欠点を除くためになされたものであって、ファイアウォールを設けたＬＡＮなどのコンピュータシステムに対して、外部のコンピュータシステムからインターネット等を介してサービスを要求し、そのサービスを受けるための安全かつ円滑な方法を提供することを目的とする。
尚、本発明で用いるエージェント方式については、日本特許特開平７−１８２１７４号公報（米国ジェネラルマジック社、USPATENT5603031に対応する日本出願）に詳細例が開示されている。エージェントは、必要に応じてエージェント処理系間を移動し、自身が保持するデータと処理手順に基づき処理を実行するように構成されている。
また、参考技術として、USPATENT005632001Aに、ファイアウォールを介してインターネットに接続された複数のＬＡＮシステムに電子メールの配送するために、配送先データベースを設け、そのデータベースを一元的に管理するための技術が開示されている。このシステムは、配送先データベースの更新データを電子メールメッセージとして送信するように構成されている。
発明の開示
本発明は、所定の通信条件を満たす場合にアクセス可能とするアクセス制限部を有する第一のコンピュータシステムと、別の第二のコンピュータシステムを含むネットワークシステム内でエージェントを転送するエージェント方法において、
エージェントを送信する第二のコンピュータシステムを認証する工程と、認証した第二のコンピュータシステムに対して第一のコンピュータシステムの所定の通信条件を送信する工程を有し、
第二のコンピュータシステムにより、所定の通信条件を受信する工程と、所定の通信条件を記憶する工程と、エージェントを生成する工程と、所定の通信条件に従ってエージェントを送信する工程を有し、
第一のコンピュータシステムにより、アクセス制限部を介してエージェントを受信する工程と、エージェントを実行する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、エージェント発行ユーザの認証を行なう工程を有することを特徴とするものである。
また更に、第一のコンピュータシステムは、複数の情報交換方法を使用可能であり、
上記エージェント方法は、更に、第二のコンピュータシステムにより、第一のコンピュータシステムの情報交換方法の特性に基づいて情報交換方法を選択する工程を有することを特徴とするものである。
また更に、第一のコンピュータシステムは、エージェントを実行できる複数のエージェント処理系を有し、
エージェントを生成する工程は、エージェント処理系の特性に基づいてエージェント処理系を選択する工程と、選択したエージェント処理系の識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、エージェントの一部からエージェント処理系の識別情報を読み出す工程と、識別情報で特定されるエージェント処理系へエージェントを転送する工程を有することを特徴とするものである。
また更に、エージェントを生成する工程は、エージェント発行ユーザの識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、エージェントの一部からエージェント発行ユーザの識別情報を読み出す工程と、識別情報で特定されるエージェント発行ユーザのアクセス権に従ってサービスにアクセスする工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、第一のコンピュータシステムにより、エージェント実行状況を送信する工程と、第二のコンピュータシステムにより、エージェント実行状況を受信する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、第二のコンピュータシステムにより、エージェントの少なくとも一部を暗号化する工程を有し、第一のコンピュータシステムにより、エージェントの暗号部分を復号化する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、複数の第一のコンピュータシステムの所定の通信条件を統合する工程を有することを特徴とするものである。
また更に、第二のコンピュータシステムは、複数の情報交換方法を使用可能であり、
上記エージェント方法は、更に、第二のコンピュータシステムにより、エージェントの送信に用いた情報交換方法の識別情報を含むエージェント送信履歴を記憶する工程と、エージェント送信履歴に基づいて情報交換方法を選択する工程を有することを特徴とするものである。
また更に、第二のコンピュータシステムを認定する工程は、第三者認証局により、認証する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、ユーザ認証データを送信する工程と、複数の第二のコンピュータシステムにより、ユーザ認証データを受信する工程と、ユーザ認証データを記憶する工程を有し、
エージェント発行ユーザの認証を行なう工程は、第二のコンピュータシステムにより、ユーザ認証データを読み出す工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、エージェント処理系の特性データを統合する工程を有し、
上記エージェント処理系を選択する工程は、統合されたエージェント処理系の特性データを読み出す工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、エージェント実行状況を統合する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、情報交換経路情報に基づいて管理情報転送経路を定義する工程と、エージェント実行状況の送信先を管理情報転送経路に従って決定する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、情報交換経路情報に基づいて管理情報転送経路を定義する工程と、所定の通信条件の送信先を管理情報転送経路に従って決定する工程を有することを特徴とするものである。
本発明は、所定の通信条件を満たす場合にアクセス可能とするアクセス制限部を有し、他のコンピュータシステムと通信するコンピュータシステムにおいて、
エージェントを送信する他のコンピュータシステムを認証するコンピュータシステム認証部と、
認証した他のコンピュータシステムに対して所定の通信条件を送信する通信条件送信部と、
アクセス制限部を介してエージェントを受信するエージェント受信部と、
エージェントを実行するエージェント実行部を有することを特徴とするものである。
本発明は、所定の通信条件を満たす場合にアクセス可能とするアクセス制限部を有する他のコンピュータシステムと通信するコンピュータシステムにおいて、
他のコンピュータシステムの所定の通信条件を受信する通信条件受信部と、
他のコンピュータシステムの所定の通信条件を記憶する通信条件記憶部と、
他のコンピュータシステムで実行されるエージェントを生成するエージェント生成部と、
他のコンピュータシステムの所定の通信条件に従ってエージェントを送信するエージェント送信部を有することを特徴とするものである。
また更に、コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成することを特徴とするものである。
【図面の簡単な説明】
図１は、本発明に係るコンピュータシステムのネットワーク構成図である。
図２は、本発明に係るサブネット上のエージェントサービスプログラム群の構成図である。
図３は、本発明に係るサブネットのハード構成図である。
図４は、本発明に係るエージェント処理系の機能構成図である。
図５は、本発明に係るエージェント機構ユーザー管理テーブル例の図である。
図６は、本発明に係るユーザー認証部の機能構成図である。
図７は、本発明に係るファイルシステムのコマンド例の図である。
図８は、本発明に係るファイルシステムセッション構成図である。
図９は、本発明に係る情報交換経路管理テーブル例の図である。
図１０は、本発明に係るエージェントの構成図である。
図１１は、本発明に係るリソース情報問い合わせ例の図である。
図１２は、本発明に係るエージェント処理系属性問い合わせ例の図である。
図１３は、本発明に係るサブネットワーク登録用情報例の図である。
図１４は、本発明に係るサブネットＤ参加後のエージェント機構の情報交換経路管理テーブル例の図である。
図１５は、本発明に係るサービスの管理情報の更新アルゴリズムの図である。
図１６は、本発明に係るエージェント実行状況問い合わせ例の図である。
図１７は、本発明に係るシステム構成及びデータフローの概念図である。
図１８は、本発明に係るレジストリサーバーによるコンピュータシステムの認証及び通信条件の送信を含む処理フローである。
図１９は、本発明に係るエージェント送信側コンピュータシステムによる通信条件の受信及び記憶を含む処理フローである。
図２０は、本発明に係るエージェント送信側コンピュータシステムによるエージェントの生成及び送信を含む処理フローである。
図２１は、本発明に係るエージェント実行側コンピュータシステムによるエージェントの受信及び実行を含む処理フローである。
図２２は、本発明に係るエージェントの実行状況の統合を含む処理フローである。
発明を実施するための最良の形態
以下、本発明の実施の形態を説明する。
実施の形態１
本発明は、図１７のデータフローの概念図に示す構成上で処理が行われる。本実施の形態では、特に、図２０に示すエージェント送信側コンピュータシステム１７０２によるエージェントの生成及び送信を含む処理フローと、図２１に示すエージェント実行側コンピュータシステム１７０３によるエージェントの受信及び実行を含む処理フローについて説明する。以下、具体的なネットワークシステムを想定して説明するが、この例でエージェント送信側コンピュータシステムのエージェント生成部とエージェント送信部に相当するのは、後述するサブネットＢ１０３のエージェント処理系２０５であり、エージェント実行側コンピュータシステム１７０３に相当するのは、後述するサブネットＡ１０２のエージェント処理系２０５である。
実施例として、図１に示すようなコンピュータシステム間のネットワーク上で、広域的なファイルシステムを提供する方法及びそれに用いるネットワークシステムについて説明する。
図１に示すコンピュータシステムのネットワークは、例えば１０００人規模の会社で利用され、サブネットＡ１０２、サブネットＢ１０３、サブネットＣ１０６、サブネットＤ１１０は、それぞれの拠点に設置されるＬＡＮを利用したコンピュータシステムに相当する。
サブネットＡ１０２とサブネットＣ１０６の間は、お互いに到達すべきＩＰ（インターネットプロトコル）パケットを受けとるとオンデマンドでモデム接続を行なうサーバー経由で一般公衆網１０１に接続されている。
サブネットＡ１０２のユーザーは、サブネットＡ１０２のコンピュータ上で動作するアプリケーションプログラムと同様に、サブネットＣ１０６のコンピュータ上で動作するアプリケーションプログラムにアクセスすることができる。また、サブネットＣ１０６のユーザーは、逆にサブネットＡ１０２のコンピュータ上で動作するアプリケーションプログラムにアクセスすることができる。但し、転送速度は、同一サブネット内の場合に比べ約１／１００となり、通信が集中した場合はさらに低速となる。
サブネットＣ１０６とサブネットＤ１１０の間は、高速な専用線１０８で接続されており、お互いのネットワークのコンピュータ同士は、同一のネットワーク上にある場合とほぼ同様に扱うことができる。但し、利用者の運用により、専用線のトラフィックが過重にならぬよう制限する必要がある。
サブネットＢ１０３は、ファイアウォール１０５を介してインターネットにのみ接続されている。ファイアウォール１０５は、ＳＭＴＰ（メール送信プロトコル）に則った通信のみ接続を許すように構成されている。
同様に、サブネットＡ１０２は、ファイアウォール１０４を介してインターネットに接続されている。また、サブネットＤ１１０は、ファイアウォール１０９を介してインターネットに接続されている。これらのファイアウォール１０４，１０９は、いずれもファイアウォール１０５と同様にＳＭＴＰに則った通信のみ接続を許すように構成されている。
携帯端末Ａ１０７は、モデムを介し公衆網経由でサブネットＡ１０２あるいはサブネットＣ１０６に接続することができる。また、インターネット接続サービスによって公衆網経由でインターネットに接続することができる。携帯端末Ｂ１１１も同様にインターネットに接続することができる。
図２に示すサブネット上のエージェントサービスプログラム群の構成を説明する。経路データベース２１０、認証サーバー２０２、リソースデータベース２０３、エージェントモニタ２０４、エージェント処理系２０５、ユーザー認証／管理２０６は、いずれもソフトウェアによるサービスであって、サブネット中のいずれかのコンピュータ上で実行される。
経路データベース２０１は、図９に示すような情報交換経路管理テーブルを管理する。認証サーバー２０２は、特定サブネットがこのネットワークシステムに参加するものであることを認証する。リソースデータベース２０３は、図１１に示すようなリソース情報を管理する。エージェントモニタ２０４は、エージェント実行状況をモニタリングする。エージェント処理系２０５は、エージェントの処理に必要な機能を提供する。ユーザー認証／管理２０６は、図５に示すようなエージェント機構ユーザー管理テーブルを管理する。
エージェント処理系間を移動可能な実行オブジェクトである本発明のエージェントは、エージェント処理系２０５が提供するＡＰＩ（アプリケーションプログラミングインターフェース）を介して、サブネット上で稼動しているこれらサービス２０１〜２０６を利用することができる。
図３に示すサブネットＡ１０２のハード構成を例としてサブネットのハード構成をについて説明する。サブネットのＬＡＮ３０２は、ファイアウォール１０４を介してインターネットに接続されている。また、リモートアクセスサーバー３０１を介して公衆網に接続されている。更に、ＬＡＮ３０２には、サーバー３０３〜３０７が接続されている。サーバー３０３は、経路データベース２０１と認証サーバー２０２を、サーバー３０４は、リソースデータベース２０３とエージェントモニタ２０４を、サーバー３０５は、エージェント処理系２０５とユーザー認証／管理２０６をそれぞれ実行する。サーバー３０６はファイルサーバーであり、サーバー３０７はデータベースサーバーである。加えて、ＬＡＮ３０２には、ＰＣ（パーソナルコンピュータ）クライアント３０８の他多数のＰＣクライアントが接続されている。
図４にエージェント処理系２０５の機能構成を示す。
エージェント処理系２０５は、ユーザー認証部４０１、エージェント移動部４０２、移動方式選択部４０３、情報交換部４０４、経路情報問い合わせ部４０５、リソース情報問い合わせ部４０６、暗号／復号化部４０７、エージェント実行状況報告／問い合わせ部４０８及び実行部４０９の各部分から構成されている。
ユーザー認証部４０１は、ユーザーがアプリケーションプログラム（例えばファイルシステム）を通してエージェントをエージェント処理系に投入する際に、そのユーザーの認証を行なう（ステップ２００１）。エージェント移動部４０２は、エージェントの必要に応じて行われるエージェント処理系間のエージェントの移動の際に利用される（ステップ２００６，２１０１）。移動方式選択部４０３は、エージェント処理系間のエージェントの移動に最適な移動方式を選択する（ステップ２００５）。情報交換部４０４は、エージェントの移動やデータ送受信のために情報交換を行なう（ステップ２００６，２１０１，１９０１，１９０４，１９０５，１９０８，１９０９，１９１２，１９１３，１９１６，１９１７，１９２０，１８１３〜１８１６，２１１０，２１１２，２１１４，２１１６，２２０１，２２０５）。経路情報問い合わせ部４０５は、情報交換に最適な情報交換経路の選択するために経路情報の問い合わせを行なう（ステップ１８１１，１８１２，１９０３，１９０７，１９１１，１９１５，１９１９，２００４）。リソース情報問い合わせ部４０６は、エージェント処理系上でユーザーが利用できるファイルシステムやデータベースなどのリソースに関する情報の問い合わせを行なう（ステップ２０１５）。暗号／復合化部４０７は、エージェントの移動やデータ送受信のための情報交換の際に秘匿化のために送信前のデータを暗号化し、受信後にそれを復号化する（ステップ２００３，２１０２）。エージェント実行状況報告／問い合わせ部４０８は、本システムにおけるエージェントの実行状況問い合わせを行なう（ステップ２１０４，２００８）。実行部４０９は、エージェントを実行する（ステップ２１０３）。
次に、本発明によるエージェント方式により実現する広域的なファイルシステムの動作を例として、本システムにおけるエージェント処理系と各サービスの動作を説明する。但し、現段階でサブネットＤ１１０は本エージェント機構システムに登録されていない。サブネットＤ１１０は、後述する実施例によって本エージェント機構への登録される。
ファイルシステムの動作は、まずファイルシステムにアクセス可能なエージェント処理系に対してエージェントを送り込み、次にエージェント機構によるセキュアな通信機構を利用してエージェント間でpeer-to-peerセッションを構成して行なわれる。つまり、必要なサイトに専用のファイルサーバーをインストールするようにして動作する。
エージェントを送出するのに先立って、本システムでのユーザー認証を行なう（ステップ２００１）。エージェント処理系は、エージェントのロードと実行のために、ユーザーインターフェースとＡＰＩを用意しているが、そのうちユーザーインターフェースを利用する場合には、エージェント処理系は、エージェント処理系へのログイン時にパスワードの入力を促し、入力されたパスワードを照合し、適正なユーザーであることを認証する。一方、アプリケーションプログラムがＡＰＩを利用する場合には、エージェント処理系は、ＡＰＩへの引数であるパスワードを用いて、同様に照合し、適正なユーザーであることを認証する。
図５にエージェント機構ユーザー管理テーブルの例を示す。このテーブルは、エージェント処理系がユーザー認証のために利用するデータベースのテーブルであり、ユーザー認証／管理２０６により管理されている。このテーブルには、ユーザー名５０１、ハッシュ関数により暗号化されたパスワード５０２、暗号用の共通秘密鍵５０３、このシステムにおけるグループＩＤ５０４、同じくユーザーＩＤ５０５の各項目がユーザー毎に備えられている。尚、ユーザー名５０１は、システムで一意となるように、ユーザーの名前とユーザー登録したエージェント処理系が動作するホスト名とサブネット名で構成される。
エージェント処理系２０５のユーザー認証部４０１は、このテーブルをサブネットのユーザー認証／管理機能２０６から取得して、ユーザー認証に用いる（ステップ２００９）。尚、各サブネットのユーザー認証／管理２０６は、後述するプロトコルにより、いずれも同一の最新テーブルを維持するようになっている（ステップ１８０２〜１８０４，１８１４，１９０５〜１９０８）。
図６にエージェント処理系２０５のユーザー認証部４０１の機能構成を示す。ユーザー認証部４０１は、更新部６０１と認証実行部６０２から構成されている。更新部６０１は、このシステムのスーパーバイザの権限でユーザーの登録と削除を行ない（ステップ１８０２〜１８０４）、各サブネットのユーザー認証／管理機能２０６との更新データの送受信を行なうように構成されている（ステップ１８１４，１９０５，１９０８）。一方、認証実行部６０２は、ユーザー認証を行なうように構成されている。具体的には、ユーザー名とパスワードとともに認証要求を受けると、それらを用いてユーザー照合を行ない、認証結果を返す（ステップ２００１）。
本エージェント機構を利用して、図７に示すコマンドを実行すると、図８に示すようなファイルシステムセッションを構成する。
図７に示すコマンドは、サブネットＢ１０３上のクライアントＰＣ８０８で実行され、クライアントＰＣ上のＯＳ（オペレーティングシステム）の一部であるファイルシステム８０４に対して、利用したい他のファイルシステムを割りつけるコマンドである。具体的には、「サブネットＡ１０２のファイルサーバー８０１の動作するマシンＡ８０５の/export1というディレクトリをクライアントＰＣ８０８上の/netA/machineA/export1に割りつける。」ことを意味するコマンドである。このコマンドを実行することにより、ＯＳは、peer-to-peer形態でファイルデータの送受信を行なうエージェントをサブネットＢ１０３のエージェント処理系に送出する。この送出は、エージェント処理系が用意するリスニングポート経由で行われる。
クライアント側エージェント８０３は、ＯＳのファイルシステム８０４のクライアント機能との通信路をソケットにて確保する。クライアント側エージェント８０３は、ピアエージェント８０２を生成して（ステップ２００２）、それをエージェント機構を用いて目的地へ送出する（ステップ２００６）。目的地となるエージェント処理系には、エージェント実行状況、システムのリソース、通信路の特性などの問い合わせ結果から判断してエージェントの実行に最も適したエージェント処理系が選択される（ステップ２０１０）。ピアエージェントは、peer-to-peerの一方のpeerとなるエージェントであるが、詳しくは図８に基づいて後に説明する。
図８に示すファイルシステムセッションの構成について説明する。マシンＡ８０５は、ファイルサーバー８０１が動作するサブネットＡ１０２上のサーバーマシンである。マシンＣ８０６は、ピアエージェント８０２を実行するエージェント処理系が動作するサブネットＡ１０２上のサーバーマシンである。クライアントＰＣ８０８は、mountコマンドを発行したサブネットＢ１０３上のクライアントＰＣであって、ＯＳの一部としてファイルシステム８０４が動作している。マシンＡ８０７はクライアント側エージェントを実行するエージェント処理系が動作するサブネットＢ１０３上のサーバーマシンである。
続いて、クライアントＰＣ上のアプリケーションプログラムから/netA/machineA/export1以下のファイルへのアクセスする動作について説明する。
このようにしてセッションが確立し、mountコマンドが終了すると、ＯＳのファイルシステム８０４は、クライアントＰＣ上のアプリケーションプログラムに対して/netA/machineA/export1以下のファイルへのアクセスを許す。アプリケーションプログラムが、ＯＳのファイルシステム８０４に対してファイル生成／削除／読み出し／更新やディレクトリ参照などの命令を発行すると、ＯＳのファイルシステム８０４は、その命令に関するデータを同一サブネット上のクライアント側エージェント８０３に送信する。
クライアント側エージェント８０３は、更にその命令に関するデータをピアエージェント８０２に転送する。クライアント側エージェント８０３は、この転送の為に適した通信経路を選択し、暗号化によるセキュアな通信方法を用いて転送する。
ピアエージェント８０２は、ファイルサーバー８０１のクライアントとして、その命令に関するファイル操作（例えばファイル生成／削除／読みだし／更新、ディレクトリ参照など）を行なう。ピアエージェント８０２は、そのファイル操作の結果をエージェント８０３に転送する。
エージェント８０３は、更にＯＳのファイルシステム８０４にそのファイル操作の結果を転送する。ＯＳのファイルシステム８０４は、更にそのファイル操作の結果をアプリケーションプログラムに返す。以上で、アプリケーションプログラムがＯＳのファイルシステム８０４に対して発行した命令に対する一連の処理は、完了する。
尚、エージェント処理系が利用できるサービス（例えば、ＯＳファイルシステム８０４）に関してアクセス権が設定されている場合には、エージェント中のオーナー名１００４からエージェント発行者を特定し、そのエージェント発行者の権限でそのサービスにアクセスする（ステップ２１０８）。
本発明によるエージェント機構は、概略として上述のファイルシステムの例のように動作する
続いて、特にエージェント移動方法の選択（ステップ２００５）、エージェントの生成（ステップ２００２）、エージェント処理系の選択（ステップ２０１０）、エージェントの移動（ステップ２００６，２１０１）及びサービスの開始（ステップ２１０３）について詳説する。
まず、エージェント移動方法の選択（ステップ２００５）について説明する。
図９に情報交換経路管理テーブル例を示す。このテーブルは、サブネット間の情報交換経路に関する情報を管理するためのデータベースのテーブルであり、経路データベース２０１によって管理されている。このテーブルには、各サブネット間の情報交換経路（例えば、ライン９０１に示すＡ−Ｂ、ライン９０２に示すＡ−Ｃ、ライン９０３に示すＢ−Ｃ）毎に、情報交換方式、標準転送速度や動的転送速度などの特性に関する項目が設けられている。
エージェントは、エージェント処理系の経路情報問い合わせ部４０５を介して、経路データベース２０１に問い合わせることによって、このテーブルの情報を得る（ステップ２００４）。そして、エージェントは、エージェントの移動やデータの送受信のためとして最適な情報交換経路を選択する（ステップ２００５，２０１３）。
サブネットＢ１０３上のクライアント側エージェント８０３がサブネットＡ１０２にピアエージェントを送出する場合を例とすると、本テーブルのライン９０１に示すＡ−Ｂのエントリから、この送出の経路となるＡ−Ｂのデータ交換手段はＳＭＴＰによる通信方式であり、最新の転送速度実績は３８ｋｂｐｓであることがわかる。このように、送信に用いた情報交換経路とその送信の実績を含む送信履歴を記憶し、次の選択の判断要素とすることもできる（ステップ２００７，２０１４）。
尚、サブネットの中をドメインに分けてエージェント処理系を管理する等の事情がある場合には、情報交換経路を更に階層化することも考えられ得る。また、エージェントに替えて、エージェント処理系が自動的に情報交換経路を選択する構成にすることも考え得る。
次に、エージェントの生成について説明する。
図１０にエージェントの構成を示す。エージェントは、管理情報（サブネット名１００１、マシン名１００２、依存リスト１００３、オーナー名１００４）と実行オブジェクト１００５から構成されている。
サブネット名１００１は、エージェント処理系が動作するサーバーマシンの属するサブネット名である（ステップ２０１１）。マシン名１００２は、エージェント処理系が動作するサーバーのマシン名である（ステップ２０１１）。依存リスト１００３は、エージェントが動作するのに必要なリソースやエージェント処理系の能力等の依存条件を示したリストである。オーナー名１００４は、エージェントの所有者を示すユーザーＩＤである（ステップ２０１２）。これらの管理情報は、エージェント生成時に与えられる（ステップ２００２）。
実行オブジェクト１００５は、エージェントとして実行するオブジェクト部分である。尚、実行オブジェクト１００５は、ユーザー毎に登録されている共通秘密鍵５０３とエージェント機構に共通なアルゴリズムにより暗号／復号化される（ステップ２００３，２１０２）。
次に、ピアエージェントの移動先として最適なエージェント処理系を選択する動作について説明する（ステップ２０１０）。クライアント側エージェント８０３は、経路データベース２０１に対する問い合わせと同様に、エージェント処理系のリソース情報問い合わせ部４０６を介して、リソースデータベース２０３に対して問い合わせを行なう（ステップ２０１５）。
図１１にリソース情報の問い合わせの例を示す。ピアエージェントの実行のために必要な依存条件が、サブネットＡ１０２のファイルサーバーmachineAのファイルに対してアクセスできることであることを例として説明する。
ライン１１０１は、リソースデータベース２０３に対する問い合わせのコマンドである。その意味は、「サブネットＡ１０２のファイルにアクセスできるエージェント処理系の検索」である。ライン１１０２〜１１０４は、それに対する応答である。ライン１１０２の意味は、「サブネットＡのmachineAはローカル」である。つまり、エージェント処理系を備えているサブネットＡ１０２のmachineAは、ファイルサーバー自身であることを意味する。ライン１１０３の意味は「machineBはＳＭＢ（サーバーメッセージブロック）クライアントとしてアクセス可能」である。ライン１１０４の意味は、「machineCはＮＦＳ（ネットワークファイルシステム）クライアントとしてアクセス可能」である。
今回生成するピアエージェントは、エージェント処理系が提供するＮＦＳクライアントインターフェースを利用する機能しか備えていないので、移動すべきエージェント処理系はmachineCとなる（ステップ２０１０）。従って、エージェントは、ピアエージェントの移動先として最適なエージェント処理系に、machineCを選択し、管理情報のマシン名１００２に登録する（ステップ２０１１）。
尚、エージェント処理系のリソース情報問い合わせ部４０６を介して、リソースデータベース２０３に対して、エージェント処理系がどのようなリソースを備えているか（属性）を問い合わせること、つまり逆引きもできる。図１２にエージェント処理系machineCに関する属性を問い合わせた結果を示す。ライン１２０１は、ローカルファイルへアクセスできることを示す。ライン１２０２は、ＳＭＢクライアントとしてのアクセスができることを示す。ライン１２０３は、ＮＦＳクライアントとしてのアクセスができることを示す。ライン１２０４は、データベースへのアクセスはできないことを示す。ライン１２０５は、本エージェント処理系で利用できるメモリ容量が２０ＭＢであることを示す。ライン１２０６は、本エージェント処理系の処理速度がおよそ１ＭＩＰＳであることを示す。ライン１２０７は、現在のエージェント処理系の負荷が３２％であることを示す。
上述のようにして、送出するピアエージェントに管理情報の設定が完了した後にピアエージェントの移動を行なう（ステップ２００６，２１０１）。
クライアント側エージェント８０３は、エージェント処理系のエージェント移動部４０２に対して、上述のように選択したＳＭＴＰによる通信方式で、サブネットＡ１０２のmachineCのエージェント処理系にピアエージェントを送出するように依頼する。エージェント移動部４０２は、ＳＭＴＰによる情報交換部４０４を選択し、その情報交換部４０４に移動先と移動するエージェント（本システムにおける広義のオブジェクト）を渡す。
情報交換部４０４は、サブネットＡ１０２のmachineCのＳＭＴＰ通信部がコネクション生成用のポートとして用意するメールアカウント「agentlistener@machineC.netA」にコネクション要求メッセージを送信する。この時、クライアント側で使用するＳＭＴＰ通信用のメールアカウント名「agentporterl@machineA.netB」も併せて送信する。そして、サーバー側のＳＭＴＰ通信用メールアカウント「agentporterl@machineC.netA」を得る。
このようにして、お互いのメールアカウントを確保した状態がＳＭＴＰ通信手段によるコネクション状態であり、以後双方ともに、このコネクションを利用して、通信パケットをメールメッセージとし、送受信する。エージェント移動部４０２は、オブジェクトに付随する領域にこのオブジェクトのタイプがエージェントであることをマークし、実行オブジェクト１００５をユーザーの共通秘密鍵にて暗号化して（ステップ２００３）、エージェントを情報交換部４０４に渡す。情報交換部４０４は、受けとったエージェントをオブジェクトデータとしてパケットに分解し、メールメッセージとして送信する（ステップ２００６）。このとき、外部からの攻撃に備えメッセージにデジタル署名を付しても良い。
サブネットＡ１０２のmachineCのエージェント処理系の情報交換部４０４はエージェントのオブジェクトデータのパケットを集積し、オブジェクトのタイプからエージェントであることを判別し、そのオブジェクトデータをエージェント処理系のエージェント移動部４０２に渡す（ステップ２１０１）。このとき、管理情報のマシン名１００２を読み出し、マシン名によって特定されるエージェント処理系にエージェントを転送することもできる（ステップ２１０５，２１０６）。
エージェント移動部４０２は、管理情報のオーナー名１００４からユーザーを特定し、暗号／復合化部４０７に、そのユーザーの共通秘密鍵を用いて、暗号化されている実行オブジェクト１００５を復号化させる。その後、実行オブジェクトはロードされ、ピアエージェント８０２として実行を開始する。
このとき、ピアエージェント８０２は、クライアント側エージェント８０３に対して、ピアエージェント８０２が実行を開始した旨のメッセージと確保したメールアカウントアドレスを送信する。この送信は、移動したエージェントがあらかじめ内部データとして持っていたクライアント側エージェント８０３の通信用メールアカウントアドレスを指定して、情報交換部４０４に命令することにより行われる。送信命令を受けた情報交換部４０４は、コネクションが生成されたものとみなして、コネクション状態となる。一方、クライアント側エージェント８０３は、既にレシーブ待ち状態であり、ピアエージェント８０２から処理開始メッセージを受けとると、ピアエージェント８０２の通信用メールアカウントアドレスを情報交換部４０４に登録し、ファイルシステムのセッション生成が完了した旨をＯＳのファイルシステム８０４に通知する。
これ以後、クライアントＰＣ８０８からのファイルアクセスサービスが利用可能となる。
実施の形態２
本実施の形態では、特に、図１８に示すレジストリサーバーによるコンピュータシステムの認証及び通信条件の送信を含む処理フローと、図１９に示すエージェント送信側コンピュータシステムによる通信条件の受信及び記憶を含む処理フローについて説明する。
以下、具体的なネットワークシステムを想定して説明するが、この例でレジストリサーバー１７０１に相当するのは、後述するサブネットＡ１０２の経路データベース２０１である。また、エージェント送信側コンピュータシステムの条件受信部と条件記憶部に相当するのは、新規に認証されるサブネットＤ１１０の経路データベース２０１、既に認証されているサブネットＢ１０３の経路データベース２０１、及び同じく既に認証されているサブネットＣ１０６の経路データベース２０１である。
実施例として、エージェント機構に対して新たなサブネットを参加させる方法について説明する。ここでは、図１に示すコンピュータシステムのネットワークのうちサブネットＡ１０２とサブネットＢ１０３とサブネットＣ１０６のみが参加するエージェント機構を想定し、それに対して新たなサブネットＤ１１０を参加させる場合について説明する。
サブネットＤ１１０のシステム管理者は、エージェント機構に参加するのに必要なソフトウェアを入手する。そして、エージェント機構のシステム管理者に、レジストリサーバーへのサブネットＤ１１０に関するアカウントの新設を依頼する。この例では、エージェント機構のシステム管理者は、サブネットＡ１０２の管理者が兼ねる。また、レジストリサーバーは、エージェント機構に参加する各サブネットのレジストリ情報を管理するサーバーであって、この例では、サブネットＡ１０２の経路データベース２０１が兼ねる。
サブネットＤ１１０のシステム管理者は、必要なソフトウェアを起動し、それに従って図１３に示すようなサブネットワーク登録用情報を作成する。サブネットＤ１１０のシステム管理者は、レジストリサーバーへのアカウント新設完了の通知を受けとった後に、このサブネットワーク登録用情報をレジストリサーバーへ送信する。尚、このとき、認証局であるサブネットＡ１０２上の認証サーバー２０２は、レジストリサーバーに新設されたアカウントを参照してサブネットＤ１１０に関する正当性を確認する（ステップ１８０１）。また、サブネットワーク登録用情報は送信の前に暗号化される。
この例では、サブネットＣを経由してＴＣＰにて送信することを想定しているが、新たなサブネットの参加時に送信手段がない場合には、文書やフロッピーディスク等のメディアを介して、エージェントシステム管理者にサブネットワーク登録用情報を伝え、直接入力するように依頼しても良い。
このようにサブネットでのサービス導入時にレジストリサーバーに報告されるサブネットワーク登録用情報には、ライン１３０１，１３０２のサブネットの通信接続形態（ステップ１８０５）、ライン１３０３の経路データベース動作ホスト、ライン１３０４のリソースデータベース動作ホスト、ライン１３０５のエージェントモニタ動作ホスト、ライン１３０６のユーザー認証／管理サーバー動作ホストが含まれる。
ライン１３０１は、このサブネットがＳＭＴＰのみ通過させるファイアウォールを介して、標準データ転送速度３２Ｋｂｐｓでインターネットに接続されていることを示している。ライン１３０２は、このサブネットがサブネットＣ１０６に専用線接続されており、特に通信プロトコルの制限なく標準データ転送速度１０Ｍｂｐｓで接続されていることを示している（ステップ１８０５）。
ライン１３０３は、経路データベース２０１が動作するホスト名（サブネットＤ１１０のmachineA）を示しているが、この時動作している経路データベース２０１上では、既に各経路がライン１３０１，１３０２で報告する通信形態（ＳＭＴＰとＴＣＰ）のリスニングポートを用意して、リスニング状態になっている。
このように、サブネットＤ１１０がシステムに参加することにより、図９に示すエージェント機構の情報交換経路管理テーブルは、図１４に示すように変更される（ステップ１８０６，１８０７）。具体的には、図１４に示すように、ライン１４０４に示すＡ−Ｄ、ライン１４０５に示すＢ−Ｄ、ライン１４０６に示すＣ−Ｄの各経路情報エントリが追加される。
そして、レジストリサーバー（サブネットＡ１０２の経路データベース２０１）は、サービス依存関係に従って、サブネットＢ１０３の経路データベース２０１とサブネットＣ１０６の経路データベース２０１にこの情報交換経路管理テーブルの変更を通知する（ステップ１８１２，１８１５）。
ここで、サービス依存関係とは、各サブネット間で同様に提供されるサービス（例えば、エージェント稼働状況データの採集および配布）同士の依存関係を定義したものである。これによって、同一内容を担保すべき管理情報の転送経路が決定される。尚、このサービス依存関係は、情報交換経路情報に基づいて動的に定義される（ステップ１８１１）。
更に、レジストリサーバー（サブネットＡ１０２の経路データベース２０１）は、リスニング状態にあるサブネットＤ１１０の経路データベース２０１に、図１４に示す情報交換経路管理テーブルを送信する（ステップ１８１２，１８１５）。このときの経路は、ライン１４０２に示すＡ−Ｃとライン１４０６に示すＣ−Ｄの各経路情報エントリの内容から判断して、サブネットＣ１０６経由でＴＣＰにて送信する経路を用いる（ステップ１８１２，１８１５，１９０９〜１９１２）。またこのとき、サービスの依存関係も併せて送信される（ステップ１８１３，１９０１〜１９０４）。
このようにして、サブネットＤ１１０のサービスは、サービス依存関係上サブネットＣ１０６のサービスの直下に位置するように定義され（ステップ１８１１）、サブネットＤ１１０の経路データベース２０１は、上述の情報交換経路管理テーブルとサービス依存関係を受け取り（ステップ１９０９，１９１０，１９０１，１９０２）、これらを用いるサービスを開始する。
経路データベース２０１の管理情報として情報交換経路管理テーブルが更新されるように、他のサービスについても同様のメカニズムで管理情報が更新される。具体的には、リソースデータベース２０３の管理するリソース情報（図１１）、エージェントモニタ２０４が管理するエージェント実行状況（図１６）、ユーザー認証／管理２０６の管理するユーザー管理テーブル（図５）の各情報が更新の対象となる（リソース情報の更新については、ステップ１８０８〜１８１０，１８１６，１９１３〜１９１６、エージェント実行状況の更新については、ステップ２２０１〜２２０５，１９１７〜１９２０、ユーザー管理テーブルの更新については、ステップ１８０２〜１８０４，１８１４，１９０５〜１９０８）。
更新の手順は、以下の通りである。まずレジストリサーバー（サブネットＡ１０２の経路データベース２０１）は、サブネットＡ１０２の各サービスが動作するホストにサブネットＤ１１０の参加を通知する。次に、通知を受けた各サービスは、必要に応じて各管理情報を更新し（ステップ１８０８〜１８１０，２２０１〜２２０３，１８０２〜１８０４）、サービス依存関係に従って（ステップ１８１１，１８１２，２２０４）、サブネットＢ１０３とサブネットＣ１０６の各サービスに管理情報の変更を通知する（ステップ１８１６，２２０５，１８１４）。更に、サブネットＣ１０６の各サービスは、サブネットＤ１１０の初期データ待ち状態の各サービスつまり、ライン１３０４に示すホストで動作するリソースデータベース２０３、ライン１３０５に示すホストで動作するエージェントモニタ２０４、及びライン１３０６に示すホストで動作するユーザー認証／管理２０６に、初期データとなる各管理情報を送信する（ステップ１９１６，１９２０，１９０８）。このとき、経路データベース２０１の場合と同様に、サブネットＤ１１０のサービスがサブネットＣ１０６のサービスの直下に位置するように定義したサービス依存関係も併せて送信される（ステップ１９０４）。
サブネットＤ１１０の各サービスは、これらの管理情報とサービス依存関係を受信した後に（ステップ１９０１，１９０５，１９０９，１９１３，１９１７）、各サービスを開始する。尚、この例では、すべてのサービスにおいて、サブネットＡ１０２のサービスがサービス依存関係上の最上位に登録されている（ステップ１８１１）。
上述のようにして、新たに登録したサブネットＤ１１０上の各サービスが開始した後に、エージェント処理系を起動する。エージェント処理系の起動は、エージェント処理系を実行するホストの管理者によって行なわれる。ホスト管理者は、サブネットＤ１１０のリソースデータベース２０３とエージェントモニタ２０４のリスニングポートとリソース情報を与えて、エージェント処理系プログラムを起動する。リソース情報は、図１２に示すエージェント処理系属性と同様の項目を有する。
エージェント処理系プログラムは、初期化処理として、サブネットＤ１１０のリソースデータベース２０３とエージェントモニタ２０４にリソース情報を送信して、エージェント処理系の新たな参加を報告する。このとき、リソースデータベース２０３への送信は、リソース情報問い合わせ部４０６を介して行われる。また、エージェントモニタ２０４への送信は、エージェント実行状況報告／問い合わせ部４０８を介して行われる。
新たなエージェント処理系の参加の報告を受けたリソースデータベース２０３とエージェントモニタ２０４は、サービス依存関係上最上位にあるサブネットＡ１０２のリソースデータベース２０３とエージェントモニタ２０４にその参加を報告する。この報告は、前述の更新と同様の手順で各サブネットのサービスに通知される。
上述のように、各サブネットのサービスは、転送される情報に基づいて次々に管理情報の更新を繰り返す。そこで、図１５にサブネット毎にサービスの管理情報を更新するアルゴリズムを示す。
図１５では、当初、管理情報の更新を受け入れるサブネットのサービスは、ステップ１５０１の管理情報更新要求待ち受け状態にある。このサービスは、管理情報の変更の通知を受けると、ステップ１５０２で自らのサービスのための管理情報の更新を行なう。その後ステップ１５０３で、サービス依存関係上直下に未更新のサービスがあるかを判断し、無い場合には他のサービスに対して管理情報の変更を通知することなく処理を終了する。一方、未更新のサービスがある場合には、ステップ１５０６で、そのサービスが管理情報更新の要求元のサービスではないことを確認の上、ステップ１５０７でその未更新のサービスに対して管理情報の変更を通知する。これらの処理をサービス依存関係上上位のサービスから下位のサービスの方向へ連鎖的に継続することによって、全てのサブネットのサービスの管理情報を更新することができる。
尚、エージェント機構に対して新たなエージェント処理系を追加する場合に、第三者認証局からデジタル署名を取得し、このデジタル署名を用いてエージェント処理系を登録し、許可を得てからエージェント処理系の処理を開始するようにすることもできる（ステップ１８１７）。
実施の形態３
本実施の形態では、特に、図２１に示すステップ２１０４のエージェント実行状況の送信の処理フローと、図２２に示すエージェントの実行状況の統合を含む処理フローと、図１９に示すステップ１９１７〜１９１２０のエージェント実行状況の転送の処理フローと、図２０に示すステップ２００８のエージェント実行状況の読み出しの処理について説明する。
実施例として、アプリケーションプログラムの負荷分散のために、本発明によるエージェント機構を利用する場合を説明する。負荷分散は、例えば計算中心の処理を行なうアプリケーションプログラムに適している。
このアプリケーションプログラムは、動的にタスク分割され、分割されたタスクは、データと実行テキストを含むエージェントオブジェクトの形式で構成される。尚、これらのタスクは、エージェント処理系以外にデータベースやファイル等のリソースを必要としないと想定する。従って、各タスクはいずれのエージェント処理系でも実行可能であり、リソースデータベース２０３に問い合わせて得たシステムの負荷状況に応じて最適なエージェント処理系を選択することが可能である。
このアプリケーションプログラムは、サブネットＡ１０２のmachine1を親エージェントのエージェント処理系とする。そして、親エージェントは、タスクを構成するエージェント（以下、タスクエージェントという。）を発行する。この例では、リソースデータベース２０３への問い合わせ時点における負荷の少ないエージェント処理系を選択し、サブネットＣ１０６のmachineA、サブネットＣ１０６のmachineB、サブネットＤ１１０のmachineA、及びサブネットＤ１１０のmachineBに４分割した各タスクエージェントを発行する。
各タスクエージェントは、その処理を終了すると、情報交換部４０４を用いて親エージェントの規定ポートに処理結果情報を送信する（ステップ２１０４，２１０９〜２１１６）。親エージェントは、発行したすべてのタスクエージェントから処理結果情報を受信した後に、これらを統合して処理を終了する（ステップ２２０１〜２２０５）。
この間、親エージェントは、エージェント処理系のエージェント実行状況報告／問い合わせ部４０８を介して、エージェントモニタ２０４に各タスクのエージェント実行状況を問い合わせることができる（ステップ２００８）。
エージェント実行状況は、以下のようにして伝達される。タスクエージェントを受け取ったエージェント処理系は、タスクエージェント実行開始時、タスクエージェント実行休止時、タスクエージェント実行再開時、及びタスクエージェント実行終了時に、エージェント処理系自身の属するサブネットのエージェントモニタ２０４にその状況を報告する（ステップ２１０９，２１１１，２１１３，２１１５）。
更にそのエージェントモニタ２０４は、適当なタイミングでそのサブネットのエージェント実行状況をサービス依存関係上最上位のエージェントモニタ２０４に報告する（２１１０，２１１２，２１１４，２１１６）。尚、このとき、報告を発したエージェントモニタ２０４は、報告と引き換えに、最上位のエージェントモニタ２０４から他のサブネットのエージェント実行状況を得ることも可能である。
最上位より下位に位置するエージェントモニタ２０４は、それぞれ図１５に示すサービスの管理情報の更新アルゴリズムにより最新のエージェント実行状況を得る（ステップ１９１７〜１９２０）。
図１６は、親エージェントがタスクエージェントを発行してからある時間経過後にエージェントモニタ２０４に対して４つのタスクエージェントの実行状況の問い合わせを行なった結果である（ステップ２００８）。このように、問い合わせを発行するユーザーが特に問い合わせの内容を指定しない場合には、そのユーザーが発行したエージェントの実行状況が返される。
ライン１６０１は、親エージェントの実行状況を示し、そのエージェントＩＤはnetA.machine1.0001であり、実行中のエージェント処理系はサブネットＡ１０２のmachine1で動作し、問い合わせを行なう直前の実行状況は子タスクからの処理結果情報を待つ状態であることが読みとれる。ライン１６０２からライン１６０５は、４つに分割されたタスクエージェントの実行状況を示し、サブネットＣ１０６のmachineA、サブネットＣ１０６のmachineB、サブネットＤ１１０のmachineA、及びサブネットＤ１１０のmachineBでそれぞれのタスクエージェントが実行中であることが読みとれる。
実施の形態４
本発明によるエージェント機構に参加しているサブネットのサービス稼動状態の管理方法及びサブネットの削除方法について説明する。
レジストリサーバーは、サービス依存関係を管理する他に、定期的に各サブネットのサービスにアクセスすることにより、それらのサービスが利用可能かどうかをチェックしている。あるサービスに対してある一定時間内にアクセスできない場合には、レジストリサーバーはそのサービスを「休止中」と判断し、その旨をそのサービスとエージェント機構内のサービス依存関係を有するすべてのサービスに通知する。また、レジストリサーバーは、その後も同様にアクセスを試み、サービスが利用可能な状態に復帰したならば「稼働中」とし、同様にすべてのサービスにその旨を通知する。
エージェント機構に参加しているサブネットを削除する場合には、削除するサブネットの管理者がレジストリサーバーに対してサブネットの削除を依頼する。レジストリサーバーは、削除するサブネット上のすべてのサービスを「休止中」としたのち、その旨を「休止中」のサービスとエージェント機構内のサービス依存関係を有するすべてのサービスに通知する。通知を受けたすべてサービスは、その内部に保持するサービス依存関係から「休止中」のサービスを削除する。このようにして、サブネットはエージェント機構から削除される。
尚、上述の全ての実施の形態において、エージェントを送出するコンピュータシステムとエージェントを受け入れるコンピュータシステムともに、ＬＡＮを利用するサブネットを構成している例を想定して説明した。しかし、サブネット上の各サービスに相当する機能を有するコンピュータシステムであれば、必ずしもサブネットを構成している必要はない。従って、エージェントを送出するコンピュータシステムとエージェントを受け入れるコンピュータシステムのいずれか一方または双方が、サブネットを構成しない単体のコンピュータシステムとしてネットワークコンピュータシステムに参加し、エージェント機構の一部となることが可能である。
また、情報交換の方法として、通信媒体による情報交換方法を用いて説明したが、物理的な記憶媒体を直接移動させる方法を用いても、本発明を実施することができる。
以上のように、本発明によるエージェント方式を用いることにより、ユーザーは、ネットワークのセキュリティ上の制約やシステムの構成を意識することなく、あたかも仮想的な単一の計算機を利用するように、公衆回線やインターネットで相互接続されたコンピュータシステムの資源を利用することができる。また、エージェントに依頼する処理を確実に実行し、または削除することができるので、エージェント方式によってミッションクリティカルな処理を実行することができる。
産業上の利用可能性
本発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
エージェント送信側コンピュータシステムに対してあらかじめ所定の通信条件を通知し、その通信条件に従ってエージェントを送信するので、安価なインターネットを接続手段とする場合の欠点である不正アクセスの恐れを解消する為に設けられたファイアウォール等のアクセス制御部の認可が円滑に受けられるようになり、安価に構築されるイントラネット等で安全かつ円滑なエージェント方法を採用することができる。特に、ミッションクリティカルな処理を行なう場合に有効である。
認証されたユーザーのみがエージェントを送信できるので、不適正なユーザーによるエージェントの送信を防止し、安全性を高めることができる。
情報交換部の特性に応じ、適切な情報交換方法を選択できるので、データ転送に要する時間や経費、安全性等の観点から最適なエージェントの転送を行なうことができる。
エージェント処理系の特性に応じ、エージェント処理の内容に適したエージェント処理系を選択できるので、エージェント処理を効果的に実行することができる。
エージェント処理系が利用するサービスに対してエージェント発行者のアクセス権に従ってアクセスするので、エージェント実行側コンピュータシステムの内部処理について機密管理等の目的からアクセス権を制限している場合に、エージェント方法でもその制限を維持し、その目的を達成することができる。また、エージェント処理中のアクセス権確認の処理を自動化し、エージェント処理の円滑化を図ることができる。
エージェント発行者は、エージェントを発行したコンピュータシステムを用いてエージェント実行状況の報告を受けるので、エージェント処理を失敗した場合に適切な対応を取ることができる。また、各エージェント処理系を選択する場合に、効率的に処理を配分するようにエージェント処理系を選択することができる等の利点がある。
エージェントの少なくとも一部を暗号化して転送するので、通信中に第三者に監視されてもエージェントの秘密が保たれる。また、不正なエージェントを排除し、安全性を維持することができる。
エージェント実行側コンピュータシステムが複数存在する場合に、エージェント送信側コンピュータシステムに対してエージェント実行側コンピュータシステムが個別に所定の通信条件を通知すると、エージェント送信側コンピュータシステムでの通信条件の管理が複雑になるが、本発明では１回の通知に他のエージェント実行側コンピュータシステムの通信条件も含めるようにしたので、全ての通信条件を一括して更新することができ、通信条件の管理負担を軽減することができる。
情報交換方法の識別情報を含むエージェント送信履歴を記憶するので、情報交換方法毎のエージェント送信実績に基づいて最適な情報交換方法を選択することができ、実際的にエージェントの転送効率を向上させることができる。
第三者認証局による認証結果に基づいて、エージェント送信側コンピュータシステムの認定を行なうので、エージェント送信側コンピュータシステムの正当性が担保され、エージェント方法の安全性が向上する。
複数のエージェント送信側コンピュータシステムで同一のユーザー認証データを有するので、適正なユーザーは常にいずれのエージェント送信側コンピュータシステムにおいても同様のユーザー認証手続きにより、エージェントを送信でき、ユーザーの利便性が向上する。
エージェント送信側コンピュータシステムは、エージェント処理系の特性をデータベースとして保有するので、迅速かつ網羅的にエージェント処理系を選択することができる。
他のエージェント実行側コンピュータシステムのエージェント実行状況を合わせて取得することができるので、複数のエージェント実行側コンピュータシステムにエージェントを分散処理させる場合に、エージェント送信側コンピュータシステムはそれぞれの実行状況を一括して取得することができ、実行状況管理の負担が軽減される。また、ユーザーの利便性が向上する。
複数のエージェント送信側コンピュータシステム間で同一に保たれる通信条件は、情報交換経路情報に基づく管理情報転送経路に従って送信されるので、安全かつ早く最新の通信条件をすべてのエージェント送信側コンピュータシステムで共有でき、エージェントの送信が円滑に行われる。
複数のエージェント実行側コンピュータシステム間でのエージェント実行状況は、情報交換経路情報に基づく管理情報転送経路に従って送信されるので、安全かつ早く、広範囲のエージェント実行状況を得ることができる。
エージェント実行側コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成するので、ユーザは、ネットワークシステムで提供される多様なサービスを遠隔操作で利用することができる。
エージェント送信側コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成するので、ユーザは、多くコンピュータシステムを操作部としてエージェント方法によるサービスを利用することができる。
【図１】
0003731645.tif 000002
【図２】
0003731645.tif 000003
【図３】
0003731645.tif 000004
【図４】
0003731645.tif 000005
【図５】
0003731645.tif 000006
【図６】
0003731645.tif 000007
【図７】
0003731645.tif 000008
【図８】
0003731645.tif 000009
【図９】
0003731645.tif 000010
【図１０】
0003731645.tif 000011
【図１１】
0003731645.tif 000012
【図１２】
0003731645.tif 000013
【図１３】
0003731645.tif 000014
【図１４】
0003731645.tif 000015
【図１５】
0003731645.tif 000016
【図１６】
0003731645.tif 000017
【図１７】
0003731645.tif 000018
【図１８】
0003731645.tif 000019
【図１９】
0003731645.tif 000020
【図２０】
0003731645.tif 000021
【図２１】
0003731645.tif 000022
【図２２】
0003731645.tif 000023