(57)【特許請求の範囲】
【請求項１】
ファイアウォール上に存在するエージェントシステムであって、
エージェントの移動元アドレスと、そのエージェントの移動元アドレスからファイアウォールによって隔てられたそのエージェントの移動先アドレスと、そのエージェントのＩＤを関連付けた管理テーブルを格納する記憶手段と、
送られてきたメッセージを前記記憶手段に記憶されたアドレス情報とエージェントＩＤに基づいて別のエージェントシステムに対して転送する手段と、
エージェントが移動した情報を受け取った際に、移動したエージェントのアドレス情報を更新する機能と、を備え、
その更新する機能は、
前記ファイアウォール内のエージェントが到達すると、そのエージェントのエージェントＩＤと移動元アドレスを前記管理テーブルに格納し、そのエージェントが前記ファイアウォールの外に存在する別のエージェントシステムに移動した場合、その移動先のエージェントシステムから返送されてきた前記移動先のアドレスを受信した際に、その受信したアドレスを前記管理テーブルの前記移動先アドレスとして登録することにより、前記アドレス情報を更新するものであることを特徴とするエージェントシステム。
【請求項２】
前記移動元アドレスのエージェントシステムに対し、前記移動先アドレスのエージェントに対するメッセージの送信先として、自エージェントシステムのアドレスを送信する機能をさらに付加した請求項１に記載のエージェントシステム。
【請求項３】
前記移動元アドレスのエージェントシステムに対し、前記移動先アドレスのエージェントに対するメッセージの送信先として、前記移動先アドレスと自エージェントシステムのアドレスを択一的に選択して送信する機能をさらに付加した請求項１に記載のエージェントシステム。
【請求項４】
エージェントが通過する際に得られた移動元アドレスおよび／または移動先アドレスの情報に基づいてそのエージェントに関する前記アドレス情報を生成し、前記記憶手段に記憶する機能をさらに備えた請求項１〜３のいずれか１項に記載のエージェントシステム。
【請求項５】
エージェントが消滅した情報を受け取った際に、その消滅したエージェントに関する前記アドレス情報を前記記憶手段から削除する機能をさらに付加した請求項１〜４のいずれか１項に記載のエージェントシステム。
【請求項６】
エージェントを受け出しできるファイアウォールに設置される通信機器であって、
エージェントに記憶されている移動元アドレス情報と、そのエージェントの移動元アドレスからファイアウォールによって隔てられたそのエージェントの移動先アドレス情報とをそのエージェントのＩＤに関連付けた管理テーブルを格納する機能と、
他の通信機器から受けたメッセージを、前記移動先アドレス情報と、前記ＩＤに基づいて別の通信機器に転送する機能と
エージェントが移動した情報を受け取った際に、移動したエージェントのアドレス情報を更新する機能と、を備え、
その更新する機能は、
前記ファイアウォール内のエージェントが到達すると、そのエージェントのエージェントＩＤと移動元アドレスを前記管理テーブルに格納し、そのエージェントが前記ファイアウォールの外に存在する別のエージェントシステムに移動した場合、その移動先のエージェントシステムから返送されてきた前記移動先のアドレスを受信した際に、その受信したアドレスを前記管理テーブルの前記移動先アドレスとして登録することにより、前記アドレス情報を更新するものであることを特徴とする通信機器。
【請求項７】
エージェントの移動元アドレスと、そのエージェントの移動元アドレスからファイアウォールによって隔てられたそのエージェントの移動先アドレスと、そのエージェントのＩＤを関連付けた管理テーブルを格納する記憶手段を備えたファイアウォール上のエージェントシステムを用いた通信方法であって、
前記エージェントシステムは、送られてきたメッセージが自エージェントシステム宛でない場合に前記記憶手段に記憶されたアドレス情報とエージェントＩＤに基づいて転送先の別のエージェントシステムを決定し、
次いで、前記受信したメッセージを前記別のエージェントシステムに対し転送するものであり、
かつ、前記ファイアウォール内のエージェントが到達すると、そのエージェントのエージェントＩＤと移動元アドレスを前記管理テーブルに格納し、そのエージェントが前記ファイアウォールの外に存在する別のエージェントシステムに移動した場合、その移動先のエージェントシステムから返送されてきた前記移動先のアドレスを受信した際に、その受信したアドレスを前記管理テーブルの前記移動先アドレスとして登録することにより、前記アドレス情報を更新することを特徴とする通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エージェントシステム及び通信機器及び通信方法に関するものである。
【０００２】
【従来の技術】
図１に示すように、複数の各通信機器（ＰＬＣ，パソコン等）１が有線／無線の通信回線２を介して接続されてネットワーク３が構築されている場合において、各通信機器１間で自律的に移動するプログラム（以下、「エージェント」と称する）４が移動し、所定の処理を行うことがある。つまり、各通信機器１に実装されたエージェントシステム５が、必要なエージェント４を生成するとともに、所定の通信機器１に送信したり、送られてきたエージェント４を受けて、そのエージェント４に組み込まれた処理をした後、移動元に結果を返したり、さらに別の通信機器１（エージェントシステム５）にエージェント４を転送したり、そのまま廃棄（消滅）したりするなど各種の処理を実行する。なお、上記したシステム全体をエージェントシステムと称することもあるが、本明細書ではエージェントの生成、消滅、移動等の管理を行うシステムプログラム、すなわち、係るプログラムがインストールされ稼働する装置（装置部分）のことをエージェントシステムと称する。
【０００３】
そして、例えば、何かの情報を検索する仕事をエージェント４が行う場合、要求を発する移動元となるエージェントシステム５でエージェント４が生成され、いくつかのノードを移動して情報を収集し、結果を報告することになる。このとき、例えば生成したエージェントを送信した後で検索を中止したり、検索項目を追加したい場合、係る変更等の命令をメッセージにして移動中のエージェント４に対して送りたいという要求がある。この要求は、送り先（移動先）つまり対象となるエージェント４が存在しているエージェントシステム５に対してメッセージを送ることにより実現できる。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記したエージェント４の移動や、メッセージの送受信は、もっぱらイントラネット内に限られて処理できるものであり、図１に示すように、イントラネット等の複数のネットワーク３，３′を公衆回線６で接続した場合に、ネットワーク３内のエージェントシステム５から別のネットワーク３′内のエージェントシステム５′に対してエージェント４を送ることは困難であるか、非常に煩雑であった。さらに、メッセージを他のネットワークに移動したエージェント（それを保有するエージェントシステム）に対して送ることはできなかった。
【０００５】
これは、以下に示す理由による。すなわち、まずエージェントについて説明すると、従来のエージェントの移動方法として、▲１▼エージェントに対しては目的処理のみが与えられており、目的地、かつ、移動経路が与えられていない方法と、▲２▼エージェントに対しては目的地と目的処理とが与えられるが、目的地に至るまでの移動経路が与えられていない方法との２通りの方法が採用されている。
【０００６】
そして、前者▲１▼の場合、任意の場所（ルールによって検索）に移動して目的処理を行うため、一度目的処理を与えると目的の再設定は不要であるが、経路を選択することができないので、シーケンシャルな処理、例えば、ネットワーク３と公衆回線６の接続点となるファイアウォール７上に形成されるアプリケーションゲートウェイにおいて、不正アクセスとみなされ、ファイアウォール７から外部に接続されたネットワークの通信機器（エージェントシステム）のノードに移動する処理を実行することができない。
【０００７】
また、後者▲２▼の場合、目的処理を実行するに際して目的地が１対１で与えられるので、複数の所定の通信機器のノードを経由するときには、それらのノードを指定する必要がある。このため、目的処理が達成できなかった場合には、エージェントを生成した移動元のエージェントシステムがこれら複数の目的地を再度設定する必要があり、設定に要する時間が無駄であるという問題点があった。
【０００８】
さらに、上記したいずれの場合もエージェントが移動する際には、移動先の通信機器の資源状態（例えばメモリの空き領域）を知らずに移動するため、仮に、移動先の通信機器の資源が使用できない場合（例えばメモリにエージェントを格納する空き領域がない場合）には、その通信機器にエージェントが生成されない。その結果、移動元のエージェントシステムに所定時間内にエージェントが戻ってこられず、エラー処理を実行することになる。よって、移動元のエージェントシステムが複数の目的地を再度設定することになる。
【０００９】
そこで本発明者らは、上記問題を解決するため、特願平１０−７９８１４にて、「適切な移動経路の確保」と「移動の保証」を図ることのできるエージェントシステムを提供した。具体的には、次の機構を持たせるようにした。
【００１０】
（１）必ず通らなければならないノードを経路情報として保持する機構（基本的に経由するノードは指定しないが、必ず通るノードは指定しなければならない）；これにより、ファイアウォールを、必ず通るノードとして設定することにより、ファイアウォールの外にエージェントを送り出すことができる。
【００１１】
（２）上記機構において移動済みの経路情報を破棄する機構；これにより、必要な回数だけ通過したノードの情報がなくなるので経由する順番を決めなくても再度エージェントが移動済みのノードにくることがなく、設定したすべてのノードを確実に移動できる。
（３）移動前の情報を移動先で利用する機構（経路が与えられることにより可能）
（４）エージェントシステム間でエージェントが動作するための空き資源（プログラム領域、通信帯域など）の確保を行う機構；これにより、送信先の状況を認識してエージェントが動作可能なエージェントシステムに対して当該エージェントを送るので、確実にエージェントを実行できる。
【００１２】
（５）エージェントの移動が確認できた後に、移動元のエージェントが利用していた資源を解放する機構；このようにすることにより、送信先に何らかの事情によりエージェントが実行できないような場合でも移動元から再送したり別のエージェントシステムに送信することができ、途中で消失することがなく、確実に所望のエージェントシステムに対して移動させることができる。
【００１３】
（６）各エージェントシステムがモバイルコードを共通フォーマットのバイトストリームに変換する機構と、バイトストリームをエージェントシステムが搭載されているＭＰＵのバイナリに変換する機構；これにより、異なる処理系が混在しても適用可能となる。
【００１４】
上記の（１）〜（４）により、「適切な移動経路の確保」という目的を達成でき、（５），（６）により「移動の保証」という目的を達成することができるようになる。
【００１５】
そして、上記のシステムを利用すると、上記したごとくファイアウォール７の外にエージェント４を送り出すことができる。つまり、公衆回線６を介して接続された別のネットワーク３′内の通信機器１′に対してエージェント４を送信し、そこにおいて所定の処理を実行することが可能となる。これにより、例えば複数の工場が存在し、個々の工場ではイントラネットの閉じたネットワーク３，３´を構築するとともに、複数の工場間では、公衆回線６を介して接続しているような場合に、一方の工場内の通信機器１に設置されたエージェントシステム５で生成されたエージェントを別の工場内の通信機器に送り、そこにおいて所望のプログラムを実行させることができる。
【００１６】
このように、エージェント４をファイアウォール７の外に確実に送信することは可能であるものの、その別のネットワーク３´に送信したエージェントに対してメッセージを送ることはできない。つまり、イントラネットを構築するネットワーク３と公衆回線６の接続部分に設けられたファイアウォール７は、アクセス制御用のソフトウエアであり、そのフィルタプログラムをメッセージが通過できないため、別のネットワーク３′に送られたエージェント４に対してはメッセージを送ることができなくなるのである。なお、移動元のエージェントシステム５は、送信先のエージェントシステム５′のアドレスを格納している。
【００１７】
その結果、メッセージの交換ができなくなると、移動中のエージェント４に対してその移動先の追加・変更・削除等の更新処理をしたり、処理内容，振る舞いを変えたりさせることができなくなり、システムの柔軟性に欠ける。
【００１８】
本発明は、上記した背景に鑑みてなされたもので、その目的とするところは、上記した問題を解決し、ネットワークの内外を問わず移動先のエージェントに対して簡単かつ確実にメッセージを送ることができ、係る処理を行うための情報を自動的に生成することができ、操作者の労力を軽減することができるエージェントシステム及び通信機器及び通信方法を提供することにある。
【００１９】
【課題を解決するための手段】
上記した目的を達成するために、本発明に係るエージェントシステムでは、ファイアウォール上に存在するエージェントシステムであって、エージェントの移動元アドレスと、そのエージェントの移動元アドレスからファイアウォールによって隔てられたそのエージェントの移動先アドレスと、そのエージェントのＩＤを関連付けた管理テーブルを格納する記憶手段と、送られてきたメッセージを前記記憶手段に記憶されたアドレス情報とエージェントＩＤに基づいて別のエージェントシステムに対して転送する手段と、エージェントが移動した情報を受け取った際に、移動したエージェントのアドレス情報を更新する機能と、を備える。そして、その更新する機能は、前記ファイアウォール内のエージェントが到達すると、そのエージェントのエージェントＩＤと移動元アドレスを前記管理テーブルに格納し、そのエージェントが前記ファイアウォールの外に存在する別のエージェントシステムに移動した場合、その移動先のエージェントシステムから返送されてきた前記移動先のアドレスを受信した際に、その受信したアドレスを前記管理テーブルの前記移動先アドレスとして登録することにより、前記アドレス情報を更新するように構成した。
【００２０】
このように構成すると、移動元アドレスのエージェントシステム（そのエージェントシステムにある別のエージェント）から、移動先アドレスにあるエージェントに対してメッセージを送る場合に、具体的な移動先アドレスを知らなくても本機能を持ったエージェントシステムにメッセージを送ることにより真の相手にメッセージを転送してくれる。
【００２１】
従って、本発明に係るエージェントシステムをファイアウォール上に設置すれば、エージェント自体はそのエージェントシステムを経由するようにプログラムすることによりファイアウォール外のエージェントシステムに移動することができる。そして、そのようにファイアウォール外に移動したエージェントに対してファイアウォール内のエージェントがメッセージを送る場合、ファイアウォール上のエージェントシステムにメッセージを送ることにより、上記した転送処理を行い、ファイアウォール外のエージェントにメッセージを送信することができる。
【００２２】
上記した発明を前提とし、前記移動元アドレスのエージェントシステムに対し、前記移動先アドレスのエージェントに対するメッセージの送信先として、自エージェントシステムのアドレスを送信する機能をさらに付加するように構成するとよい（請求項２）。
【００２３】
このようにすると、エージェントの移動先アドレスとして当初ファイアウォール外などの直接メッセージを送れないようなアドレスを記憶していたとしても、この自己アドレスを受け取ったエージェントシステム（本発明とは別のもの）は、当該エージェントに対するメッセージの送り先として、中継する本発明に係るエージェントシステムのアドレスに書き換えることができる。よって、以後、請求項１に記載の転送機能を使ってエージェントに対してメッセージ送信が可能となる。
【００２４】
さらにまた、前記移動元アドレスのエージェントシステムに対し、前記移動先アドレスのエージェントに対するメッセージの送信先として、前記移動先アドレスと自エージェントシステムのアドレスを択一的に選択して送信する機能をさらに付加してもよい（請求項３）。
【００２５】
このようにすると、自己のアドレスを送信した場合には、上記した請求項２における作用効果と同様のものが発揮される。また、エージェントの移動先アドレスを教えた場合、メッセージは移動元アドレスから移動先アドレスに対して直接（本発明のエージェントシステムを経由することなく）送信することができる。よって、経由することによる時間的な無駄・遅延がなくなり、システム効率が向上する。なお、このように移動先アドレスを送信する場合、移動元から移動先に直接メッセージを送信することができる必要がある。移動元と移動先は同一ネットワーク上に存在し、中継する本発明に係るエージェントステムも同一ネットワーク上（ファイアウォール上も含む）にある必要がある。
【００２６】
また、エージェントが通過する際に得られた移動元アドレスおよび／または移動先アドレスの情報に基づいてそのエージェントに関する前記アドレス情報を生成し、前記記憶手段に記憶する機能をさらに備えると好ましい（請求項４）。移動元アドレスは、送られてきたエージェントを見ることによりわかる。また、移動先アドレスはそのエージェントを見たり、或いは実際の移動先のエージェントシステムからのアドレスの通知を受けることによりわかる。従って、エージェントが通過する際にそのエージェントについてのアドレス情報を取得することができるので、それを自己（エージェントシステム）が生成し記憶手段に自動的に記憶することにより、操作者の手間がかからず作業性が向上する。
【００２７】
なお、「エージェントが通過する際」とは、「通過することによって」或いは「通過したことに基づいて」等の意味を有し、上記した説明のように通過後に移動先からのアドレスの通知をもってアドレス情報の生成が終了するようにしたものも含む。つまり、必ずしも通過した時のように通過と同時に生成されるもののみに限定されない（もちろん、同時に生成するものでもかまわない）。
【００２８】
エージェントが消滅した情報（実施の形態では、ＩＤと特定コードとしてのアドレス「０．０．０．０」を受けることにより消滅と認識する）を受け取った際に、その消滅したエージェントに関する前記アドレス情報を前記記憶手段から削除する機能をさらに付加するとよい（請求項５）。
【００２９】
すなわち、エージェントが消滅した場合には、その消滅したエージェントに対してメッセージを送ることもないし、仮に送るようにしたとしても無効となる。従って、係る消滅したエージェントに対するアドレス情報を記憶手段に格納したままでは、メモリ効率が悪く不経済であるばかりでなく、別のエージェントにメッセージを送る場合の検索効率が悪くなり、さらにメモリオーバーになった場合には、新たなアドレス情報の追加ができないか、必要なアドレス情報が上書きされて消されてしまうなどの問題もある。そこで、このようにすると、不要となったアドレス情報が消去されるので、効率のよい検索・転送処理が行える。また、記憶手段のメモリ容量も、アドレス情報が消去されることを考慮してさほど大きくしなくても済む。
【００３１】
また、本発明に係る通信機器は、エージェントを受け出しできるファイアウォールに設置される通信機器であって、エージェントに記憶されている移動元アドレス情報と、そのエージェントの移動元アドレスからファイアウォールによって隔てられたそのエージェントの移動先アドレス情報とをそのエージェントのＩＤに関連付けた管理テーブルを格納する機能と、他の通信機器から受けたメッセージを、前記移動先アドレス情報と、前記ＩＤに基づいて別の通信機器に転送する機能と、エージェントが移動した情報を受け取った際に、移動したエージェントのアドレス情報を更新する機能と、を備え、その更新する機能は、前記ファイアウォール内のエージェントが到達すると、そのエージェントのエージェントＩＤと移動元アドレスを前記管理テーブルに格納し、そのエージェントが前記ファイアウォールの外に存在する別のエージェントシステムに移動した場合、その移動先のエージェントシステムから返送されてきた前記移動先のアドレスを受信した際に、その受信したアドレスを前記管理テーブルの前記移動先アドレスとして登録することにより、前記アドレス情報を更新するものとした。
さらに、本発明に係る通信方法は、エージェントの移動元アドレスと、そのエージェントの移動元アドレスからファイアウォールによって隔てられたそのエージェントの移動先アドレスと、そのエージェントのＩＤを関連付けた管理テーブルを記憶する記憶手段を備えたファイアウォール上のエージェントシステムを用いた通信方法であって、前記エージェントシステムは、送られてきたメッセージが自エージェントシステム宛でない場合に前記記憶手段に記憶されたアドレス情報とエージェントＩＤに基づいて転送先の別のエージェントシステムを決定し、次いで、前記受信したメッセージを前記別のエージェントシステムに対し転送するものであり、かつ、前記ファイアウォール内のエージェントが到達すると、そのエージェントのエージェントＩＤと移動元アドレスを前記管理テーブルに格納し、そのエージェントが前記ファイアウォールの外に存在する別のエージェントシステムに移動した場合、その移動先のエージェントシステムから返送されてきた前記移動先のアドレスを受信した際に、その受信したアドレスを前記管理テーブルの前記移動先アドレスとして登録することにより、前記アドレス情報を更新するようにした。
【００３２】
このようにすると、ファイアウォールの外に移動したエージェントが何回移動したとしても、記憶手段に格納されたそのエージェントについてのアドレス情報は、現在のエージェントの存在位置に更新される。よって、その移動したエージェントに対してメッセージ等を送る場合、ファイアウォール上のエージェントシステムから直接送ることができる。
【００３３】
なお、ファイアウォール外にエージェントを移動させる機構は、特願平１０−７９８１４に開示された発明を利用することにより実現できるのはもちろんであるが、本発明はこれに限るものではなく、各種のものにより実現して良いのは言うまでもない。
＊用語の定義
「エージェントシステム」とは、エージェントの生成、消滅、移動等の管理を行うシステムプログラム、すなわち、係るプログラムがインストールされ稼働可能となった装置部分のことを意味する。また、「通信機器」とは、エージェントシステム（プログラム）の移動対象、或いは、ＰＬＣやパソコンなどの前記エージェントシステム（プログラム）を備えた機器全体を意味する。
【００３４】
【発明の実施の形態】
図２は、本発明に係るエージェントシステム及び通信機器及び通信方法が適用された通信システムの概略構成図を示している。同図に示すように、複数のネットワークであるイントラネット１０，１１が公衆回線１２を介して接続されたシステムであり、イントラネット１０と公衆回線１２との接続ポイントにはファイアウォール１３が設置され、そこを通過するデータ・情報を監視し、通行不可のデータ等の場合にはその進行を阻止するようになっている。各イントラネット１０，１１は、無線・有線からなる通信回線１５に複数の通信機器１８ａ，１８ｂ，１８ｃ，１８ｄ，……が接続されてイントラネットが構築される。
【００３５】
そして、各通信機器１８ａ，１８ｂ，…には、エージェントシステム１９が組み込まれており、そのエージェントシステム１９により生成されたエージェント２０が別の通信機器のエージェントシステムに送られ、所定の処理をするようになっている。
【００３６】
ここで本発明では、ファイアウォール１３上にもエージェントシステム１９′を配置し、ファイアウォール１３の外にエージェント２０が移動する場合には、必ずそのファイアウォール１３上のエージェントシステム１９′を経由して所望のエージェントシステム１９に移動するようにする。このとき、ファイアウォール１３上のエージェントシステム１９′は、経由していったエージェント２０の移動元と移動先のエージェントシステム１９のアドレスを知ることができるので、エージェントと関連付けて各アドレスを保持するとともに、移動元のエージェントシステム１９に対しては、そのエージェント２０の移動先のアドレスとして自己のアドレス、つまりファイアウォール１３上のエージェントシステム１９´のアドレス（ｚ）をメッセージ送信して知らせる。
【００３７】
これを受けて移動元のエージェントシステム１９は、当該エージェントに対するメッセージの送信先アドレスとして通知を受けたエージェントシステム１９′のアドレス（ｚ）であると記憶する。これにより、以後移動先のエージェント２０に対するメッセージの送信先はファイアウォール１３上のエージェントシステム１９′に更新されているので、元存在していたエージェントシステム１９からのメッセージはファイアウォール１３上のエージェントシステム１９′に対して送られる。そして、それを受けたエージェントシステム１９′は、記憶しているエージェントの移動先アドレスに基づいて、ファイアウォール１３外のエージェント（エージェントシステム）に対して受け取ったメッセージを転送する処理を行う。これにより、元存在していたエージェントシステム１９（ａ）からのメッセージはファイアウォール１３上のエージェントシステム１９′を経由してファイアウォール１３外のエージェント２０（Ｃ）に到着することができる。
【００３８】
また、イントラネット内でのメッセージの送受は、従来と同様直接行う。つまり、図示の例ではあるエージェントが（ａ）から（ｂ）に送られた場合、移動元のエージェントシステム１９内には移動先のアドレス（ｂ）がそのまま登録されるので、そのエージェント２０（Ｂ）に対してメッセージを送る場合、記憶されたアドレスに基づいて直接メッセージを送ることができる。
【００３９】
このように、ファイアウォール１３上にエージェントシステム１９′を設置し、しかも、そのエージェントシステム１９′にファイアウォール１３の内外の移動元と移動先のアドレスと、移動したエージェントを関連付けた管理データを記憶することにより、移動元から移動先に対してエージェントシステム１９′を介してメッセージを送ることが可能となる。そして、そのようにメッセージの転送をするための管理データは、そのエージェントシステム１９′を当該エージェント２０が経由することにより自動的に作成することができるので、操作者はあらかじめ係る管理データを作成する必要もないというメリットを有する。
【００４０】
次に、上記したシステムを実現するためのより具体的なエージェントシステムの構成について説明する。図３は、ファイアウォール１３内のイントラネット１０，１１内に設けられるエージェントシステム１９の内部構造を示している。同図に示すように、このエージェントシステム１９は、通信プロトコル２１を介して通信回線１５と接続され、その通信プロトコル２１との間で、動的に生成，消滅及び移動可能なプログラムであるエージェント２０やメッセージを送受することにより他のエージェントシステムとの間で上記エージェント２０の移動の管理を行ったり、移動先のエージェントに対してメッセージの送受を行ったりするようになっている。
【００４１】
そして、エージェントシステム１９の内部構造としては、動的に移動するプログラムであるエージェント２０を生成したり、消滅させたり、移動させるのを管理したり、エージェントＩＤを生成するエージェント管理部２２と、そのエージェント管理部２２により管理されるエージェント２０の移動状態、つまり、エージェントがどこから来て（移動元）どこに行くか（移動先）を管理するエージェントアドレス管理部２４と、前記通信プロトコル２１に接続され、エージェントやメッセージの送受を行う通信プロトコル管理部２５とを備えている。
【００４２】
そして、エージェント管理部２２は、エージェントに付したＩＤを管理する機能も有している。つまり、エージェントは複数存在することがあるので、個々にＩＤを付して区別できるようにしている。なお、このＩＤを管理する機能を別途設けてももちろんよい。
【００４３】
またエージェントアドレス管理部２４には、転送フラグを設けており、この転送フラグがＯＮの場合には、受け取ったメッセージやエージェントを他のエージェントシステムに転送し、転送フラグがＯＦＦの場合には、受け取ったメッセージやエージェントを転送しないようになる。つまり、通常イントラネット内に存在するエージェントシステム１９の場合には、自分宛にエージェントやメッセージが送られてくるので初期状態では転送フラグをＯＦＦにする。もちろん、このフラグはあくまでも初期状態でしているため、後述するように転送する場合にはこの転送フラグをＯＮにすることにより対応できる。
【００４４】
また、エージェントアドレス管理部には、例えば図４に示すように送信したエージェントのＩＤ番号と、エージェントの移動先のアドレスとを関連付けた管理テーブルを有している。この管理テーブルは、エージェント２０が移動した場合、その送信したエージェントのＩＤをテーブル内に格納し、移動先のエージェントシステムから送られてきたメッセージ（移動先アドレス）を受け取ったならば、それを関連付けてテーブルに格納することにより生成する。
【００４５】
通信プロトコル管理部２５は、エージェントアドレス管理部２４と情報を交換し、データとしてのエージェントの送受信を管理するもので、エージェント管理部２２で生成したエージェント２０を通信プロトコル２１に渡し、所望の移動先に送信要求する。メッセージについても同様である。
【００４６】
そして、上記したエージェントシステムのより具体的な機能は、図５〜図９に示すフローチャートのようになる。このうち、図５〜図７に示すフローチャートは、エージェント，メッセージを送信する側の機能を示し、図２の例では通信機器１８ａに実装されたエージェントシステム１９（ａ）が実施する機能である。また、図８，図９に示すフローチャートは、エージェント，メッセージを受信する側の機能を示し、図２の例では通信機器１８ｂに実装されたエージェントシステム１９（ｂ）が実施する機能である。以下、フローチャートにしたがって説明する。
【００４７】
図５に示すように、所定の初期処理をした後（ＳＴ０）要求待ち状態になり、エージェントシステムに対して要求があったか否かを判断し（ＳＴ１）、要求があった場合には、その要求内容を判断し（ＳＴ２）、その要求に合った処理（エージェント生成処理：ＳＴ３，エージェント移動処理：ＳＴ４，アドレス更新処理：ＳＴ５，メッセージ送信処理：ＳＴ６）を実行した後、ステップ１の分岐判断に戻る。
【００４８】
具体的には、エージェント生成命令の場合には、図６（ａ）に示すように、生成命令にしたがってエージェントを生成するとともに、生成したエージェントに対してＩＤを付与する（ＳＴ３ａ）。この付与したＩＤは、ＩＤ管理部に登録される。なお、係る生成処理及びＩＤの付与処理の具体的な内容は、従来と同様であるのでその詳細な説明を省略する。次いで、エージェントアドレスをエージェントアドレス管理部２４に格納する（ＳＴ３ｂ）。この場合、自エージェントシステムのアドレスを登録することになる。
【００４９】
また、エージェントの移動命令の場合には、同図（ｂ）に示すように、まず、自エージェントシステム上のエージェント（例えばステップ３ａで生成したエージェント等）から他のエージェントシステムへの移動要求を受信したならば、そのエージェントから移動先アドレスを取得する（ＳＴ４ａ）。図２に示すように、通信機器１８ａ内のエージェントシステム１９（ａ）から通信機器１８ｂ内のエージェントシステム１９（ｂ）に移動する場合、その移動先アドレスとしてｂのアドレスを取得する。
【００５０】
そして、取得した移動先アドレスから、その移動先がファイアウォール内、つまり、自己が存在するイントラネット内か否かを判断し（ＳＴ４ｂ）、ファイアウォール内であれば移動先のエージェントシステム（図２の場合ｂ）を送信先に指定し（ＳＴ４ｃ）、ファイアウォール外の場合にはファイアウォール上のエージェントシステム１９′のアドレス（図２の場合ｚ）を送信先に指定する（ＳＴ４ｄ）。
【００５１】
次いで、指定したエージェントシステムのアドレスをアドレス管理部２５に格納する（ＳＴ４ｅ）。その後、指定したエージェントシステムに移動要求を発したエージェントを送信する（ＳＴ４ｆ）。上記した一連の各処理がエージェント管理部２２で実行される。但し、ステップ４ｆにおける送信に関する処理としては、エージェント管理部２２は移動要求を受けたエージェントのＩＤ番号とともに送信命令を通信プロトコル管理部２５に送り、それを受けて送信の具体的な処理は、通信プロトコル管理部２５がエージェントアドレス管理部２４内の管理テーブルをサーチし、指示されたエージェントＩＤの移動先アドレスを取得するとともに、その移動先アドレスに向けてエージェントを送信するようになる。
【００５２】
一方、受け取った要求がアドレス受信の場合には、図７（ａ）に示すように、エージェントを送信したならば、移動先のエージェントシステムから移動先アドレスをメッセージとして送られてくるので、それを受信する（ＳＴ５ａ）。そして、受け取った移動先アドレス（何のエージェントについてのメッセージかの情報も合わせて送られてくる）に、エージェントアドレス管理部２４内の移動先アドレスを書き換える。
【００５３】
さらに、移動先のエージェントに対するメッセージの送信命令の場合には、同図（ｂ）に示すように、自分が管理するエージェントシステム上のエージェントから、移動先のエージェントとその送信内容を受信する（ＳＴ６ａ）。次いで、送信先のエージェントのＩＤをキーにしてエージェントアドレス管理部２２をサーチし、その送信先のエージェントが存在するエージェントシステムのアドレスを検出する（ＳＴ６ｂ）。その後、検出したアドレスに基づいて送信先エージェントに対してメッセージを送信する（ＳＴ６ｃ）。なお、メッセージの送信処理も、実際に行うのは上記したエージェントの場合と同様に通信プロトコル管理部２５である。
【００５４】
一方、受信側のエージェントシステムの機能としては、図８に示すようにエージェントシステムは、所定の初期設定を行い、このとき転送フラグをＯＦＦにする（ＳＴ１０）。そして要求待ち状態になり、エージェントシステムに対して要求があったか否かを判断し（ＳＴ１１）、要求があった場合には、その要求内容を判断し（ＳＴ１２）、その要求に合った処理（エージェント受信処理：ＳＴ１３，メッセージ受信処理：ＳＴ１４ａ，１４ｂ，その他の処理：ＳＴ１５）を実行した後、ステップ１１の分岐判断に戻る。
【００５５】
具体的には、エージェントを受信した場合には、図９に示すように、エージェントを受信したならば（ＳＴ１３ａ）、そのエージェントを生成して可動可能状態にする（ＳＴ１３ｂ）。そして、生成したエージェントから、エージェントＩＤを取り出してエージェントＩＤ管理部（エージェント管理部内或いは別途設けた管理部）に格納する（ＳＴ１３ｃ）。
【００５６】
さらに、エージェントシステムは、受信したエージェントから移動元エージェントシステムのアドレスを取り出し（ＳＴ１３ｄ）、その取り出した移動元アドレスのエージェントシステムに対し自エージェントシステムのアドレスをメッセージとして送信する（ＳＴ１３ｅ）。
【００５７】
その後、エージェント管理部２２内の転送フラグを見に行き、転送フラグがＯＦＦの場合（ＳＴ１３ｆ）には受信処理を終了し、ステップ１１に戻り要求待機状態になる（初期処理で転送フラグをＯＦＦにしているので通常はこのルートをとる）。なお、受信したエージェントのプログラムにしたがって、所定の処理を実行するのはもちろんである。一方、外部的な要因で転送フラグがＯＮになっている場合には、ステップ１３ｆの分岐判断でＮＯとなるので、ステップ１３ｇに飛び、受信したエージェントから移動先アドレスを取り出して、その取り出した移動先アドレスを持つエージェントシステムに対して受信したエージェントを送信する。
【００５８】
また、他のエージェントからのメッセージを受信した場合には、図８中ステップ１２の分岐判断でステップ１４ａに飛び、その他エージェントシステム上のエージェントから送られてきたメッセージを受信し、受信したメッセージに応じた処理を行う（ＳＴ１４ｂ）。この応じた処理としては、すでに受信したメッセージの処理の変更や、移動先の追加・削除・変更や、その他の各種の応答処理等である。
【００５９】
さらに、エージェント並びにメッセージの受信以外の場合には、係る要求に応じた処理を実行する（ＳＴ１５）。そして、上記各処理を終了したならば、ステップ１１に戻り要求待ち状態となる。
【００６０】
次に、本発明の要部となるファイアウォール１３上に設置されるエージェントシステム１９′について説明する。図１０に示すように、ブロック図レベルでの基本的な構造としては、図３に示したファイアウォール１３内のエージェントシステム１９と同様である。そして、大きく異なる点としては、エージェントアドレス管理部２４′が管理する管理テーブルが、図示するようにエージェントＩＤと移動元アドレスと移動先アドレスの３つを関連付けて格納するようにしている。ここで移動元アドレスは、移動してきたエージェントを発したファイアウォール１３内のエージェントシステムのアドレスを登録することになり、移動元アドレスはファイアウォール１３外のそのエージェントが本来移動していきたいエージェントシステムのアドレスを登録することになる。そして、エージェントが到達すると、まずエージェントＩＤと移動元アドレスを追加作成し、そのエージェントの移動先のエージェントシステムから返送されてきたアドレスを受けて該当する箇所に当該アドレスを移動先アドレスとして登録するようになる。
【００６１】
これにより、エージェントシステム１９は、ファイアウォール１３の外に出ていったエージェントについて、内部のどのエージェントシステムから発せられて、外部のどのエージェントシステムに到達したのかが把握できるので、その後あるエージェントに対するメッセージが送られてきたならば、そのエージェントがどこにいるかを知っているので、そのエージェントに対して送られてきたメッセージを転送することができる。
【００６２】
なお、図示省略するが、このエージェントシステム１９′（エージェントアドレス管理部２４′）にも転送フラグを設け、転送フラグがＯＮのときに転送し、ＯＦＦのときには転送しないように制御する機能を設けた。そして、エージェントシステム１９′の設置目的は、ファイアウォール１３の内外においてメッセージを送受可能とするための経由地点となり、受け取ったメッセージ等を転送するのが基本機能であるため、初期値としては転送フラグをＯＮにしている。但し、自己宛のメッセージが転送されてきた場合に対応できるようにするため、転送フラグを設けている。よって、基本機能のみを達成するのであれば、転送フラグは設けなくてもよい。このことは、上記したエージェントシステム１９内に設置した転送フラグについても同様である（エージェントシステム１９の場合には、常に転送しないにする）。
【００６３】
そして、このように機能が異なることから、エージェント管理部２２′の機能は図１１〜図１４に示すように異なる。なお、通信プロトコル管理部２５′や通信プロトコル２１′の基本機能としては、エージェントシステム１９における通信プロトコル管理部２５や通信プロトコル２１と同様である。
【００６４】
図１１に示すように、所定の初期設定を行い、このとき転送フラグをＯＮにする（ＳＴ２０）。そして要求待ち状態になり、エージェントシステム１９′に対して要求があったか否かを判断し（ＳＴ２１）、要求があった場合には、その要求内容を判断し（ＳＴ２２）、その要求に合った処理（エージェント受信送信処理：ＳＴ２３，メッセージ受信処理：ＳＴ２４，エージェントアドレス更新処理：ＳＴ２５，その他の処理：ＳＴ２６）を実行した後、ステップ２１の分岐判断に戻り、要求待ち状態となる。
【００６５】
具体的には、エージェント受信送信要求の場合には、図１２に示すように、エージェントを受信し（ＳＴ２３ａ）、そのエージェントを生成して可動可能状態にする（ＳＴ２３ｂ）。そして、受信したエージェントから移動元エージェントシステムのアドレスを取り出し、エージェントアドレス管理部２４′に格納する（ＳＴ２３ｃ）。さらに、受信したエージェントからエージェントＩＤを取り出してエージェントＩＤ管理部（エージェント管理部２２′内或いは別途設けた管理部）及びエージェントアドレス管理部２４′に格納する（ＳＴ２３ｄ）。これにより、図１０に示す管理テーブルに、ＩＤと移動元アドレスを対にしたデータが登録される。次いで、エージェントから移動先のエージェントシステムのアドレスを取り出し、エージェントアドレス管理部２４′に格納する（ＳＴ２３ｅ）。
【００６６】
次に、エージェントアドレス管理部２４′内の転送フラグを見に行き、転送フラグがＯＦＦか否かを判断する（ＳＴ２３ｆ）。初期処理で転送フラグをＯＮにしているので、通常はこの分岐判断はＮＯとなり、ステップ２３ｇに飛ぶ。そして、管理テーブルをサーチし、移動元アドレスを取得したならばその移動元アドレスのエージェントシステムに対し、自エージェントシステムのアドレスをメッセージとして送信する（ＳＴ２３ｇ）。さらに、管理テーブルに格納された移動先アドレスに基づいて、移動先エージェントシステムに向けて受け取ったエージェントを送信する（ＳＴ２３ｈ）。そして、エージェントに自エージェントシステムのアドレスを格納する（ＳＴ２３ｌ）。つまり、エージェント自体にアドレスを持たせる。これにより、エージェントの転送、つまり、ファイアウォール外への送り出しが完了する。
【００６７】
図２に示すように通信機器１８ａのエージェントシステム１９（ａ）に存在するエージェントが通信機器１８ｃのエージェントシステム１９（ｃ）に移動する場合には、エージェントＩＤとともにａのアドレスが移動元アドレスとして管理テーブルに格納される。そして、エージェントシステム１９（ａ）には、エージェントシステム１９′からそのエージェントシステム１９′のアドレスｚを送信することになる。
【００６８】
つまり、エージェントの本来の移動先はファイアウォール１３の外にある通信機器１８ｃに設けられたエージェントシステム１９（ｃ）であるが、エージェントシステム１９（ａ）に対しては、その移動したエージェントの移動先として偽のアドレスとしてｚを教える（真のｃのアドレスではなく）ことになる。なお、これを受けたエージェントシステム１９（ａ）は、図７（ａ）の処理に従って、ｚのアドレスをｃに送ったエージェントの移動先アドレスとして記憶することになる。つまり、エージェントシステム１９は、ファイアウォール１３の外に対してメッセージを送る場合には、実際のエージェントの移動先がどこかにかかわらずエージェントシステム１９′にメッセージを送るだけでよいので、イントラネット内でのメッセージの送受と同様に行える。
【００６９】
一方、転送フラグがＯＦＦの場合には、ステップ２３ｆの分岐判断でＹＥＳになるので、ステップ２３ｉに飛び、移動先アドレスがファイアウォール内か否かを判断する（ＳＴ２３ｉ）。そして、転送しない場合、通常は移動先はファイアウォール内であるのでステップ２３ｊに飛び、移動元アドレスに移動先アドレスを送信し処理を終了する。また、転送処理もしないでファイアウォール外に移動することはないので、上記分岐判断でＮＯとなった場合にはエラー処理をする（ＳＴ１３ｋ）。なお、受信したエージェントのプログラムにしたがって、所定の処理を実行するのはもちろんである。
【００７０】
また、他のエージェントからのメッセージを受信した場合には、図１１中ステップ２２の分岐判断で図１３のフローチャートにしたがって処理をする。すなわち、ステップ２４ａに飛び、その他エージェントシステム上のエージェントから送られてきたメッセージを受信する（ＳＴ２４ａ）。次に、転送フラグを確認し（ＳＴ２４ｂ）、フラグがＯＮの場合には、ステップ２４ｃに飛びエージェントシステム１９′は、エージェントアドレス管理部２４′をサーチしてメッセージの移動元と対応する移動先があるか否かを判断する（ＳＴ２４ｃ）。
【００７１】
そして、存在する場合には、送られてきたエージェントＩＤとそこで管理されているＩＤが一致するか否かを判断する（ＳＴ２４ｉ）。この判断で、不一致となった場合には、ステップ２４ｈに飛び、エラー処理となる。そして、一致する場合には、ステップ２４ｄに飛び、エージェントアドレス管理部２４′から移動先エージェントシステム（移動先エージェント）のアドレスを取り出し（ＳＴ２４ｄ）、その移動先アドレスに対してメッセージを送信（転送）し、処理を終了する（ＳＴ２４ｅ）。
【００７２】
一方、転送フラグがＯＦＦになっている場合には、移動先が自エージェントシステムのアドレスか否かを判断し（ＳＴ２４ｆ）、自分宛の場合には、受信したメッセージに応じた処理を行う（ＳＴ２４ｇ）。また、自アドレス以外が移動先であったり、転送フラグがＯＮのときに移動元と対応する移動先アドレスがない場合には、それぞれに応じたエラー処理（ＳＴ２４ｈ）を実行して処理を終了する。
【００７３】
さらにまた、エージェントアドレスを受信した場合には、図１１中ステップ２２の分岐判断で図１４のフローチャートにしたがって処理をする。すなわち、ファイアウォール上のエージェントシステム１９′は他エージェントシステム（エージェントの移動先）からエージェントシステムアドレスとエージェントＩＤと送信フラグを受信する（ＳＴ２５ａ）。次いで、エージェントシステム１９′は受信したエージェントＩＤがエージェントアドレス管理部２４′にあるか否かを判断する（ＳＴ２５ｂ）。そして、もしない場合にはエラー処理を行う（ＳＴ２５ｆ）。
【００７４】
一方、エージェントアドレス管理部２４′にエージェントＩＤがある場合には、同時に取得した送信フラグが「送信先」であったか否かを判断する（ＳＴ２５ｃ）。そして、送信先の場合には、受信したエージェントシステムアドレスをエージェントアドレス管理部２４′の移動先アドレスとして更新する（ＳＴ２５ｅ）。一方、「送信先でない」、つまり「送信元」ならば移動元アドレスを更新する（ＳＴ２５ｄ）。これにより、ファイアウォールを挟んで移動元と移動先のエージェントが自由に移動した場合どちらからのアドレス更新も可能となる。
【００７５】
さらに、エージェント，メッセージ並びにエージェントアドレスの受信以外の場合には、係るその他の要求に応じた処理を実行する（ＳＴ２６）。そして、上記各処理を終了したならば、ステップ２１に戻り要求待ち状態となる。
【００７６】
なお、このエージェントシステム１９′からメッセージ並びにエージェントが転送されてきたファイアウォール１３外のエージェントシステム１９（図２の場合には通信機器１８ｃに設定されたエージェントシステム１９（ｃ））は、通常のエージェントシステムであるので、図８，図９に示すフローチャートを実行し、エージェントシステム１９′との間でデータの送受を行い、メッセージ並びにエージェントを受信することになる。
【００７７】
そして、エージェントシステム１９は、自アドレスを移動元アドレス、つまりエージェントシステム１９′に対してメッセージとして送ることになっている。従って、それを受けたエージェントシステム１９′は、その受け取った移動先アドレスを管理テーブルに書き込む処理も行うようになる。この処理は、フローチャートで言うと、図１２における自己宛のメッセージを受信した際の処理となる。
【００７８】
つまり本形態では、ファイアウォール内のエージェント（エージェントシステム）は、ファイアウォール外の正規の移動先のエージェント（エージェントシステム）との間でデータ（エージェント，メッセージ）の送受をしているつもりで、実際にはエージェントシステム１９′との間でデータの送受を行うことになる。同様に、ファイアウォール外のエージェントシステム１９は、直接エージェントが送られてきたのはエージェントシステム１９′であるため、そのエージェントシステム１９′からエージェント，メッセージが送られてきたと認識してそのエージェントシステム１９′との間でデータの送受を行うが、実際にはエージェントシステム１９′がファイアウォール１９内の真の移動元アドレスに対してデータを転送する。
【００７９】
従って、真の移動元アドレスのエージェントシステムと移動先アドレスのエージェントシステムは、互いにファイアウォール１３上のエージェントシステム１９′を相手先と認識しながらデータの送受を行うことにより、そのエージェントシステム１９′を介して正規の相手とデータの送受が行えるようになる。
【００８０】
また、ファイアウォール１３を通過してエージェントが移動してきた場合の移動先のエージェントシステム１９（ｃ）等は、図１５，図１６に示すような機能を有する。すなわち、図１５に示すように、エージェントシステムは、所定の初期設定を行い、このとき転送フラグをＯＦＦにする（ＳＴ５０）。そして要求待ち状態になり、エージェントシステムに対して要求があったか否かを判断し（ＳＴ５１）、要求があった場合には、その要求内容を判断し（ＳＴ５２）、その要求に合った処理（エージェント受信処理：ＳＴ５３，メッセージ受信処理：ＳＴ５４ａ，５４ｂ，その他の処理：ＳＴ５５）を実行した後、ステップ５１の分岐判断に戻る。
【００８１】
具体的には、エージェントを受信した場合には、図１６に示すように、エージェントを受信したならば（ＳＴ５ａ）、そのエージェントを生成して可動可能状態にする（ＳＴ５３ｂ）。そして、生成したエージェントから、エージェントＩＤを取り出してエージェントＩＤ管理部（エージェント管理部内或いは別途設けた管理部）に格納する（ＳＴ５３ｃ）。
【００８２】
次いで、ファイアウォールアドレスが格納済みか否かを判断する（ＳＴ５３ｄ）。すなわち、ファイアウォールアドレスが初期値のままである場合には、空（格納していない）と判断するようになる。
【００８３】
そして、格納済みの場合には、ステップ５３ｅに飛び、エージェントシステムはエージェントからファイアウォールアドレスを取り出す。このとき送信フラグとして「送信先」をセットする。一方、ファイアウォールアドレスが格納されていない場合には、送信元エージェントシステムアドレスを取り出し、このとき送信フラグとして「送信元」をセットする（ＳＴ５３ｆ）。
【００８４】
上記いずれかの処理をした後、上記で取り出したアドレスに自エージェントシステム（移動先：エージェントを受信したエージェントシステム）のアドレス，エージェントのＩＤ及び送信フラグを送信する（ＳＴ５３ｇ）。これにより、ファイアウォール１３上のエージェントシステムＺに１９′に対してファイアウォール外の移動先のエージェントシステムのアドレスとエージェントのＩＤが通知される。
【００８５】
その後、エージェント管理部２２内の転送フラグを見に行き、転送フラグがＯＦＦの場合（ＳＴ５３ｈ）には受信処理を終了し、ステップ５１に戻り要求待機状態になる（初期処理で転送フラグをＯＦＦにしているので通常はこのルートをとる）。なお、受信したエージェントのプログラムにしたがって、所定の処理を実行するのはもちろんである。
【００８６】
一方、外部的な要因で転送フラグがＯＮになっている場合には、ステップ５３ｈの分岐判断でＮＯとなるので、ステップ５３ｉに飛び、受信したエージェントから移動先アドレスを取り出し、エージェントアドレス管理部に格納する。次いで、移動先エージェントシステムに対して受信したエージェントを送信する（ＳＴ５３ｊ）。
【００８７】
また、他のエージェントからのメッセージを受信した場合には、図８中ステップ１２の分岐判断でステップ１４ａに飛び、その他エージェントシステム上のエージェントから送られてきたメッセージを受信し、受信したメッセージに応じた処理を行う（ＳＴ１４ｂ）。この応じた処理としては、すでに受信したメッセージの処理の変更や、移動先の追加・削除・変更や、その他の各種の応答処理等である。
【００８８】
さらに、エージェント並びにメッセージの受信以外の場合には、係る要求に応じた処理を実行する（ＳＴ１５）。そして、上記各処理を終了したならば、ステップ１１に戻り要求待ち状態となる。
【００８９】
上記した各機能（ファイアウォール内外でのメッセージの送受・エージェントの移動をそれぞれファイアウォールに対して行うこと、及び、ファイアウォールの外でエージェントが移動した場合に、常に移動先のエージェントシステムのアドレスを、ファイアウォールに通知する機能）を持たせることにより、以下に示すような作用効果が発揮する。すなわち、図１７に示すように、通信機器１８ａのエージェントシステム１９（ａ）に存在するエージェント２０（Ｃ）が通信機器１８ｃのエージェントシステム１９（ｃ）に移動したとすると、ファイアウォール１３上のエージェントシステム１９′のエージェントシステム管理部２４′には、ＣのエージェントＩＤとともにａのアドレスが移動元アドレスとして格納され、ｃのアドレスが移動先アドレスとして格納される。その後、そのエージェント２０（Ｃ）が通信機器１８ｃのエージェントシステム１９からさらに通信機器１８ｄのエージェントシステム１９（ｄ）に移動したとする。
【００９０】
係る場合、エージェント２０は、移動先エージェントシステムに到達したときに、ファイアウォール１３上のエージェントシステム１９′に、移動先エージェントシステム（図示の場合にはｄ）のアドレスを通知するようになっている。この通知が、ステップ２５ａで受信した各種データであるので、エージェントシステム１９′のエージェントシステム管理部２４′の移動先アドレスが更新される（ｃのアドレスからｄのアドレスになる）。
【００９１】
よって、この後、通信機器１８ａのエージェントシステム１９（ａ）から、移動先のエージェント２０（Ｃ）に対してメッセージを送る場合には、エージェントシステム１９（ａ）は、エージェントシステム１９′に向けてメッセージを送り、そのメッセージを受け取ったエージェントシステム１９′は、現在のエージェント２０（Ｃ）が存在するエージェントシステム１９（ｄ）に向けて直接メッセージを送ることができる。
【００９２】
上記した実施の形態は、ファイアウォールの内外間でのデータの送受を行うためのシステムについて説明したが、本発明はこれに限ることはなく、ファイアウォール内でメッセージの転送を行うことができる。
【００９３】
すなわち、図１８に示すように、同一のイントラネット１０内に通信回線１５を介して複数の通信機器１８ａ，１８ｂ，１８ｃ，…が接続され、各通信機器１８ａ，１８ｂ，１８ｃ，…にエージェントシステム１９ａ，１９ｂ，１９ｃ，…が実装されているとする。この場合に、エージェント２０ｃは、当初エージェントシステム１９ａで生成され、エージェントシステム１９ｂを経由してエージェントシステム１９ｃに移動するような経路を通る必要がある場合（例えば、エージェントシステム１９ｂ上の情報を取得してからエージェントシステム１９ｃに到達する必要がある場合など）、中間のエージェント１９ｂがファイアウォール１３上のエージェントシステムと同様の中継するエージェントシステムを構成することになる。
【００９４】
このように場合、エージェントは必ずエージェントシステム１９ｂを経由する必要があるものの、その後エージェント２０ａが移動先のエージェント２０ｃに対してメッセージを送る場合には、直接エージェントシステム１９ｃにメッセージを送れるようにしたほうが、中継しない分送信時間が短縮され、効率がよいので好ましい。
【００９５】
しかし、エージェントシステム１９ｂに上記したエージェントシステム１９′と同一の機能に設定すると、メッセージも必ずエージェントシステム１９ｂを経由してしまうことになる。そこで、係る場合にはエージェントシステム１９ｂの転送フラグをＯＦＦにする。
【００９６】
すると、図１２のステップ２３ｆの分岐判断でＹＥＳになり、しかもファイアウォール内であるのでステップ２３ｉもＹＥＳになる。よって、ステップ２３ｊを実行する。つまり、移動元エージェントシステムに教えるアドレスは、移動先アドレスであるので、図１８の場合にはエージェントシステム１９ｃのアドレスを教えることになる。すると、それを受けたエージェントシステム１９ａは、図７（ａ）に示す機能を実行し、受け取ったアドレスを移動先アドレスとしてエージェントアドレス管理部２４内の管理テーブルに格納（更新）する。よって、以後メッセージを送る際にはその管理テーブルをサーチするので、最終の移動先であるエージェントシステム１９ｃに対して直接メッセージを送ることができるようになる。
【００９７】
図１９は、本発明のさらに別の実施の形態を示している。上記したエージェントシステム１９′，１９ｂのように中継するエージェントシステムの場合、その中継が確立した後、その中継したエージェントが消滅した際には、その中継したエージェントシステムにおいても当該エージェントに関連するデータ、つまり、エージェントアドレス管理部内の管理テーブルに登録したＩＤ，移動先，移動元を関連付けたデータを消去する必要がある。
【００９８】
そこで、図１９に示すフローチャートのような機能を付加することによりエージェントに関するデータを消去するようにした。つまり、図示するように、初期処理後、要求待ちを行い（ＳＴ４０，ＳＴ４１）、要求があった場合には、その要求に応じた所定の処理を行う。この場合、メッセージが受信された場合、そのメッセージからエージェントＩＤと移動元アドレスを取り出す（ＳＴ４３）。
【００９９】
そして取り出したアドレスが特定コード（本形態では「０．０．０．０」）であるか否かを判断し（ＳＴ４４）、ＹＥＳの場合には、ステップ４６に飛び、受け取ったエージェントＩＤに対応した移動元アドレスのエージェントシステムにもそのエージェントＩＤとアドレス（０．０．０．０）を送信する（ＳＴ４６）。その後、受け取ったエージェントＩＤに対応する移動元アドレスと移動先アドレスを消去する（ＳＴ４７）。これにより、管理テーブルから消去されたエージェントＩＤに関するアドレス情報が消滅する。
【０１００】
そして、ステップ４６の処理に基づき、これを受けて次のエージェントシステムにおいても同様の処理が行われる。これにより、次々と消滅したエージェントに関するアドレスが記憶された各エージェントシステムの管理データからアドレス情報が消去される。
【０１０１】
【発明の効果】
以上のように、本発明では、例えば中間にファイアウォールなどが存在し直接メッセージの送信ができない場合でも、移動元とエージェントシステムの間、及び移動先とエージェントシステムの間でメッセージの交換ができるようになっていれば、本発明の転送機能を用いてメッセージの送信が可能となる。よって、ネットワークの内外を問わず移動中のエージェントに対して簡単かつ確実にメッセージを送ることができる。
【０１０２】
また、請求項２のように構成すると、移動元のエージェントシステムは、エージェントの移動先として、実際の移動先ではない本発明に係る中継するエージェントシステムのアドレスが教えられるので、そのエージェントに対するメッセージの送信が可能となる（本発明のエージェントシステムが中継するため）。
【０１０３】
さらに、請求項３のように構成すると、エージェントは少なくとも１つのエージェントシステムを経由して最終目的のエージェントシステムに移動する必要がある場合であっても、移動元のエージェントシステムに対して移動先アドレスを通知することにより、メッセージは直接送ることができる。これにより、複数のエージェントシステムを経由することがなく、迅速にメッセージを送ることができる。
【０１０４】
そして、請求項４のように構成すれば、エージェントが通過する際に自動的にそのエージェントについてのアドレス情報が生成されるので、操作者の労力が軽減される。
【０１０５】
さらに、請求項５のように構成すれば、消滅したエージェントに関するアドレス情報が消去されるので、効率のよい検索・転送処理が行える。また、記憶手段のメモリ容量も、アドレス情報が消去されることを考慮してさほど大きくしなくても済む。
【０１０６】
さらにまた、請求項６のように構成すれば、ファイアウォールの外に移動したエージェントがさらに移動したような場合でも、ファイアウォールは現在のエージェントが存在するエージェントシステムに対して直接メッセージ等を送ることができるので、効率がよい。
【図面の簡単な説明】
【図１】従来のシステム構成の一例を示す図である。
【図２】本発明が適用されるシステム構成の一例を示す図である。
【図３】イントラネット内に実装されるエージェントシステムの一例を示す図である。
【図４】そのエージェントシステム内のエージェントアドレス管理部内の管理テーブルのデータ構造を示す図である。
【図５】図４に示すエージェントシステムの機能を示すフローチャート（その１）である。
【図６】図４に示すエージェントシステムの機能を示すフローチャート（その２）である。
【図７】図４に示すエージェントシステムの機能を示すフローチャート（その３）である。
【図８】図４に示すエージェントシステムの機能を示すフローチャート（その４）である。
【図９】図４に示すエージェントシステムの機能を示すフローチャート（その５）である。
【図１０】ファイアウォール上に実装されるエージェントシステムの一例を示す図である。
【図１１】図１０に示すエージェントシステムの機能を示すフローチャート（その１）である。
【図１２】図１０に示すエージェントシステムの機能を示すフローチャート（その２）である。
【図１３】図１０に示すエージェントシステムの機能を示すフローチャート（その３）である。
【図１４】図１０に示すエージェントシステムの機能を示すフローチャート（その４）である。
【図１５】ファイアウォール外に存在するエージェントシステムの機能を示すフローチャート（その１）である。
【図１６】ファイアウォール外に存在するエージェントシステムの機能を示すフローチャート（その２）である。
【図１７】作用を説明する図である。
【図１８】別の実施の形態を説明する図である。
【図１９】さらに別の実施の形態を説明する図である。
【符号の説明】
１０，１１  イントラネット
１３  ファイアウォール
１５  通信回線
１８，１８ａ，１８ｂ，１８ｃ，１８ｄ，…  通信機器
１９，１９′，１９ａ，１９ｂ，１９ｃ，１９ｄ，…  エージェントシステム
２０，２０ａ，２０ｂ，２０ｃ  エージェント
２１，２１′  通信プロトコル
２２，２２′  エージェント管理部
２４，２４′  エージェントアドレス管理部
２５，２５′  通信プロトコル管理部
【図１】
0003697531.tif 000002
【図２】
0003697531.tif 000003
【図３】
0003697531.tif 000004
【図４】
0003697531.tif 000005
【図５】
0003697531.tif 000006
【図６】
0003697531.tif 000007
【図７】
0003697531.tif 000008
【図８】
0003697531.tif 000009
【図９】
0003697531.tif 000010
【図１０】
0003697531.tif 000011
【図１１】
0003697531.tif 000012
【図１２】
0003697531.tif 000013
【図１３】
0003697531.tif 000014
【図１４】
0003697531.tif 000015
【図１５】
0003697531.tif 000016
【図１６】
0003697531.tif 000017
【図１７】
0003697531.tif 000018
【図１８】
0003697531.tif 000019
【図１９】
0003697531.tif 000020