(57)【特許請求の範囲】
【請求項１】
伝送路で結ばれた複数のネットワーク装置を有するネットワークシステムであって、
始点となるネットワーク装置から終点となるネットワーク装置までの経路を検出するためにネットワーク装置間を移動するエージェントを生成するネットワーク管理システムを有し、
前記エージェントは、
ネットワーク装置に移動する毎に、前記始点となるネットワーク装置から移動先のネットワーク装置までの経路の空き容量を算出して保持する手段と、
ネットワーク装置に移動する毎に、移動先のネットワーク装置に前記空き容量が格納されている場合に、当該格納されている空き容量と、自エージェントが保持する空き容量とを比較する手段と、
前記比較の結果、当該保持する空き容量が当該格納されている空き容量よりも大きい場合に、移動先のネットワーク装置に格納されている空き容量を当該保持する空き容量に更新する手段と、
前記比較の結果、当該保持する空き容量が当該格納されている空き容量以下の場合に、自エージェントを消滅させる手段とを有すること
を特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記エージェントの前記更新する手段は、移動先のネットワーク装置の各出力用伝送路に接続した他のネットワーク装置に、自エージェントを、移動先のネットワーク装置の各出力用伝送路が複数ある場合には自エージェントを各出力用伝送路の数に複製して、移動させること
を特徴とするネットワークシステム。
【請求項３】
請求項１に記載のネットワークシステムであって、
前記エージェントは、ネットワーク装置上で自エージェントを複製して、ネットワーク装置間を移動するエージェントを生成する手段と、自エージェントが、その上で生成されたネットワーク装置もしくはネットワーク管理システムを一意に示す装置識別子を保持する手段と、自エージェントの処理を終了する場合に、保持した装置識別子が示すネットワーク装置もしくはネットワーク管理システムに終了を報告する手段とを有し、
前記ネットワーク装置は、自ネットワーク装置上で生成されたエージェントを一意に示すエージェント識別子と、当該生成されたエージェントを生成したエージェントが保持する装置識別子を記憶する手段と、記憶したエージェント識別子が示すエージェントの全てから、終了を報告された場合に、記憶した装置識別子が示すネットワーク装置もしくはネットワーク管理システムに終了を報告する手段を有し、
前記ネットワーク管理システムは、終了を報告された場合に、前記エージェントの処理の終了を提示する手段を有すること
を特徴とするネットワークシステム。
【請求項４】
請求項１に記載のネットワークシステムであって、
前記エージェントは、ネットワーク装置上で自エージェントを複製して、ネットワーク装置間を移動するエージェントを生成する手段と、自エージェントの識別子を複製元識別子として、生成したエージェントの識別子のリストと共に前記ネットワーク管理システムに通知する手段と、自エージェントの処理の終了を自エージェントの識別子と共に前記ネットワーク管理システムに報告する手段とを有し、
前記ネットワーク管理システムは、通知されたリストに識別子が含まれているエージェント各々について、当該エージェントの当該エージェントが生成された時点での全エージェント数に対する比率を示す割当率を、当該リストに含まれる識別子の数で当該リストと共に通知された複製元識別子のエージェントの割当率を割り算することにより求める手段と、現在までに処理の終了と共に報告された識別子を持つエージェント各々の割当率の総和を算出し、該総和を前記エージェントによる処理の進捗情報として提示する手段とを有すること
を特徴とするネットワークシステム。
【請求項５】
請求項１に記載のネットワークシステムであって、
前記エージェントは、自エージェントを複製したエージェントを生成する手段と、生成したエージェントの数を前記ネットワーク管理システムに報告する手段と、自エージェントの処理の終了を、前記ネットワーク管理システムに報告する手段とを有し、
前記ネットワーク管理システムは、前記エージェントから通知された、生成されたエージェントの数と、終了を報告したエージェントの数とを用いて、前記エージェントによる処理の進捗状況を算出し、提示する手段を有すること
を特徴とするネットワークシステム。
【請求項６】
伝送路で結ばれた複数のネットワーク装置およびネットワーク管理システムを有するネットワークシステムにおいて、始点となるネットワーク装置から終点となるネットワーク装置までの経路を検出するためにネットワーク装置間を移動する、前記ネットワーク管理システムが生成したエージェントを制御する、エージェントの制御方法であって、
前記エージェントは、
ネットワーク装置に移動する毎に、前記始点となるネットワーク装置から移動先のネットワーク装置までの経路の空き容量を算出して保持すると共に、移動先のネットワーク装置に前記空き容量が格納されている場合に、当該格納されている空き容量と、自エージェントが保持する空き容量とを比較し、前記比較の結果、当該保持する空き容量が当該格納されている空き容量よりも大きい場合に、移動先のネットワーク装置に格納されている空き容量を当該保持する空き容量に更新し、前記比較の結果、当該保持する空き容量が当該格納されている空き容量以下の場合に、消滅すること
を特徴とするエージェントの制御方法。
【請求項７】
請求項６に記載のエージェントの制御方法であって、
前記エージェントは、移動先のネットワーク装置に通信可能な複数の他のネットワーク装置が存在する場合に、当該移動先のネットワーク装置上で自エージェントを複製して、ネットワーク装置間を移動する新たなエージェントを生成し、自エージェントが、その上で生成されたネットワーク装置もしくはネットワーク管理システムを記憶し、自エージェントの処理を終了する場合に、記憶したネットワーク装置もしくはネットワーク管理システムに終了を報告し、
前記ネットワーク装置は、自ネットワーク装置上で生成されたエージェントと、当該生成されたエージェントを生成したエージェントが記憶していたネットワーク装置もしくはネットワーク管理システムを記憶し、記憶したエージェントの全てから、終了を報告された場合に、記憶したネットワーク装置もしくはネットワーク管理システムに終了を報告し、
前記ネットワーク管理システムは、終了を報告された場合に、前記エージェントの処理の終了を提示すること
を特徴とするエージェントの制御方法。
【請求項８】
請求項６に記載のエージェントの制御方法であって、
前記エージェントは、移動先のネットワーク装置に通信可能な複数の他のネットワーク装置が存在する場合に、当該ネットワーク装置上で自エージェントを複製して、ネットワーク装置間を移動する新たなエージェントを生成すると共に、行ったエージェントの生成の内容を前記ネットワーク管理システムに通知し、自エージェントの処理を終了する場合に、終了を前記ネットワーク管理システムに報告し、
前記ネットワーク管理システムは、通知されたエージェントの生成の内容と、前記終了の報告に基づいて、前記エージェントによる処理の進捗状況を判定し、提示すること
を特徴とするエージェントの制御方法。
【請求項９】
伝送路で結ばれた複数のネットワーク装置を有するネットワークシステムに接続したネットワーク管理システムに読み取られ実行されるプログラムを格納した記憶媒体であって、
前記プログラムは、前記ネットワーク管理システムに、始点となるネットワーク装置から終点となるネットワーク装置までの経路を検出するためにネットワーク装置間を移動するエージェントを生成するステップを実行させ、
前記エージェントは、移動先のネットワーク装置に通信可能な複数の他のネットワーク装置が存在する場合に、当該移動先のネットワーク装置上で自エージェントを複製して、ネットワーク装置間を移動する新たなエージェントを生成すると共に、ネットワーク装置に移動する毎に、前記始点となるネットワーク装置から移動先のネットワーク装置までの経路の空き容量を算出して保持すると共に、移動先のネットワーク装置に前記空き容量が格納されている場合に、当該格納されている空き容量と、自エージェントが保持する空き容量とを比較し、前記比較の結果、当該保持する空き容量が当該格納されている空き容量よりも大きい場合に、移動先のネットワーク装置に格納されている空き容量を当該保持する空き容量に更新し、前記比較の結果、当該保持する空き容量が当該格納されている空き容量以下の場合に、消滅すること
を特徴とする記憶媒体。
【請求項１０】
請求項９に記載の記憶媒体であって、
前記プログラムは、
前記ネットワーク装置にも、読み込まれて実行されるものであり、
前記ネットワーク管理システムに、終了を報告された場合に、前記エージェントの処理の終了を提示するステップをさらに実行させ、
前記ネットワーク装置に、自ネットワーク装置上で生成されたエージェントと、当該生成されたエージェントを生成したエージェントが記憶していたネットワーク装置もしくはネットワーク管理システムを記憶し、記憶したエージェントの全てから、終了を報告された場合に、記憶したネットワーク装置もしくはネットワーク管理システムに終了を報告するステップを実行させ、
前記少なくとも１つのエージェント各々は、自エージェントが、その上で生成されたネットワーク装置もしくはネットワーク管理システムを記憶し、自エージェントの処理を終了する場合に、記憶したネットワーク装置もしくはネットワーク管理システムに終了を報告すること
を特徴とする記憶媒体。
【請求項１１】
請求項９に記載の記憶媒体であって、
前記プログラムは、
前記ネットワーク管理システムに、通知されたエージェントの生成の内容と、終了の報告とに基づいて、前記エージェントによる処理の進捗状況を判定し、提示するステップとを実行させ、
前記エージェントは、自エージェントが行ったエージェントの生成の内容を前記ネットワーク管理システムに通知し、自エージェントの処理を終了する場合に、終了を前記ネットワーク管理システムに報告すること
を特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークシステムに関し、特に、ネットワークシステムを構成する通信装置間を移動しながら託された処理を実行するエージェントに関するものである。
【０００２】
【従来の技術】
ネットワークを構成する通信装置上を移動しながら処理を行うエージェントに関する技術としては、IEEE  Internet Computing, Volume 1, number 4, １９９７年７，８月号の２１頁から３０頁記載の技術が知られている。
【０００３】
この技術は、要求されたタスクに対して情報を所有する通信装置間を自律的に移動しながら、各通信装置の情報を収集し、その結果をタスクの依頼元に通知するエージェントに関するものであり、同じ処理を行う複数のエージェントを用いて、全体としてタスクの処理を行う方式を提案している。また、このような複数のエージェントを用いる方式として、エージェントの通信装置間の移動に関し、エージェントが自身を複製して次の移動先の通信装置に移動させる方式を提案している。
【０００４】
なお、エージェントが、自律的に移動の順番を決定する技術としては、IEEE Internet Computing,  Volume 1, number 4, １９９７年７，８月号の５３頁１段９行目から２段２０行目記載の技術などが知られている。
【０００５】
【発明が解決しようとする課題】
前記従来の技術によれば、通信装置の情報を収集する処理に要するネットワークの負荷の軽減や、処理の分散化を計ることができる。
【０００６】
しかしながら、こうしたエージェントは、一旦処理を開始すると処理の要求元を離れ自律的に処理を行うため、要求元が、処理の進捗状況などを把握することが難しい。特に、前述したエージェントが自身を複製しながら処理を行う場合には、要求元が直接処理を要求したエージェント以外のエージェントをも把握する必要があるため、処理の進捗状況などの把握は、より困難となる。
【０００７】
また、同じ処理を行う複数のエージェントを用いる技術によれば、各エージェントが求めた解を評価し最適解を求めるような場合、途中の段階で、最終的に最適な解を求めることができないことが明らかになったエージェントであっても、最後まで処理を行うため、本来不要な処理による負荷がネットワークにかかることになる。また、たとえば、各エージェントがネットワーク上の異なる経路をたどりながら経路に依存する解を求める処理を行う場合には、たどる経路が部分的に重なるエージェントが発生することがある。そして、このような場合には、当該部分的な経路についての同じ処理を複数のエージェントが行うことになるため、処理の重複が発生し、本来不要な処理による負荷がネットワークにかかることになる。
【０００８】
そこで、本発明は、複数のエージェントを用いて行っているタスクの進捗状況を、要求元に提示することを課題とする。また、さらに、複数のエージェントを用いる場合に生じる、ネットワークの負荷の軽減を図ることを課題とする。
【０００９】
【課題を解決するための手段】
たとえば、複数のエージェントを用いる場合に生じる、ネットワークの負荷を軽減するために、本発明は、伝送路で結ばれた複数のネットワーク装置を有するネットワークシステムであって、
始点となるネットワーク装置から終点となるネットワーク装置までの経路を検出するためにネットワーク装置間を移動するエージェントを生成するネットワーク管理システムを有し、
前記エージェントは、
ネットワーク装置に移動する毎に、前記始点となるネットワーク装置から移動先のネットワーク装置までの経路の空き容量を算出して保持する手段と、
ネットワーク装置に移動する毎に、移動先のネットワーク装置に前記空き容量が格納されている場合に、当該格納されている空き容量と、自エージェントが保持する空き容量とを比較する手段と、
前記比較の結果、当該保持する空き容量が当該格納されている空き容量よりも大きい場合に、移動先のネットワーク装置に格納されている空き容量を当該保持する空き容量に更新する手段と、
前記比較の結果、当該保持する空き容量が当該格納されている空き容量以下の場合に、自エージェントを消滅させる手段とを有する。
【００１０】
たとえば、このネットワークシステムによれば、各エージェントがネットワーク装置上に移動した時に、そのエージェントがそれまで算出した特性量と、既にそのネットワーク装置を訪れた他のエージェントがそのネットワーク装置に移動するまでに算出した特性量を比較し、これが所定の関係にない場合には、今回移動してきたエージェントを消滅させることができる。従って、所定の関係を適切に設定することにより、そのネットワーク装置に至った段階で、最終的に最適な解を求めることができないことがネットワーク装置に至るまでに他のエージェントが求めた特性量との関係で明らかになったエージェントの処理が行われないようにし、ネットワークシステムの負荷を軽減することが可能となる。
【００１１】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００１２】
まず、第１の実施形態について説明する。
【００１３】
図１に、本実施形態に係るネットワークシステム全体の構成を示す。
【００１４】
図示するように、ネットワーク管理システム１０と、複数のネットワーク装置２０とが伝送路によって接続されてネットワークシステムを構成している。ここで、ネットワーク装置２０は、たとえば、データを中継するルータなどの中継装置である。
【００１５】
ここで、通常、ネットワークシステムでは、２つのネットワーク装置間の経路が複数存在し、通常、この複数の経路のうちの一つを現用の経路として用いる。また、複数の経路のうち一つの経路を、現用の経路に障害が生じた場合に用いる保護経路として予め定めておくのが一般的である。ここで、保護経路としては、通常、現用の経路を除く２つのネットワーク装置間の複数の経路のうちから、所定の条件に最も適合する経路が選択される。
【００１６】
図１では、ネットワーク装置ａ１０１とネットワーク装置ｂ１０２との間の経路のうち、経路１０３を現用経路として用い、他の経路１０４の中の一つがネットワーク装置ａ１０１とネットワーク装置ｂ１０２との間の保護経路として選択される。
【００１７】
次に、図２に、ネットワーク管理システム１０、ネットワーク装置２０の構成を示す。
【００１８】
図示するように、ネットワーク管理システム１０は、伝送路を介した通信の制御を行う通信制御装置１１、各種プログラムを格納したプログラムメモリ１３、プログラムを実行するＣＰＵ１４、各種プログラムの処理やエージェントの作業領域などとして用いられるワークメモリ１２、および、キーボード１５やマウス１６やディスプレイ装置（ＣＲＴ）１７の入出力を制御する入出力制御部１８を備えて構成される。
【００１９】
また、プログラムメモリ１３には、経路転送量計算プログラム１３７と、移動プログラム制御プログラム１３３と、転送処理プログラム１３８とが格納される。
【００２０】
ＣＰＵ１４での移動プログラム制御プログラム１３３の実行によって、ネットワーク管理システム１０上に、代替経路検索の実行要求を受けて経路転送量計算プログラム１３７によって規定されるエージェントを生成し、この生成したエージェントに初期情報を設定する生成制御処理部１３１と、エージェントから報告された結果をユーザに通知する代替経路表示処理部１３２とがプロセスとして形成される。
【００２１】
また、経路転送量計算プログラム１３７によって規定されるエージェントは、検索起動処理部１３４と、検索実行処理部１３５と、分岐制御処理部１３６とを、エージェントが稼働しているネットワーク管理システム１０またはネットワーク装置２０上にプロセスとして形成される。
【００２２】
次にネットワーク装置２０は、伝送路を介した通信の制御を行う通信制御装置２１、各種プログラムを格納したプログラムメモリ２６、プログラムを実行するＣＰＵ２７、および、プログラムの処理やエージェントの作業領域などとして用いられるワークメモリ２２を備えている。また、図示は省略したが、ネットワーク装置２０は、ネットワーク装置２０本来の処理であるデータの中継処理を行うために必要な構成を備えている。
【００２３】
また、プログラムメモリ２６には、転送処理プログラム２３、転送量格納プログラム２４、および、管理情報収集プログラム２５が格納される。ＣＰＵ２７は、これらのプログラムを実行することにより、各プログラムに記述された処理を行うプロセスをネットワーク装置２０上に形成する。
【００２４】
ネットワーク管理システム１０の転送処理プログラム１３８とネットワーク装置２０の転送処理プログラム２３とは、エージェントがネットワークシステム上を移動しながら処理を行う環境を提供する。
【００２５】
ここで、本実施形態は、エージェントを用いて、前述した保護経路を決定するための情報をネットワーク管理システム１０に収集するものである。本実施形態において、起動されたエージェントは、指定した２つのネットワーク装置２０間を結ぶ各経路の、空き容量、すなわち、現在使用されていないために将来その経路を現用経路とした場合に使用可能な容量を検索する。そして、ネットワーク管理システム１０において、空き容量が最も大きい経路を、保護経路として選択する。
【００２６】
以下、このようなネットワークシステムの動作について説明する。
【００２７】
図３に、ネットワーク管理システム１０上で行われる処理を示す。
【００２８】
図示するように、まず、ネットワーク管理システム１０上で、たとえばユーザからの入力などにより、ネットワーク管理情報表示要求が発生されると、生成制御処理部１３１は、ネットワーク管理システム１０上に経路転送量計算プログラム１３７に規定されるエージェントを生成する（ステップ３０１）。
【００２９】
ここで、生成されたエージェントは、図４に示す内部データ４０１を保持する。
【００３０】
この内部データは、当該エージェントが生成される起因となったネットワーク管理情報表示要求の識別子であるワーク識別子４１１と、エージェントが生成された時間を表す起動時間４１２と、当該エージェントの識別子であるプログラム識別子４１３とを含む識別情報４１０を持つ。
【００３１】
また、空き容量を検索する経路の始点となるネットワーク装置２０の識別子である検索始点装置識別子４２１、終点となるネットワーク装置２０の識別子である終点装置識別子４２２と、空き容量を求める対象とする経路を、経路上のネットワーク装置の数によって限定するための最大検索ノード数４２３と、求まる空き容量によって限定するための最低転送許容量４２４とを含む制約条件情報４２０を持つ。
【００３２】
また、当該エージェントが移動してきた経路を表す検索経路４３１と、現在までに当該エージェントが移動してきた経路の空き容量を表す経路の空き容量４３２とを含む処理結果情報４３０を持つ。
【００３３】
図３に戻り、生成制御処理部１３１は、エージェントの内部データのうち、ワーク識別子４１１、検索始点装置識別子４２１、検索終点装置識別子４２２、最大検索ノード数４２３、および、最低転送許容量４２４を、生成したエージェントに設定する（ステップ３０２）。
【００３４】
ただし、検索始点装置識別子４２１、検索終点装置識別子４２２、最大検索ノード数４２３、および、最低転送許容量４２４は、ネットワーク管理情報表示要求と共にユーザから指定された値を設定し、その他の値は、生成制御処理部１３１が自動的に生成し設定する。ただし、検索始点装置識別子４２１、検索終点装置識別子４２２以外の値は、予め定めたディフォルト値を設定するようにしてもよい。また、ネットワーク管理情報表示要求を、たとえば、ネットワーク装置２０から通知された障害情報や代替経路変更要求に応答して発生させるような場合には、検索始点装置識別子４２１、検索終点装置識別子４２２は、通知された障害情報や代替経路変更要求から、その間の新たな経路を求める必要のある２つのネットワーク装置２０を自動的に算出し、算出した始終点のネットワーク装置２０の識別子を設定するようにしてもよい。
【００３５】
なお、ユーザからのワーク識別子４１１、検索始点装置識別子４２１、検索終点装置識別子４２２、最大検索ノード数４２３、最低転送許容量４２４の受け付けは、ＣＲＴ１７に表示した図５に示す受け付けウインドウを介して行うようにしてもよい。
【００３６】
図５の受け付けウインドウでは、検索始点装置識別子４２１（始点５０１）と、検索終点装置識別子４２２（終点５０２）と、最大検索ノード数４２３（最大検索数５０２）と、最低転送許容量４２４（終了条件５０３）とを設定することができる。
【００３７】
図３に戻り、内部データが設定されたエージェントは、検索始点装置識別子４２１で示されるネットワーク装置２０に移動する。
【００３８】
検索始点装置識別子４２１で示されるネットワーク装置２０に移動したエージェント、及び、検索始点装置識別子４２１で示されるネットワーク装置２０に移動した後に行われる移動によって他のネットワーク装置２０に移動したエージェントは、滞在中のネットワーク装置上で、以下の処理を行う。
【００３９】
すなわち、まず、検索起動処理部１３４が、図６に示すように、内部データのワーク識別子４１１と起動時間４１２とに対応する空き容量ログデータが存在するか否かを、ネットワーク装置２０の転送量格納プログラム２４のプロセスに問い合わせる（ステップ６０１）。
【００４０】
ここで、図７に示すように、空き容量ログデータ７０１は、検索ワーク識別子７０２、起動時間識別子７０３および最大転送可能容量７０４よりなる。
【００４１】
この空き容量ログデータ７０１の最大転送可能容量７０４は、当該空き容量ログデータ７０１を保持するネットワーク装置に現在までに訪れた、内部データのワーク識別子４１１と起動時間４１２とが等しい各エージェントが求めた、各エージェントの内部データの検索始点装置識別子４２１が示すネットワーク装置から、当該空き容量ログデータ７０１を保持するネットワーク装置までの経路の空き容量のうち最大のものを表す。
【００４２】
たとえば、図８に示すように、ネットワーク装置ａ１０１とネットワーク装置ｃ８０１との間の２つの経路を移動する、同一のネットワーク管理情報表示要求に基づく（したがって、ワーク識別子４１１、起動時間４１２が等しい）エージェント８０２、８０３が存在する場合に、エージェント８０３がネットワーク装置ｃ８０１上に最初にたどり着いたとすると、この時点で、このエージェント８０２のワーク識別子４１１、起動時間４１２に対応する空き容量ログデータは、ネットワーク装置ｃ８０１上に存在しない。ここで、ワーク識別子４１１、起動時間４１２に対応する空き容量ログデータとは、ワーク識別子４１１、起動時間４１２と等しいワーク識別子７０２、起動時間識別子７０３を持つ空き容量ログデータを指す。
【００４３】
このような場合、転送量格納プログラム２４のプロセスは、検索起動処理部１３４の問い合わせの応答として空き容量ログデータが存在しない旨を応答する。
【００４４】
図６に戻り、この応答を受けた検索起動処理部１３４は、それまでに求めた経路の空き容量４３２、ワーク識別子４１１、起動時間４１２の登録を、転送量格納プログラム２４のプロセスに要求する（ステップ６０３）。要求を受けた転送量格納プログラム２４のプロセスは、ワーク識別子４１１をワーク識別子７０２として、起動時間４１２を起動時間識別子７０３として、経路の空き容量４３２を最大転送可能容量７０４とした空き容量ログデータ８０５を作成し保持する。
【００４５】
このため、図８において、エージェント８０３の後にエージェント８０２がネットワーク装置ｃ８０１に辿りついた時点では、ネットワーク装置ｃ８０１上には、エージェント８０３によって登録された、エージェント８０２のワーク識別子４１１、起動時間４１２に対応する空き容量ログデータが存在する。
【００４６】
この場合、転送量格納プログラム２４のプロセスは、検索起動処理部１３４の問い合わせの応答として、検索起動処理部１３４から受け取ったワーク識別子４１１、起動時間４１２に対応する空き容量ログデータを渡す。
【００４７】
図６に戻り、転送量格納プログラム２４のプロセスから空き容量ログデータを受け取った検索起動処理部１３４は、内部データ中の経路の空き容量４３２と、空き容量ログデータ中の最大転送可能容量７０４とを比較し（ステップ６０４）、経路の空き容量４３２の方が小さい場合には、処理を終了し、自エージェントを消滅させる（ステップ６０５）。
【００４８】
一方、最大転送可能容量７０４の方が小さい場合には、検索起動処理部１３４は、最大転送可能容量７０４を、経路の空き容量４３２の値に変更するよう転送量格納プログラム２４のプロセスに要求する（ステップ６０６）。この要求を受けた転送量格納プログラム２４のプロセスは、要求に従って、検索起動処理部１３４から受け取ったワーク識別子４１１、起動時間４１２に対応する空き容量ログデータの最大転送可能容量７０４を変更する。
【００４９】
なお、以上の処理では、同一のネットワーク管理情報表示要求に基づくエージェントであるかどうかを、ワーク識別子４１１と起動時間４１２の双方より判定している。これによって、異なる時間に発生したネットワーク管理情報表示要求に対して、同じワーク識別子４１１を用いることが許容される。
【００５０】
さて、次に、検索起動処理部１３４は、滞在しているネットワーク装置２０が、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０であるかどうかを判定する（ステップ６０７）。
【００５１】
そして、もし、検索終点装置識別子４２２で示されるネットワーク装置２０であれば、経路の終点まで空き容量を求めてきたことになるので、自エージェントをネットワーク管理システムに移動させる（ステップ６１３）。ネットワーク管理システム１０に移動した、エージェントは、ネットワーク管理システム１０の代替経路表示処理部１３２に、内部データを引き渡し、自エージェントを消滅させる。
【００５２】
一方、検索終点装置識別子４２２で示されるネットワーク装置２０でなければ、そのネットワーク装置２０からデータの出力が行われる伝送路を検索し、その伝送路に接続し、通信が可能な他のネットワーク装置２０が存在するかどうかを調べる（ステップ６０８）。
【００５３】
そして、もし存在しなければ、検索終点装置識別子４２２で示されるネットワーク装置２０までの経路を移動できないため、処理を中止し、自エージェントを消滅させる（ステップ６０５）。
【００５４】
一方、存在する場合には、内部データの最大検索ノード数４２３を一つ減少させ（ステップ６０９）、その値が１であるかを判断する（ステップ６１０）。
【００５５】
そして、最大検索ノード数４２３が１である場合は、ステップ６０８で調べた他のネットワーク装置２０の中に検索終点装置識別子４２２で示されるネットワーク装置２０がないかどうかを調べる（ステップ６１１）。
【００５６】
そして、検索終点装置識別子４２２で示されるネットワーク装置２０が存在しない場合には、検索終点装置識別子４２２で示されるネットワーク装置２０に辿りつくまでに、最大検索ノード数４２３で規定された経路上のネットワーク装置の数を満足できなくなることが明らかであるので、処理を中止し、自エージェントを消滅させる（ステップ６０５）。
【００５７】
一方、検索終点装置識別子４２２で示されるネットワーク装置２０が存在する場合、分岐制御処理部１３６に処理の実行を要求し（ステップ６１２）、処理を終了する。
【００５８】
また、ステップ６１０で最大検索ノード数が２以上であると判定された場合にも、分岐制御処理部１３６に処理の実行を要求し（ステップ６１２）、処理を終了する。
【００５９】
以上、検索起動処理部１３４の行う処理について説明した。
【００６０】
次に、図９を用いて検索起動処理部１３４から処理の実行を要求された分岐制御処理部１３６の行う処理を説明する。
【００６１】
処理の実行を要求された分岐制御処理部１３６は、まず滞在中のネットワーク装置２０からデータの出力が行われる伝送路に接続し、通信が可能な他のネットワーク装置の中に、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０が存在しないか否かを判定する（ステップ１００１）。
【００６２】
そして、もし存在する場合には、検索実行処理部１３５に処理の実行を要求し（ステップ１０１１）、検索実行処理部１３５の処理が終了したならば、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０に自エージェントを移動させる（ステップ１００２）。
【００６３】
一方、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０が存在しない場合には、通信が可能な他のネットワーク装置２０が複数存在するかを判定する（ステップ１００４）。
【００６４】
そして、一つしか存在しない場合には、検索実行処理部１３５に処理の実行を要求し（ステップ１０１０）、検索実行処理部１３５の処理が終了したならば、当該他のネットワーク装置２０に自エージェントを移動させる（ステップ１００７）。
【００６５】
一方、通信が可能な複数の他のネットワーク装置が存在する場合には、自エージェントを複製し、各々通信が可能な他のネットワーク装置２０に１対１に対応するエージェントを生成する（ステップ１００５）。なお、エージェントの複製に際しては、内部データも複製するが、プログラム識別子のみは各エージェントについて異なる値となるように変更する（ステップ１００６）。なお、プログラム識別子としては、階層的に複製の親子関係を表現できる値を用いる。たとえば、複製元のエージェントのプログラム識別子が“１”であれば、複製されたエージェントのプログラム識別子は“１．１”，“１．２”，“１．３”・・のように複製元のプログラム識別子に対して新たに識別子を追加するようにする。
【００６６】
次に、分岐制御処理部１３６は、複製して生成した各エージェントの検索実行処理部１３５の処理の実行を要求する（ステップ１０１０）。
【００６７】
そして、分岐制御処理部１３６の処理が終了したエージェントを対応するネットワーク装置に移動させる（ステップ１００７）。この場合、複製元のエージェントは、複製先のエージェントが全て移動したならば、自身を消滅させる。
【００６８】
以上、分岐制御処理部１３６の処理について説明した。
【００６９】
次に、図１０を用いて、分岐制御処理部１３６から処理の実行を要求された検索実行処理部１３５が行う処理について説明する。
【００７０】
図１０に示すように、処理の実行を要求された検索実行処理部１３５は、まず、滞在中のネットワーク装置２０の管理情報収集プログラム２５のプロセスから転送量情報を収集し、自エージェントが他のネットワーク装置への移動に用いることになる伝送路の空き容量を算出する（９０１）。ここで、ネットワーク装置２０上の管理情報収集プログラム２５は、ネットワーク装置２０からデータを出力する各伝送路の伝送容量や、伝送容量のうち実際に使用されている使用容量や、伝送容量のうち実際に使用されていない空き容量を転送量情報として管理している。
【００７１】
そして、検索実行処理部１３５は、算出した自エージェントが移動に用いる伝送路の空き容量と、内部データの経路の空き容量４３２とを比較し、小さいほうを、内部データの経路の空き容量４３２に格納する（ステップ９０２）。
【００７２】
また、この内部データに格納した経路の空き容量４３２と、内部データの最低許容転送量４２４とを比較する（ステップ９０３）。
【００７３】
そして、最低許容転送量４２４の方が大きければ、最終的に最低許容転送量４２４より大きな経路の空き容量を求めることができないことが明らかであるので、処理を終了し、自エージェントを消滅させる（ステップ９０４）。
【００７４】
一方、最低許容転送量４２４の方が小さければ、内部データの検索経路４３１に次に移動するネットワーク装置の識別子を加え（ステップ９０５）、処理を終了し、分岐制御処理部１３６の処理に戻る。
【００７５】
以上、検索実行処理部１３５の処理について説明した。
【００７６】
さて、図３に戻り、ネットワーク管理システム１０の代替経路表示処理部１３２は、ネットワーク管理システム１０に戻ってきたエージェントから内部データを引き渡されると、これを解析した情報を、ＣＲＴ１７を介してユーザに表示する（ステップ３０６）。
【００７７】
この表示は、たとえば、図１１に示す監視画面１１０１をＣＲＴ１７上に形成することにより行う。
【００７８】
この画面のウインドウ１１０２では、ネットワーク管理システム１０に戻ってきた各エージェントから引き渡された内部データ中の検索経路４３１をネットワークシステムをモデル化した図中に、経路の空き容量４３２の小さなものから、順に赤１１０３、青１１０４、緑１１０５といったように色を変えて表示する。また、ウインドウ１１０６では、各エージェントから引き渡された内部データ中の検索経路４３１を一覧表示する。この一覧表示では、経路の空き容量４３２の多い順に検索経路４３１を並べる。そして、検索経路４３１の内、現用経路については色調を反転した表示１１０７により表示する。また、代替経路表示処理部１３２は、各エージェントから引き渡された内部データの検索経路４３１のうち、相互に独立な経路（経路が部分的にも重複しない経路）を表しているものについては、これら検索経路４３１に対応する経路の空き容量４３２の値の合計を、ウインドウ１１０６の１１０８に示すように一覧表示に加える。
【００７９】
なお、代替経路表示処理部１３２は、新たにエージェントから内部データを引き渡される度に、引き渡された内部データに応じて表示を更新する。
【００８０】
以上、本発明の第１の実施形態について説明した。
【００８１】
このように、第１実施形態によれば、ネットワーク装置に移動してきたエージェントが、既に当該ネットワーク装置から移動していった他のエージェントより大きな空き容量を算出できるかどうかを、当該ネットワーク装置に至るまでに求めた空き容量から判定し、他のエージェントより大きな空き容量を算出できない場合には、移動してきたエージェントを強制的に消滅させる。したがって、従来発生していた本来不要な処理によるネットワークシステムの負荷を軽減することができる。
【００８２】
以下、本発明の第２の実施形態について説明する。
【００８３】
図１２に、本第２実施形態に係るネットワーク管理システム１０と、ネットワーク装置２０の構成を示す。
【００８４】
図示するように、本第２実施形態に係るネットワーク管理システム１０の構成は、前記第１実施形態に係るネットワーク管理システム１０（図２参照）の移動プログラム制御プログラム１３３が、ＣＰＵ１４の移動プログラム制御プログラム１３３の実行によって、さらに終了受信処理部１３９をプロセスとして、ネットワーク管理システム１０上に形成するプログラムに修正された構成を有している。
【００８５】
また、本第２実施形態に係るネットワーク装置２０の構成は、前記第１実施形態に係るネットワーク装置（図２参照）の、プログラムメモリ２６に、さらに通知処理プログラム４０を格納した構成となっている。
【００８６】
以下、本第２実施形態に係るネットワークシステムの動作について説明する。
【００８７】
前記第１実施形態と同様に、ネットワーク管理情報表示要求が発生されると、生成制御処理部１３１は、ネットワーク管理システム１０上に経路転送量計算プログラム１３７に規定されるエージェントを生成する。
【００８８】
ここで、生成されたエージェントは、図１３に示す内部データ４０１を保持する。
【００８９】
図１３に示すように、本第２実施形態に係るエージェントの内部データは、前記第１実施形態に係るエージェントの内部データに、終了通知先情報４４０として終了通知先装置４４１が追加された構成となっている。
【００９０】
生成制御処理部１３１は、エージェントの内部データのうち、ワーク識別子４１１、検索始点装置識別子４２１、検索終点装置識別子４２２、最大検索ノード数４２３、および、最低転送許容量４２４を、生成したエージェントに設定する。また、終了通知先装置４４１に、自ネットワーク管理システム１０の識別子を設定する。
【００９１】
内部データが設定されたエージェントは、検索始点装置識別子４２１で示されるネットワーク装置２０に移動する。一方、生成制御処理部１３１は、終了受信処理部３０に処理の実行を要求する。
【００９２】
検索始点装置識別子４２１で示されるネットワーク装置２０に移動したエージェント、及び、検索始点装置識別子４２１で示されるネットワーク装置２０に移動した後に行われる移動によって他のネットワーク装置２０に移動したエージェントは、滞在中のネットワーク装置上で、第１実施形態で示した検索起動処理部１３４の処理（図６参照）を行う。ただし、ステップ６０５では、内部データの終了通知先装置４４１に、処理の終了を、プログラム識別子４１３、起動時間４１２およびワーク識別子４１１と共に報告した後に、処理を終了し、自エージェントを消滅させる。また、ステップ６１３では、内部データの終了通知先装置４４１に、処理の終了を、プログラム識別子４１３、起動時間４１２およびワーク識別子４１１と共に報告した後に、自エージェントをネットワーク管理システム１０に移動させる。
【００９３】
以下、図１４を用いて、この検索起動処理部１３４から処理の実行を要求された、本第２実施形態に係る分岐制御処理部１３６の動作について説明する。
【００９４】
図示するように、検索起動処理部１３４から処理の実行を要求された分岐制御処理部１３６は、まず滞在中のネットワーク装置２０からデータの出力が行われる伝送路に接続し、通信が可能な他のネットワーク装置の中に、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０が存在するか否かを判定する（ステップ１００１）。
【００９５】
そして、もし存在する場合には、検索実行処理部１３５に処理の実行を要求し（ステップ１０１１）、検索実行処理部１３５の処理が終了したならば、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０に自エージェントを移動させる（ステップ１００２）。
【００９６】
一方、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０が存在しない場合には、通信が可能な他のネットワーク装置２０が複数存在するか否かを判定する（ステップ１００４）。
【００９７】
そして、一つしか存在しない場合には、検索実行処理部１３５に処理の実行を要求し（ステップ１０１０）、検索実行処理部１３５の処理が終了したならば、当該他のネットワーク装置２０に自エージェントを移動させる（ステップ１００７）。
【００９８】
一方、通信が可能な複数の他のネットワーク装置が存在する場合には、自エージェントを複製し、各々通信が可能な他のネットワーク装置２０に１対１に対応するエージェントを生成する（ステップ１００５）。この時、エージェントの複製に際しては、内部データも複製する。ただし、前記第１実施形態と同様にプログラム識別子のみは各エージェントについて異なる値となるように変更する（ステップ１００６）。
【００９９】
そして、次に、滞在しているネットワーク装置２０の通知処理プログラム４０のプロセスに、自エージェントの内部データのワーク識別子４１１、プログラム識別子４１３、起動時間４１２、終了通知先装置４４１と、複製したエージェントに設定したプログラム識別子４１３の一覧とを通知する（ステップ１４０１）。
【０１００】
一方、通知処理プログラムのプロセスは、分岐制御処理部１３６から通知を受け取る度に、図１５に示すような通知情報テーブルを作成する。通知処理プログラムのプロセスは、通知されたワーク識別子４１１、プログラム識別子４１３、起動時間４１２、終了通知先装置４４１と、複製して生成したエージェントに設定したプログラム識別子４１３の一覧とを、通知情報テーブル１５０１のワーク識別子１５０２、プログラム識別子１５０３、起動時間１５１０、通知先装置１５０４、複製プログラム識別子リスト１５０５として登録する。また、通知情報テーブルは、処理済リスト１５０６を有する。
【０１０１】
図１４に戻り、分岐制御処理部１３６は、複製して生成した各エージェントの内部データの終了通知先装置４４１を滞在しているネットワーク装置の識別子に変更する（ステップ１４０２）。
【０１０２】
そして、自エージェントのプログラム識別子４１２が表す複製の親子関係より、自身があるエージェントから複製されて生成されたエージェントであるかどうかを判断し（ステップ１４０３）、複製されたものでない場合、自エージェントが最初にネットワーク管理システム１０によって生成されたエージェントであることを意味している。この場合、内部データの終了通知先装置４４１が示す装置（この場合はネットワーク管理システム１０）に、滞在しているネットワーク装置２０の識別子をワーク識別子４１１と起動時間４１２と共に報告する（ステップ１４０４）。
【０１０３】
この報告を行った場合、および、自身が他のエージェントから複製されて生成されたエージェントである場合、分岐制御処理部１３６は、複製して生成した各エージェントの検索実行処理部１３４の処理の実行を要求する（ステップ１０１０）。
【０１０４】
そして、制御処理部１３６の処理が終了したエージェントを対応するネットワーク装置に移動させる（ステップ１００６）。この場合、複製元のエージェントは、複製先のエージェントが全て移動したならば、自身を消滅させる。
【０１０５】
以上、分岐制御処理部１３６の処理について説明した。
【０１０６】
次に、分岐制御処理部１３６から処理の実行を要求された検索実行処理部１３５について説明する。
【０１０７】
検索実行処理部１３５の動作は、前記第１実施形態における動作（図１０参照）と同様である。ただし、ステップ９０４では、内部データの終了通知先装置４４１（この場合、自エージェントが滞在しているネットワーク装置）に、処理の終了を、プログラム識別子４１３、起動時間４１２、ワーク識別子４１１と共に、報告した後に、処理を終了し、自エージェントを消滅させる。
【０１０８】
次に、図１６を用いて通知処理プログラム４０のプロセスが行う動作について説明する。
【０１０９】
図示するように、通知処理プログラム４０のプロセスは、エージェントから通知があると（ステップ１７０１）、通知されたワーク識別子４１１、プログラム識別子４１３、起動時間４１２に対応する、ワーク識別子１５０２、プログラム識別子１５０３、起動時間１５１０を持つ通知情報テーブルが既に存在するかどうかを調べ（ステップ１７０２）、存在しない場合には、前述したように、通知されたワーク識別子４１１、プログラム識別子４１３、起動時間４１２、終了通知先装置４４１と、複製して生成したエージェントに設定したプログラム識別子４１３の一覧とを、通知情報テーブル１５０１のワーク識別子１５０２、プログラム識別子１５０３、起動時間１５１０、通知先装置１５０４、複製プログラム識別子リスト１５０５として登録する（ステップ１７０３）。
【０１１０】
また、通知処理プログラム４０のプロセスは、自ネットワーク装置宛てに、エージェントから処理の終了が報告された場合には（ステップ１７０４）、報告と共に送られたに含まれるワーク識別子４１１、起動時間４１２に対応する、ワーク識別子１５０２、起動時間１５１０を持つ通知情報テーブルを求め、その通知情報テーブルの複製プログラム識別子リスト１５０５の中で、報告と共にエージェントより送られたプログラム識別子４１３が登録されたエントリに対応する、処理済みリスト１５０６のエントリに処理済み識別子を設定する（ステップ１７０５）。
【０１１１】
そして、その通知情報テーブルの複製プログラム識別子リスト１５０５の全てのエントリに対応する、処理済みリスト１５０６のエントリ全てに処理済み識別子が設定されたならば（ステップ１７０６）、通知情報テーブルの通知先装置１５０４が示すネットワーク装置２０もしくはネットワーク管理システム１０に、処理の報告を、ワーク識別子１５０２、プログラム識別子１５０３、起動時間１５１０と共に報告し（ステップ１７０７）、その通知情報テーブルを削除し（ステップ１７０８）、処理を終了する。
【０１１２】
一方、もし、ステップ１７０２において、エージェントから通知されたワーク識別子４１１、プログラム識別子４１３、起動時間４１２に対応する、ワーク識別子１５０２、プログラム識別子１５０３、起動時間１５１０を持つ通知情報テーブルが既に存在すると判定された場合には、既に存在する通知情報テーブルの通知先装置１５０４が示すネットワーク装置２０もしくはネットワーク管理システム１０に、処理の報告を、ワーク識別子１５０２、プログラム識別子１５０３、起動時間１５１０と共に報告し（ステップ１７０９）、その通知情報テーブルを削除し、今回のエージェントから通知に基づく新たな通知情報テーブルを作成する（ステップ１７１０）。
【０１１３】
以上、通知処理プログラム４０のプロセスが行う処理について説明した。
【０１１４】
以上の処理の結果、たとえば、図１７に示すように、ネットワーク装置ｃ８０１で分岐している場合、ネットワーク装置ｃ８０１上で２つのエージェント１６０１，１６０２が通知処理プログラム１６０６のプロセスによって生成され、ネットワーク装置ｃ８０１上に通知情報テーブル１６０３が作成される。
【０１１５】
その後、生成されたエージェント１６０１，１６０２は、自エージェントを消滅させるときに、終了の報告１６０４、１６０５を、自エージェントが、その上で生成されたネットワーク装置ｃ８０１に送る。また、検索の終端の装置である装置ｂ１０２に到達したエージェント１６０２も終了通知１６０５を送る。自ネットワーク装置ｃ８０１上で生成された全てのエージェント１６０１，１６０２から終了の報告があると、通知処理プログラム４０のプロセス１６０６は、このエージェント１６０１，１６０２の生成に際し複製元となったエージェントについての終了の報告を、この複製元となったエージェントがその上で生成されたネットワーク装置ｄ１６０８に送る。
【０１１６】
図１８に示すように、ネットワーク装置ｄ１６０８でも同様な処理が行われ、自ネットワーク装置ｄ１６０８上で生成された全てのエージェント１８０２他に対する終了の報告があると、通知処理プログラム４０のプロセス１８０１は、これらのエージェント１８０２他の生成に際し複製元となったエージェントについての終了の報告１８０５を、この複製元となったエージェントがその上で生成されたネットワーク装置ａ１０１に送る。
【０１１７】
ネットワーク装置ａ１０１でも同様な処理が行われ、最終的に、最初にネットワーク管理システム１０上で生成されたエージェントの終了が、ネットワーク装置ａ１０１からネットワーク管理システム１０に報告される。
【０１１８】
さて、ネットワーク管理システム１０の終了受信処理部３０は、終了の報告を受信するとユーザに処理が終了したことを伝える。
【０１１９】
また、終了受信処理部３０は、ユーザの要求などに応じて、分岐制御処理部１３６の図１４のステップ１４０４でネットワーク管理システム１０に通知されたネットワーク識別子が示すネットワーク管理装置２０に要求することにより、報告と共に送られたワーク識別子４１１と起動時間４１２とに対応する、そのネットワーク管理装置２０上の通知情報テーブルの複製プログラム識別子リスト１５０５に登録されているプログラム識別子の数と、処理済みリスト１５０６に登録されている処理済み識別子の数の転送を、そのネットワーク管理装置２０より受け、識別子リスト１５０５に登録されているプログラム識別子の数に対する、処理済みリスト１５０６に登録されている処理済み識別子の数の割合を、ユーザに伝えることにより、おおまかな処理の進捗状況を提示する。
【０１２０】
以上のように、本第２実施形態によれば、処理の終了と、おおまかな処理の進捗状況をユーザに提示することができる。
【０１２１】
以上、本発明の第２の実施形態について説明した。
【０１２２】
以下、本発明の第３の実施形態について説明する。
【０１２３】
図１９に、本第３実施形態に係るネットワーク管理システム１０と、ネットワーク装置２０の構成を示す。
【０１２４】
図示するように、本第２実施形態に係るネットワーク管理システム１０の構成は、前記第１実施形態に係るネットワーク管理システム１０（図２参照）の移動プログラム制御プログラム１３３が、ＣＰＵ１４の移動プログラム制御プログラム１３３の実行によって、さらに処理状況表示処理部５０をプロセスとして、ネットワーク管理システム１０上に形成されるプログラムに修正された構成を有している。
【０１２５】
以下、本第３実施形態に係るネットワークシステムの動作について説明する。
【０１２６】
前記第１実施形態と同様に、ネットワーク管理情報表示要求が発生されると生成制御処理部１３１は、ネットワーク管理システム１０上に経路転送量計算プログラム１３３に規定されるエージェントを生成する。
【０１２７】
ここで、生成されたエージェントは、内部データとして、前記第１実施形態に係るエージェントの内部データにネットワーク管理システム１０の識別子が追加された情報を持つ。
【０１２８】
生成制御処理部１３１は、エージェントの内部データのうち、ワーク識別子４１１、検索始点装置識別子４２１、検索終点装置識別子４２２、最大検索ノード数４２３、最低転送許容量４２４、および、ネットワーク管理システムの識別子を、生成したエージェントに設定する。また、終了通知先装置４４１に、自ネットワーク管理システム１０の識別子を設定する。
【０１２９】
内部データが設定されたエージェントは、検索始点装置識別子４２１で示されるネットワーク装置２０に移動する。また、この際、生成制御処理部１３１は、処理状況表示処理部５０に処理の実行を要求する。
【０１３０】
検索始点装置識別子４２１で示されるネットワーク装置２０に移動したエージェント、及び、検索始点装置識別子４２１で示されるネットワーク装置２０に移動した後に行われる移動によって他のネットワーク装置２０に移動したエージェントは、滞在中のネットワーク装置上で、第１実施形態で示した検索起動処理部１３４の処理（図６参照）を行う。ただし、ステップ６０５では、内部データのネットワーク管理システムの識別子に基づいて、ネットワーク管理システム１０に処理の終了を、プログラム識別子４１３、起動時間４１２、ワーク識別子４１１と共に、報告した後に、処理を終了し、自エージェントを消滅させる。また、ステップ６１３では、ネットワーク管理システム１０に、処理の終了を、プログラム識別子４１３、起動時間４１２、ワーク識別子４１１と共に、報告した後に、自エージェントをネットワーク管理システム１０に移動させる。
【０１３１】
以下、図２０を用いて、この検索起動処理部１３４から処理の実行を要求された、本第３実施形態に係る分岐制御処理部１３６の動作について説明する。
【０１３２】
図示するように、検索起動処理部１３４から処理の実行を要求された分岐制御処理部１３６は、まず滞在中のネットワーク装置２０からデータの出力が行われる伝送路に接続し、通信が可能な他のネットワーク装置の中に、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０が存在するか否かを判定する（ステップ１００１）。
【０１３３】
そして、もし存在する場合には、検索実行処理部１３５に処理の実行を要求し（ステップ１０１１）、検索実行処理部１３５の処理が終了したならば、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０に自エージェントを移動させる（ステップ１００２）。
【０１３４】
一方、内部データの検索終点装置識別子４２２で示されるネットワーク装置２０が存在しない場合には、通信が可能な他のネットワーク装置２０が複数存在するか否かを判定する（ステップ１００４）。
【０１３５】
そして、一つしか存在しない場合には、検索実行処理部１３５に処理の実行を要求し（ステップ１０１０）、検索実行処理部１３５の処理が終了したならば、当該他のネットワーク装置２０に自エージェントを移動させる（ステップ１００７）。
【０１３６】
一方、通信が可能な複数の他のネットワーク装置が存在する場合には、自エージェントを複製し、各々通信が可能な他のネットワーク装置２０に１対１に対応するエージェントを生成する（ステップ１００５）。この時、エージェントの複製に際しては、内部データも複製する。ただし、前記第１実施形態と同様にプログラム識別子のみは各エージェントについて異なる値となるように変更する（ステップ１００６）。
【０１３７】
そして、次に、ネットワーク管理システム１０に、処理の終了を、プログラム識別子４１３、起動時間４１２、ワーク識別子４１１、自エージェントを複製して生成した各エージェントに設定したプログラム識別子のリストと共に報告する（ステップ２００１）。
【０１３８】
そして、分岐制御処理部１３６は、複製して生成した各エージェントの検索実行処理部１３４の処理の実行を要求する（ステップ１０１０）。
【０１３９】
そして、制御処理部１３６の処理が終了したエージェントを対応するネットワーク装置に移動させる（ステップ１００７）。この場合、複製元のエージェントは、複製先のエージェントが全て移動したならば、自身を消滅させる。
【０１４０】
以上、分岐制御処理部１３６の処理について説明した。
【０１４１】
次に、分岐制御処理部１３６から処理の実行を要求された検索実行処理部１３４について説明する。
【０１４２】
検索実行処理部１３４の動作は、前記第１実施形態における動作（図１０参照）と同様である。ただし、ステップ９０４では、ネットワーク管理システム１０に、処理の終了を、プログラム識別子４１３、起動時間４１２、ワーク識別子４１１と共に、報告した後に、処理を終了し、自エージェントを消滅させる。
【０１４３】
以下、ネットワークシステム１０の処理状況表示処理部５０の動作を説明する。
【０１４４】
図２１に示すような、ユーザからのワーク識別子４１１、検索始点装置識別子４２１、検索終点装置識別子４２２、最大検索ノード数４２３、最低転送許容量４２４を受け付けるために用いたウインドウ（図５参照）に、処理の進捗状況の表示方法を選択する項目２１０２、２１０３を追加したウインドウ２１０１でユーザより選択された進捗状況の表示方法に応じて、処理進捗状況を表示する処理を行う。
【０１４５】
本第３実施形態では、ユーザが、進捗状況の表示方法として、進捗等分表示２１０２と、生成／終了率表示２１０３の２種類を選択可能としている。
【０１４６】
まず、図２２を用いて、進捗状況の表示方法として進捗等分表示２１０２が選択された場合の、処理状況表示処理部５０の動作を説明する。
【０１４７】
図示するように、処理状況表示処理部５０は、エージェントから終了の報告を受け取ると（ステップ２２０１）、報告元のエージェントを複製して生成した各エージェントのプログラム識別子のリストが、報告に伴っているかどうかを判定し（ステップ２２０２）、伴われている場合には、図２３に示す分岐テーブルを作成する（ステップ２２０３）。
【０１４８】
分岐テーブル２３０１には、報告されたプログラム識別子４１３、起動時間４１２、ワーク識別子４１１と、報告元のエージェントを複製して生成した各エージェントのプログラム識別子のリストを、ワーク識別子２３０２、起動時間２３１０、複製元プログラム識別子２３０３、複製プログラム識別子リスト２３０４として登録する。また、分岐テーブル２３０１には、状態リスト２３０５を設ける。このような、各エージェントからの報告に基づいて作成された分岐テーブル２３０１を参照することにより、各エージェントの複製の経緯を把握できるようになる。
【０１４９】
さて、処理状況表示処理部５０は、分岐テーブル２３０１を作成すると、複製プログラム識別子リストに登録したプログラム識別子のエージェントの割当て率を計算する（ステップ２２０４）。
【０１５０】
この割当て率の計算は、下式により行う。
【０１５１】
エージェントの割当て率  ＝  エージェントの複製元のエージェントの割当て率／複製元のエージェントから複製された数
たとえば、最初に生成されたエージェントから４つのエージェントが複製されていれば、各複製されたエージェントの割当て率は１／４で２５％である。そして、更にそのうちの１つが５つに複製されれば、その複製されたエージェントの割当て率は（１／４）×（１／５）で５％となる。
【０１５２】
一方、ステップ２２０２で、報告元のエージェントを複製して生成した各エージェントのプログラム識別子のリストが報告に伴っていないと判定された場合には、終了を報告したエージェントの割当て率を、終了率に加算する（ステップ２２０５）。そして、終了を報告したエージェントのプログラム識別子を、複製プログラム識別子リストに含む分岐テーブル２３０１を検索し、検索した分岐テーブル２３０１の状態リスト２３０５の、終了を報告したエージェントのプログラム識別子に対応するエントリに終了を登録する（ステップ２２０６）。
【０１５３】
そして、検索した分岐テーブル２３０１を着目リストとする。そして、着目リストの状態リスト２３０５の全てに終了が登録されているかどうかを判定し、検索した分岐テーブルの複製元プログラム識別子２３０２を複製プログラム識別子リストに含む分岐テーブル２３０１を、さらに検索し、さらに検索した分岐テーブル２３０１の状態リスト２３０５の、複製元プログラム識別子２３０２に対応するエントリに終了を登録し、さらに検索した分岐テーブル２３０１に着目リストを更新する処理を、着目リストの状態リスト２３０５の全てに終了が登録されていないと判定されるまで繰り返す（ステップ２２０８）。
【０１５４】
そして、最後に、終了率を表示する（ステップ２２０９）。
【０１５５】
以上の処理を、終了率が１００パーセントになるまで繰り返す。
【０１５６】
次に、進捗状況の表示方法として生成／終了率表示２１０３が選択された場合の、処理状況表示処理部５０の動作を説明する。
【０１５７】
この場合の動作は、図２２に示したものと同様であるが、ステップ２２０３では、終了の報告に伴う報告元のエージェントを複製して生成した各エージェントのプログラム識別子の数を生成数に加算し、生成数を１減算し、終了数／生成数を終了率として求める処理を行う。また、ステップ２２０５では、終了数を１加算し、終了数／生成数を終了率として求める処理を行う。結果、各時点において、処理中のエージェントの数と複製の作成以外の要因で処理を終了した（制約条件違反、経路の空き容量の算出などの、ある経路に対する結果を得て終了した）エージェントの数の和に対する処理を終了したエージェントの数の割合が終了率として求まる。
【０１５８】
たとえば最初のエージェントが４つに複製され、その内の一つが終了報告を行った場合の終了率は、１／４で２５％となる。更にその後、別な一つのみが５つに分岐され、その内の一つが終了報告を行った時、その値は２／８で２５％となる。
【０１５９】
さて、処理状況表示処理部５０は、このようにして求めた終了率を、たとえ
ば図２４に示すように表示する。図中、ウインドウ２４００は進捗等分表示による表示例であり、ウインドウ２４１０が生成／終了率表示による表示例である。
【０１６０】
処理状況表示処理部５０は、選択された表示方法に対応するウインドウ２４００、もしくは２４１０を表示し、その中に、終了率を、進捗状況として棒グラフ２４０１、２４１１と数値２４０２、２４１３で表示する。
【０１６１】
このように、本第３実施形態によれば、ユーザに、複製によるエージェントの生成状況や、その個々の処理の終了状況をも考慮した、全体の処理の進捗状況を提示することができる。
【０１６２】
以上、本発明に係るネットワークシステムについて説明した。
【０１６３】
なお、以上で説明したネットワーク管理システム１０、ネットワーク装置２０の各種プログラムは、ＣＤ−ＲＯＭなどのリムーバルな記憶媒体に格納してネットワーク管理システム１０、ネットワーク装置２０に供給するようにしてもよい。この場合には、ネットワーク管理システム１０、ネットワーク装置２０に外部記憶装置１５としてＣＤ−ＲＯＭドライバなどのリムーバルな記憶媒体のドライバ装置を備え、これを介して、リムーバルな記憶媒体に記憶されたプログラムをプログラムメモリに格納するようにすればよい。
【０１６４】
また、これらのプログラムは、ネットワークシステム上に設けたサーバ装置から、ネットワーク管理システム１０、ネットワーク装置２０に供給するようにしてもよい。
【０１６５】
【発明の効果】
以上のように本発明によれば、複数のエージェントを用いて行っているタスクの進捗状況を、要求元に提示することができる。また、さらに、複数のエージェントを用いる場合に生じる、ネットワークの負荷の軽減を図ることができる。
【図面の簡単な説明】
【図１】ネットワークシステムの構成を示した図である。
【図２】本発明の第１実施形態に係るネットワーク管理システムとネットワーク装置の構成を示すブロック図である。
【図３】本発明の第１実施形態に係るネットワーク管理システムの行う処理を示したフローチャートである。
【図４】本発明の第１実施形態に係るエージェントの内部データの構成を示す図である。
【図５】本発明の第１実施形態に係る受け付けウインドウを示す図である。
【図６】本発明の第１実施形態に係る検索起動処理部の動作を示すフローチャートである。
【図７】本発明の第１実施形態に係る空き容量ログデータの構成を示す図である。
【図８】本発明の第１実施形態におけるエージェントの移動のようすを示した図である。
【図９】本発明の第１実施形態に係る分岐制御処理部の動作を示すフローチャートである。
【図１０】本発明の第１実施形態に係る検索実行処理部の動作を示すフローチャートである。
【図１１】本発明の第１実施形態に係る監視ウインドウを示す図である。
【図１２】本発明の第２実施形態に係る本発明の第１実施形態に係るネットワーク管理システムとネットワーク装置の構成を示すブロック図である。
【図１３】本発明の第１実施形態に係るエージェントの内部データの構成を示す図である。
【図１４】本発明の第２実施形態に係る分岐制御処理部の動作を示すフローチャートである。
【図１５】本発明の第２実施形態に係る通知情報テーブルの構成を示す図である。
【図１６】本発明の第２実施形態に係る通知処理プログラムのプロセスが行う処理を示すフローチャートである。
【図１７】本発明の第２実施形態における終了の報告の流れを示す図である。
【図１８】本発明の第２実施形態における終了の報告の流れを示す図である。
【図１９】本発明の第３実施形態に係る本発明の第１実施形態に係るネットワーク管理システムとネットワーク装置の構成を示すブロック図である。
【図２０】本発明の第３実施形態に係る分岐制御処理部の動作を示すフローチャートである。
【図２１】本発明の第３実施形態に係る受け付けウインドウを示す図である。
【図２２】本発明の第３実施形態に係る処理状況表示処理部の動作を示すフローチャートである。
【図２３】本発明の第３実施形態に係る分岐テーブルの構成を表す図である。
【図２４】本発明の第３実施形態において処理の進捗状況の表示のようすを示した図である。
【符号の説明】
１０…  ネットワーク管理システム、１１…  ネットワーク管理システムの通信制御装置、１２…  ワークメモリ、１３…  ネットワーク管理システムのプログラムメモリ、１４…  ネットワーク管理システムの中央処理装置、１５…  ネットワーク管理システムのキーボード、１６…  ネットワーク管理システムのマウス，１７…ネットワーク管理システムのディスプレイ、２０…  ネットワーク装置、２１…  ネットワーク装置の通信制御装置、２２…  ネットワーク装置のワークメモリ、２７…  ネットワーク装置のプログラムメモリ
【図１】
0003642677.tif 000002
【図２】
0003642677.tif 000003
【図３】
0003642677.tif 000004
【図４】
0003642677.tif 000005
【図５】
0003642677.tif 000006
【図６】
0003642677.tif 000007
【図７】
0003642677.tif 000008
【図８】
0003642677.tif 000009
【図９】
0003642677.tif 000010
【図１０】
0003642677.tif 000011
【図１１】
0003642677.tif 000012
【図１２】
0003642677.tif 000013
【図１３】
0003642677.tif 000014
【図１４】
0003642677.tif 000015
【図１５】
0003642677.tif 000016
【図１６】
0003642677.tif 000017
【図１７】
0003642677.tif 000018
【図１８】
0003642677.tif 000019
【図１９】
0003642677.tif 000020
【図２０】
0003642677.tif 000021
【図２１】
0003642677.tif 000022
【図２２】
0003642677.tif 000023
【図２３】
0003642677.tif 000024
【図２４】
0003642677.tif 000025