(57)【要約】【課題】ネットワークノードにプログラムを効果的に配置するのは難しい。【解決手段】要求メッセージ生成部２８は、ノード情報要求メッセージ１４を生成して、送信部２２により通信経路上の複数のノードに送信する。受信部２０は、複数のノードからノード情報応答メッセージ１６を受信し、ノード情報記憶部３０に記憶する。アクティブノード決定部２４は、各ノードのノード情報応答メッセージ１６にもとづいて、アクティブノードとすべきノードを決定し、アクティブノードのリストをアクティブノードリスト記憶部３２に記憶する。プログラムアップロード部２６はアクティブノードリストを参照して、各アクティブノードに対して、プログラム記憶部３４に記憶された所定のプログラムをアップロードする。【選択図】        図２
2004164494.tif 000002
【特許請求の範囲】
【請求項１】
通信経路上の複数のネットワークノードに対してノード情報の要求メッセージを送信する送信部と、
前記要求メッセージを受信した複数のノードから各ノードのノード情報を含む応答メッセージを受信する受信部と、
前記応答メッセージにもとづいて、前記複数のノードの少なくとも１つをアクティブノードと決定する決定部と、
当該端末装置により送受信されるパケットに対して特定の処理を施すためのプログラムを前記アクティブノードにアップロードするアップロード部とを含むことを特徴とする端末装置。
【請求項２】
前記受信部は、前記応答メッセージとして前記ノードの通信方式を示す情報を受信し、前記決定部は、無線通信方式のノードをアクティブノードと決定し、前記アップロード部は、無線の通信品質に適合させるためのパケット処理を行うプログラムを前記アクティブノードにアップロードすることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記受信部は、前記応答メッセージとして前記ノードの処理負荷に関する情報を受信し、前記決定部は、処理負荷が比較的小さいノードをアクティブノードと決定し、前記アップロード部は、当該端末により送受信されるパケットの処理を優先制御するプログラムを前記アクティブノードにアップロードすることを特徴とする請求項１または２に記載の端末装置。
【請求項４】
前記受信部は、前記応答メッセージとして前記ノードの処理負荷に関する情報を受信し、前記決定部は、処理負荷が所定の閾値より大きいノードをアクティブノードと決定し、前記アップロード部は、転送品質要求にもとづいてパケットの処理を優先制御するプログラムを前記アクティブノードにアップロードすることを特徴とする請求項１に記載の端末装置。
【請求項５】
端末からアクティブノードの決定要求メッセージを受けた場合に、前記端末に対するアクティブノードとなるか否かを決定する決定部と、
アクティブノードとなることを決定した場合に、前記端末により送受信されるパケットに対して特定の処理を施すためのプログラムを前記端末から受信する受信部と、
受信された前記プログラムを記憶する記憶部と、
記憶された前記プログラムをパケット処理に組み込んで実行する実行部とを含むことを特徴とするパケット転送装置。
【請求項６】
前記決定部は、当該装置が前記端末に対する無線アクセスポイントである場合に、アクティブノードとなることを決定し、前記実行部は無線の通信品質に適合させるための処理を行うプログラムをパケット処理に組み込んで実行することを特徴とする請求項５に記載のパケット転送装置。
【請求項７】
前記決定部は、前記端末の要求するネットワーク品質に応じることができる場合に、アクティブノードとなることを決定し、前記実行部は、前記端末により送受信されるパケットの処理を優先制御するプログラムをパケット処理に組み込んで実行することを特徴とする請求項５に記載のパケット転送装置。
【請求項８】
前記決定部は、当該装置が通信品質の悪いリンクの端に位置する場合に、アクティブノードとなることを決定し、前記実行部は、前記リンク内でのパケットの再送制御を行うプログラムをパケット処理に組み込んで実行することを特徴とする請求項５に記載のパケット転送装置。
【請求項９】
端末により送受信されるパケットの伝送路上にある複数のノードから各ノードのノード情報を当該端末において収集するステップと、
収集された前記ノード情報にもとづいて、当該端末側で前記複数のノードの少なくとも１つをアクティブノードと決定するステップと、
当該端末により送受信されるパケットに対して特定の処理を施すためのプログラムを当該端末から前記アクティブノードにアップロードするステップとを含むことを特徴とするプログラム配置方法。
【請求項１０】
端末により送受信されるパケットの伝送路上にあるノードにおいて、前記端末のパケット通信に関する要求情報を受信するステップと、
前記要求情報にもとづいて、前記端末に対してアクティブノードとなるか否かを当該ノード側で決定するステップと、
アクティブノードとなることを決定した場合に、前記端末により送受信されるパケットに対して特定の処理を施すためのプログラムを前記端末から受信して、パケット処理に組み込むステップとを含むことを特徴とするプログラム配置方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、アクティブネットワーク技術に関し、特にネットワークのノードにプログラムを配置する方法と、その方法を利用可能なパケット転送装置ならびに端末装置に関する。
【０００２】
【従来の技術】
ブロードバンドのネットワークが一般ユーザに普及し、画像や音声を利用したピア・ツウ・ピアによるリアルタイム通信や、映像を用いたストリーミング配信などネットワーク資源を多用するサービスの利用が盛んになっている。それに伴い、ユーザのネットワークサービスの品質に対する意識が高まり、品質の劣化にはユーザはたいへん敏感になってきており、ベストエフォート型のサービスを提供してきたインターネットにも、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の保証が強く求められている。また、ネットワークの利用形態としてパーソナルコンピュータ以外に、携帯電話やモバイル端末の利用も増えてきており、端末の通信形態に合わせて柔軟にサービスを提供することも必要である。このような状況にあって、ルータやスイッチなどのネットワークノードには、ネットワーク層における単純なパケットの転送処理だけでなく、アプリケーション層までを考慮したある種のインテリジェンスが求められるようになっている。
【０００３】
ネットワークに接続する端末はユーザのニーズや新しいネットワーク技術に合わせてモデルチェンジすることが容易であり、機種変更のサイクルが短くなってきているのに対して、ルータやスイッチなどの場合、接続性の保証や旧機種との互換性が要求されるため、仕様の変更には規格の標準化を待たねばならず、新技術に対応するには時間がかかる。これでは、多様化するネットワークサービスの要求に即座に対応することは難しい。そこで、ネットワークの機能の柔軟な変更を可能にする技術として、ネットワークノードにプログラムを投入することにより、ネットワークの動作を自由に制御することのできるアクティブネットワークの概念が提唱されている（たとえば、非特許文献１参照）。アクティブネットワークの仕組みを採用することによって、標準化に時間とコストを費やすことなく早期に新サービス機能をネットワークシステムに導入することができるようになるため、学会のみならず、産業界でもアクティブネットワークに対する期待が高まっている。
【０００４】
ユーザの品質要求に応えるために、端末の送受信するパケットに対して特定の処理を行うプログラムをアクティブネットワークの特定のネットワークノードに投入する。このような特定のプログラムが投入されたネットワークノードをアクティブノードという。端末やネットワークノードの処理負荷に応じて、アクティブノードの個数と位置を最適化する方法が提案されている（たとえば、特許文献１参照）。
【０００５】
【非特許文献１】
山本幹、「アクティブネットワークの技術動向」、電子情報通信学会論文誌Ｂ、２００１年８月、Ｖｏｌ．Ｊ８４−Ｂ、Ｎｏ．８、ｐ．１４０１−１４１２
【特許文献１】
特開２００１−２４９９１０号公報  （全文、第１−１０図）
【０００６】
【発明が解決しようとする課題】
アクティブネットワークを有効に活用するためには、ネットワークノードに投入すべきプログラムの配置が問題となる。処理負荷の大きいノードにプログラムを配置して実行すると、パケットの遅延が生じて、かえってユーザの期待するサービス品質を害することにもなりかねない。また、端末の接続形態が多様化しており、有線以外に無線のアクセスポイントも利用されるため、有線のネットワーク内のノードをアクティブノードとしても、有線と無線の境界でサービスの品質の劣化が起こり、期待した効果が上がらないこともある。このように、どのノードをアクティブノードとしてプログラムを投入するかを決定するためには、ネットワークの輻輳状況や利用形態を考慮する必要があり、簡単な規則で一律に決めることは難しい。
【０００７】
本発明はこうした状況に鑑みてなされたもので、その目的は、アクティブノードとなるネットワークのノードを適切に決定して、プログラムをアクティブノードに配置することのできるネットワーク技術の提供にある。
【０００８】
【課題を解決するための手段】
本発明のある態様は端末装置に関する。この装置は、通信経路上の複数のネットワークノードに対してノード情報の要求メッセージを送信する送信部と、前記要求メッセージを受信した複数のノードから各ノードのノード情報を含む応答メッセージを受信する受信部と、前記応答メッセージに含まれる前記ノード情報にもとづいて、前記複数のノードの少なくとも１つをアクティブノードと決定する決定部と、当該端末装置により送受信されるパケットに対して特定の処理を施すためのプログラムを前記アクティブノードにアップロードするアップロード部とを含む。
【０００９】
本発明の別の態様はパケット転送装置に関する。この装置は、端末から前記端末が行うパケット通信の要求情報を含むアクティブノードの決定要求メッセージを受けて、前記端末に対するアクティブノードとなるか否かを決定する決定部と、アクティブノードとなることを決定した場合に、前記端末により送受信されるパケットに対して特定の処理を施すためのプログラムを前記端末から受信する受信部と、受信された前記プログラムを記憶する記憶部と、記憶された前記プログラムをパケット処理に組み込んで実行する実行部とを含む。
【００１０】
パケット転送装置は、一例としてルータ、スイッチ、無線アクセスポイントなどのノードであり、標準的なパケット処理を実行するとともに、アクティブノード用のプログラムにもとづいて特定のパケット処理を実行するための実行環境をもつ。
【００１１】
本発明の別の態様はプログラム配置方法に関する。この方法は、端末により送受信されるパケットの伝送路上にある複数のノードから各ノードのノード情報を当該端末において収集するステップと、収集された前記ノード情報にもとづいて、当該端末側で前記複数のノードの少なくとも１つをアクティブノードと決定するステップと、当該端末により送受信されるパケットに対して特定の処理を施すためのプログラムを当該端末から前記アクティブノードにアップロードするステップとを含む。この方法は、上述の態様の端末装置において利用可能である。
【００１２】
本発明の別の態様もプログラム配置方法に関する。この方法は、端末により送受信されるパケットの伝送路上にあるノードにおいて、前記端末が行うパケット通信の要求情報を受信するステップと、前記パケット通信仕様に関する情報にもとづいて、前記端末に対してアクティブノードとなるか否かを当該ノード側で決定するステップと、アクティブノードとなることを決定した場合に、前記端末により送受信されるパケットに対して特定の処理を施すためのプログラムを前記端末から受信して、パケット処理に組み込むステップとを含む。この方法は、上記の態様のパケット転送装置において利用可能である。
【００１３】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１４】
【発明の実施の形態】
図１は、実施の形態に係るアクティブネットワークの構成を示す。アクティブネットワークのノードＡ〜Ｅにはパケット転送装置１２ａ〜１２ｅが設けられている。通信元の端末装置１０ａはノードＡのパケット転送装置１２ａと無線で接続し、通信先の端末装置１０ｂとの間でデータの送受信を行う。通信先の端末装置１０ｂはノードＤのパケット転送装置１２ｄと無線で接続されている。すなわち、ノードＡとノードＤのパケット転送装置１２ａ、１２ｄは無線アクセスポイントである。これに対して、ノードＢ、Ｃ、Ｅのパケット転送装置１２ｂ、１２ｃ、１２ｅは有線のネットワークで相互接続されたルータである。端末装置１０ａ、１０ｂは、たとえば、パーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）などの携帯電子機器、データ通信機能をもつ携帯電話などである。
【００１５】
通信元の端末装置１０ａから通信先の端末装置１０ｂにネットワークのノード情報を収集するためのノード情報要求メッセージ１４を送る。ノード情報要求メッセージ１４は、通信経路上にあるノードＡ、ノードＢ、ノードＣ、およびノードＤに設けられたパケット転送装置１２ａ、１２ｂ、１２ｃ、１２ｄにおいて受信される。ノード情報要求メッセージ１４を受信したパケット転送装置１２ａ、１２ｂ、１２ｃ、１２ｄはそれぞれノード情報応答メッセージ１６ａ、１６ｂ、１６ｃ、１６ｄを通信元の端末装置１０ａに返信する。
【００１６】
通信元の端末装置１０ａは、これらのノード情報応答メッセージを収集して通信経路上の複数のノードＡ〜Ｄの少なくとも１つをアクティブノードと決定し、アクティブノードに特定のパケット処理を行うプログラムをアップロードする。仮に無線アクセスポイントであるノードＡのパケット転送装置１２ａがアクティブノードに決定された場合、このパケット転送装置１２ａが端末装置１０ａから送信されたプログラムを受信して、そのプログラムをパケット処理に組み込んで実行し、通信元の端末装置１０ａと通信先の端末装置１０ｂの間で送受信されるパケットに対する優先制御などを行う。以下の説明では、通信元および通信先の端末装置１０ａ、１０ｂを単に端末装置１０と総称し、通信経路上のパケット転送装置１２ａ〜１２ｄを単にパケット転送装置１２と総称する。
【００１７】
図２は、端末装置１０の機能構成図であり、図３は、パケット転送装置１２の機能構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたパケット処理機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１８】
図２を参照して、端末装置１０の構成を説明する。端末装置１０は、当該端末装置１０側でアクティブノードを決定するモードと、ネットワークノード側でアクティブノードを決定するモードとを切り替えて実行することができる。まず、端末装置１０側でアクティブノードを決定するモードを説明する。
【００１９】
要求メッセージ生成部２８は、ノード情報要求メッセージ１４を生成して、送信部２２によりパケット転送装置１２に送信する。受信部２０は、パケット転送装置１２からノード情報応答メッセージ１６を受信し、ノード情報記憶部３０に記憶する。
【００２０】
アクティブノード決定部２４は、ノード情報記憶部３０に収集された各ノードのノード情報応答メッセージ１６にもとづいて、アクティブノードとすべきノードを決定し、アクティブノードのリストをアクティブノードリスト記憶部３２に記憶する。
【００２１】
プログラムアップロード部２６はアクティブノードリスト記憶部３２に記憶されたアクティブノードリストを参照して、各アクティブノードに対して、プログラム記憶部３４に記憶された所定のプログラムをアップロードする処理を行う。このプログラムは送信部２２によりＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などにより送信されてもよく、端末装置１０により送信されるパケットの一部に組み込まれて送信部２２から送信されてもよい。
【００２２】
次に、ネットワークノード側でアクティブノードが決定するモードでは、要求メッセージ生成部２８は、アクティブノード決定要求メッセージ１５を生成して、送信部２２によりパケット転送装置１２に送信する。受信部２０は、アクティブノードとなることを決定したノードのパケット転送装置１２からアクティブノード決定応答メッセージ１７を受信し、アクティブノードリスト記憶部３２に記憶する。プログラムアップロード部２６は上記と同じ処理を行う。
【００２３】
図３を参照して、パケット転送装置１２の構成を説明する。受信部４０は、通信経路上の隣接ノードからパケットを受信する。受信されるパケットには、ノード情報要求メッセージ１４、アクティブノード決定要求メッセージ１５、通信データ、プログラムデータなどが含まれる。
【００２４】
受信部４０によりノード情報要求メッセージ１４が受信された場合、応答メッセージ生成部５０は、ノードの種別、処理負荷、処理性能、端末から見た相対位置などの情報を含むノード情報応答メッセージ１６を生成し、送信部４２がノード情報応答メッセージ１６を端末装置１０宛のパケットとして返信する。
【００２５】
受信部４０によりアクティブノード決定要求メッセージ１５が受信された場合、アクティブノード決定部４８は、アクティブノード決定要求メッセージ１５に含まれる端末の接続形態、要求するネットワーク品質、送受信されるメディアデータの種別などの通信の要求情報にもとづいて、当該ノードがアクティブノードとなるか否かを決定する。アクティブノードとなる場合は、アクティブノード決定部４８は、当該ノードの識別情報とアクティブノードとなった要因を含むアクティブノード決定応答メッセージ１７を生成し、送信部４２がアクティブノード決定応答メッセージ１７を端末装置１０宛のパケットとして返信する。
【００２６】
受信部４０により通信データのパケットが受信された場合、パケット処理部４６はそのパケットをプロトコル処理し、送信部４２がパケットを隣接ノードに転送する。受信部４０によりプログラムが添付された通信データのパケットが受信された場合、パケット処理部４６はそのパケットに添付されたプログラムのデータをパケットから切り離してプログラム記憶部５２に記憶し、通信データのみとなったパケットをプロトコル処理し、送信部４２がパケットを隣接ノードに転送する。受信部４０によりプログラムのみを含むパケットが受信された場合は、パケット処理部４６は単にパケット内のプログラムのデータをプログラム記憶部５２に記憶する。
【００２７】
当該ノードがアクティブノードとなった場合、プログラム実行部４４は、プログラム記憶部５２に格納されたプログラムを実行し、パケット処理部４６によるパケット転送処理の優先制御などを行う。プログラム実行部４４は、このプログラムをパケット処理部４６におけるパケット処理の一部に組み込んでもよい。またパケット処理部４６におけるプロトコル処理の際、プログラム実行部４４に制御を渡して、プログラムが実行されるようにしてもよい。パケット処理部４６によりプロトコル処理され、プログラム実行部４４により優先制御等がなされたパケットは、送信部４２により隣接ノードに転送される。
【００２８】
以上の構成の端末装置１０およびパケット転送装置１２によるアクティブネットワークのプログラム配置方法を説明する。
【００２９】
図４は、端末装置１０側でアクティブノードを決定し、プログラムをアップロードする手順を説明するフローチャートである。端末装置１０から通信経路上の複数のノードにノード情報要求メッセージ１４を送信する（Ｓ１０）。ノード情報要求メッセージ１４を受信した各ノードのパケット転送装置１２からノード情報応答メッセージ１６を受信する（Ｓ１２）。
【００３０】
ノード情報の応答メッセージには、たとえば、ルータ、スイッチ、無線アクセスポイントなどノードの種別を示す情報、ノードにおける現在のフロー処理数やパケット処理速度など処理負荷に関する情報、ノードのハードウエア性能、最大フロー処理数、最大パケット処理速度などパケット処理能力に関する情報、ホップ数やＩＰアドレスなど端末から見たノードの相対位置に関する情報がノード情報として含まれる。
【００３１】
端末装置１０は通信経路上の複数のノードから収集したこれらのノード情報にもとづいて、少なくとも１つのノードをアクティブノードに決定し（Ｓ１４）、端末装置１０はそのアクティブノードに適切なプログラムをアップロードする（Ｓ１６）。
【００３２】
アクティブノードを決定するルールを説明する。
（ａ）端末装置１０が無線アクセスポイントに接続されている場合
収集されたノード情報を参照して、ノード種別が無線アクセスポイントとなっているノードをアクティブノードと決定する。アクティブノードには、有線と無線の伝送帯域やエラーレートなどの通信品質の相違を考慮したパケット処理を行うためのプログラムをアップロードする。このプログラムは、一例として、無線リンクの伝送帯域に合わせてコンテンツの変換を行うなどのアプリケーション層における処理を施すものである。コンテンツの変換とは、たとえば、画像であれば、無線の帯域に合わせて解像度やフレームレートを落とすことである。
【００３３】
（ｂ）端末装置１０がリアルタイム性のある音声や動画像などのメディアデータを送受信する場合
収集されたノード情報を参照して、処理負荷が大きいノードをアクティブノードと決定する。処理負荷が大きいノードはメディアデータの送受信の際のボトルネックになる可能性が高いため、アクティブノードに設定して、リアルタイム性のあるメディアパケットに対する優先制御を行うためのプログラムをアップロードして実行させる。たとえば、遅延や遅延の揺らぎなどの転送品質要求が厳しいパケットを先に転送するなどの優先制御を行う。ここで、処理負荷が所定の閾値よりも大きいノードをすべてアクティブノードとしてもよく、処理負荷が所定の閾値よりも大きいノードのうち、処理負荷が最大のノードだけをアクティブノードとしてもよい。
【００３４】
（ｃ）ノードの処理能力にもとづいてアクティブノードを決定する場合
収集されたノード情報を参照して、処理能力の小さいノードをアクティブノードと決定する。処理能力の小さいノードはパケット送受信の際のボトルネックになる可能性が高いため、アクティブノードに設定して、処理能力を有効活用するためのプログラムをアップロードして実行させる。たとえば、あらかじめ端末装置１０のパケット転送のためのネットワーク資源を確保しておいたり、フローのアドミッション制御をして、当該端末装置１０以外のフローの受け入れを制限するなどの処理を行う。ここで、処理能力が所定の閾値よりも小さいノードをすべてアクティブノードとしてもよく、処理能力が最も小さいノードだけをアクティブノードとしてもよい。
【００３５】
（ｄ）ノードの相対位置にもとづいてアクティブノードを決定する場合
収集されたノード情報を参照して、端末から数えたホップ数が小さいノード、すなわち端末に近いノードをアクティブノードと決定する。ノードのＩＰアドレスにもとづいて端末とノード間の距離を判断してもよい。アクティブノードには、たとえば、端末により送受信されるパケットを優先制御するためのプログラムをアップロードして実行させる。
【００３６】
図５は、パケット転送装置１２側でアクティブノードとなるかどうかを決定し、端末装置１０からプログラムのアップロードを受ける手順を説明するフローチャートである。端末装置１０から通信経路上の複数のノードに端末装置１０によるパケット通信の要求情報を含むアクティブノード決定要求メッセージ１５を送信する（Ｓ２０）。
【００３７】
アクティブノード決定要求メッセージ１５には、端末が有線ネットワーク上に存在するか、無線経由でネットワークに接続しているかなど端末の接続形態を示す情報、端末により送受信されるパケットの損失率、遅延、遅延の揺らぎの期待値など希望するネットワーク品質に関する情報、テキストデータ、静止画像、動画像、音声など端末により送受信されるメディアデータの種別を示す情報がパケット通信の要求情報として含まれる。
【００３８】
アクティブノード決定要求メッセージ１５を受信した各ノードが端末情報にもとづいて端末装置１０に対してアクティブノードとなるかどうかを決定し（Ｓ２２）、アクティブノードとなった場合に、アクティブノードから端末に当該ノードの識別情報とアクティブノードとなった要因を含むアクティブノード決定応答メッセージ１７を送信する（Ｓ２４）。端末装置１０はアクティブノード決定応答メッセージ１７に含まれるアクティブノードとなった要因に適したプログラムをアクティブノードにアップロードする（Ｓ２６）。
【００３９】
アクティブノードとなる要因を説明する。
（ａ）端末装置１０の接続形態が無線経由である場合
アクティブノード決定要求メッセージ１５に含まれる端末装置１０の接続形態を示す情報が無線経由であることを示している場合、当該ノードが、端末装置１０と直接通信している無線アクセスポイントであるなら、アクティブノードとなる。アクティブノードには、有線と無線の伝送帯域やエラーレートなどの通信品質の相違を考慮したパケット処理を行うためのプログラムをアップロードして実行させる。
【００４０】
（ｂ）ネットワーク品質およびメディアデータ種別によってアクティブノードを決定する場合
アクティブノード決定要求メッセージ１５に含まれるユーザの要求するネットワーク品質とメディアデータ種別の情報を参照し、当該ノードの現在のパケット処理負荷を考慮して、現状では端末装置１０の要求品質を満たすことはできないが、アクティブノードとなることで要求品質を満たす処理が可能であると判断した場合に、アクティブノードとなる。アクティブノードには、端末により送受信されるパケットの要求品質を満たすための制御を行うプログラムをアップロードして実行させる。
【００４１】
（ｃ）ノード間の通信品質が悪いため、端末装置１０により送受信されるパケットの再送が頻発している場合
当該ノードが、パケット損失率が高いため通信品質が悪くなっているリンクの端に位置する場合、アクティブノードとなる。アクティブノードには、このリンク内に閉じた形でパケットの再送制御を行うプログラムをアップロードして実行させる。通信品質の悪いリンクの両端のノードがともにアクティブノードとなってもよく、どちらか片方のノードだけがアクティブノードとなってもよい。
【００４２】
以上述べたように、実施の形態によれば、パケットを送受信する端末がパケット伝送路上のネットワークノード情報を収集することにより、どのノードにパケットが集中しているか、どのノードがパケット転送のボトルネックになっているかなどの状況を把握することができる。端末側でこのようなノード情報にもとづいてアクティブノードとすべきノードを決定して、アクティブノードのプログラムを効果的に配置することができる。また、パケット転送を行うノードが端末が行う通信の要求情報を把握して、アクティブノードとなるかどうかを決定して、端末にアクティブノードのプログラムのアップロードを指示することができる。
【００４３】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４４】
そのような変形例として、上記の説明では、端末側でアクティブノードを決定する方法と、ノード側でアクティブノードとなるかどうかを決定する方法を述べたが、これらの２つの方法は組み合わせて用いることができる。これにより、端末側とノード側の双方の状況把握にもとづいて、アクティブノードのプログラムのより効果的な配置が可能である。また、上記の説明では、アクティブノードとしてパケットの転送を行うルータやアクセスポイントを想定したが、コンテンツを提供するサーバ自身がアクティブノードとなってもよい。
【００４５】
【発明の効果】
本発明によれば、ネットワークノードにプログラムを効果的に配置することができる。
【図面の簡単な説明】
【図１】実施の形態に係るアクティブネットワークの構成図である。
【図２】図１の端末装置の機能構成図である。
【図３】図１のパケット転送装置の機能構成図である。
【図４】図１の端末装置側でアクティブノードを決定し、プログラムをアップロードする手順を説明するフローチャートである。
【図５】図１のパケット転送装置側でアクティブノードとなるかどうかを決定し、プログラムのアップロードを受ける手順を説明するフローチャートである。
【符号の説明】
１０  端末装置、  １２  パケット転送装置、  １４  ノード情報要求メッセージ、  １５  アクティブノード決定要求メッセージ、  １６  ノード情報応答メッセージ、  １７  アクティブノード決定応答メッセージ、  ２０  受信部、２２  送信部、  ２４  アクティブノード決定部、  ２６  プログラムアップロード部、  ２８  要求メッセージ生成部、  ３０  ノード情報記憶部、  ３２アクティブノードリスト記憶部、  ３４  プログラム記憶部、  ４０  受信部、  ４２  送信部、  ４４  プログラム実行部、  ４６  パケット処理部、  ４８  アクティブノード決定部、  ５０  応答メッセージ生成部、  ５２  プログラム記憶部。
【図１】
2004164494.tif 000003
【図２】
2004164494.tif 000004
【図３】
2004164494.tif 000005
【図４】
2004164494.tif 000006
【図５】
2004164494.tif 000007