(57)【要約】【課題】ネットワークノードにプログラムがインストールされるまで、ストリームデータの転送が中断する。【解決手段】パケット処理部３０は、データバッファ２４からパケットを読み出し、プログラムタグ抽出部３２は、パケットのタグからプログラムの格納位置に関する情報を抽出する。ダウンロード部３４は、その格納位置から個別プログラム４０をダウンロードし、プログラム記憶部３６に記憶する。個別プログラム４０のダウンロード中は、プログラム切り替え部３８はプログラム実行部２６に予備プログラム４２を実行させる。ダウンロードが完了すると、プログラム切り替え部３８は、個別プログラム４０に切り替えるようにプログラム実行部２６を制御する。プログラム実行部２６は個別プログラム４０を実行し、パケット処理部３０によるパケット転送を制御する。【選択図】        図２
2004178472.tif 000002
【特許請求の範囲】
【請求項１】
端末に送信されるストリームのパケットから前記ストリームに対して特定の処理を施す個別プログラムの格納位置を示す情報を抽出する抽出部と、
前記格納位置から前記個別プログラムをダウンロードするダウンロード部と、
ダウンロードされた前記個別プログラムを記憶する記憶部と、
前記個別プログラムを前記ストリームのパケット処理に組み込んで実行する実行部とを含むことを特徴とするパケット転送装置。
【請求項２】
前記個別プログラムのダウンロードの完了後に、前記個別プログラムを組み込むように前記実行部に対して切り替え指示を行う切り替え部をさらに含み、前記実行部は、前記切り替え指示があるまでは前記ストリームのパケットを通常に転送処理することを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記記憶部は、予備プログラムを記憶し、前記切り替え部は、前記個別プログラムのダウンロードが完了するまでの間、前記予備プログラムを組み込むように前記実行部に対して切り替え指示を行うことを特徴とする請求項２に記載のパケット転送装置。
【請求項４】
前記記憶部は、前記個別プログラムの前記格納位置を示す情報を前記個別プログラムとともに記憶し、前記抽出部により抽出された個別プログラムの格納位置を示す情報が前記記憶部に既に記憶されている場合は、その個別プログラムをダウンロードすることなく、前記記憶部に記憶された個別プログラムを利用したパケット処理を行うことを特徴とする請求項１から３のいずれかに記載のパケット転送装置。
【請求項５】
端末に送信されるストリームデータの特性を示す情報を前記ストリームのパケットから抽出する抽出部と、
前記特性に適合する個別プログラムを検索してダウンロードするダウンロード部と、
ダウンロードされた前記個別プログラムを前記特性に関連づけて記憶する記憶部と、
前記個別プログラムを前記ストリームのパケット処理に組み込んで実行する実行部とを含むことを特徴とするパケット転送装置。
【請求項６】
前記端末の処理性能に合わせてパケットを変換する個別プログラムを前記記憶部から選択し、その選択された個別プログラムを組み込むように前記実行部に対して切り替え指示を行う切り替え部をさらに含むことを特徴とする請求項５に記載のパケット転送装置。
【請求項７】
前記端末が無線で接続している場合に、無線の通信品質に合わせてパケットを変換する個別プログラムを前記記憶部から選択し、その選択された個別プログラムを組み込むように前記実行部に対して切り替え指示を行う切り替え部をさらに含むことを特徴とする請求項５に記載のパケット転送装置。
【請求項８】
端末に送信されるストリームのパケットから前記ストリームに特定の処理を施すための個別プログラムの格納位置を示す情報を抽出し、前記格納位置から前記個別プログラムをダウンロードする間、前記ストリームのパケットを通常に転送処理し、前記個別プログラムのダウンロードが完了すると、前記プログラムを組み込んでパケットの処理を継続することを特徴とするプログラム取得方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、アクティブネットワーク技術に関し、特にネットワークのノードに投入されるプログラムの取得方法と、その方法を利用可能なパケット転送装置に関する。
【０００２】
【従来の技術】
ブロードバンドのネットワークが一般ユーザに普及し、画像や音声を利用したピア・ツウ・ピアによるリアルタイム通信や、映像を用いたストリーミング配信などネットワーク資源を多用するサービスの利用が盛んになっている。それに伴い、ユーザのネットワークサービスの品質に対する意識が高まり、品質の劣化にはユーザはたいへん敏感になってきており、ベストエフォート型のサービスを提供してきたインターネットにも、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の保証が強く求められている。また、ネットワークの利用形態としてパーソナルコンピュータ以外に、携帯電話やモバイル端末の利用も増えてきており、端末の通信形態に合わせて柔軟にサービスを提供することも必要である。このような状況にあって、ルータやスイッチなどのネットワークノードには、ネットワーク層における単純なパケットの転送処理だけでなく、アプリケーション層までを考慮したある種のインテリジェンスが求められるようになっている。
【０００３】
ネットワークに接続する端末はユーザのニーズや新しいネットワーク技術に合わせてモデルチェンジすることが容易であり、機種変更のサイクルが短くなってきているのに対して、ルータやスイッチなどの場合、接続性の保証や旧機種との互換性が要求されるため、仕様の変更には標準化を待たねばならず、新技術に対応するには時間がかかる。これでは、多様化するネットワークサービスの要求に即座に対応することは難しい。そこで、ネットワークの機能の柔軟な変更を可能にする技術として、ネットワークノードにプログラムを投入することにより、ネットワークの動作を自由に制御することのできるアクティブネットワークの概念が提唱されている（たとえば、非特許文献１参照）。アクティブネットワークの仕組みを採用することによって、標準化に時間とコストを費やすことなく早期に新サービス機能をネットワークシステムに導入することができるようになるため、学会のみならず、産業界でもアクティブネットワークに対する期待が高まっている。
【０００４】
【非特許文献１】
山本幹、「アクティブネットワークの技術動向」、電子情報通信学会論文誌Ｂ、２００１年８月、Ｖｏｌ．Ｊ８４−Ｂ、Ｎｏ．８、ｐ．１４０１−１４１２
【０００５】
【発明が解決しようとする課題】
アクティブネットワークを実現するために、端末に送信されるストリームデータに対して特定の処理を行うプログラムがネットワークノードに送信され、ネットワークノードに投入される。このような特定のプログラムが投入されたネットワークノードをアクティブノードという。アクティブノードにプログラムを投入するには、あらかじめノードに必要なプログラムをアップロードしておく方法と、端末に送信されるパケットの一部にプログラムを付加してノードに提供する方法とがある。
【０００６】
後者のパケット内にプログラムを格納して提供する方法では、プログラムがノードに投入されインストールが完了するまでは、パケットの処理を行うことができず、ストリームの転送に遅延が生じる。前者のプログラムをあらかじめアップロードしておく方法では、いったんプログラムがインストールされた後は、ストリームデータの転送の開始すると、ただちにインストールされたプログラムがそのストリームに適用される。しかし、この場合でもストリームデータの転送に先立ち、端末またはサーバが必要なプログラムをノードにインストールしておかなければならない。したがって、いずれの方法でもプログラムをインストールするために時間がかかり、その間ストリーム通信が開始できないか、中断するといった問題が生じる。
【０００７】
本発明はこうした状況に鑑みてなされたもので、その目的は、ネットワークのノードにプログラムを効率よく投入することのできるネットワーク技術の提供にある。
【０００８】
【課題を解決するための手段】
本発明のある態様はパケット転送装置に関する。この装置は、端末に送信されるストリームのパケットから前記ストリームに対して特定の処理を施す個別プログラムの格納位置を示す情報を抽出する抽出部と、前記格納位置から前記個別プログラムをダウンロードするダウンロード部と、ダウンロードされた前記個別プログラムを記憶する記憶部と、前記個別プログラムを前記ストリームのパケット処理に組み込んで実行する実行部とを含む。
【０００９】
パケット転送装置は、一例としてルータ、スイッチ、無線アクセスポイントなどのノードであり、標準的なパケット処理を実行するとともに、個別プログラムを組み込んで特定のパケット処理を実行するための実行環境をもつ。個別プログラムは、ストリームデータの特性やストリームを受信する端末の通信形態などに応じてストリームのパケットに特定の処理を施すものである。特定の処理とは、たとえば、パケットの優先制御やＱｏＳ制御などであり、特に規格化された処理である必要はない。
【００１０】
記憶部は、個別プログラムと格納位置情報を対応づけて記憶してもよく、その場合、格納位置情報が個別プログラムのインデックスとして作用し、格納位置情報をキーとして個別プログラムの検索が可能である。
【００１１】
記憶部に予備プログラムを記憶しておき、個別プログラムのダウンロードが完了するまでの間、予備プログラムをパケット処理に組み込んで実行してもよい。この予備プログラムは、パケットの転送処理、プロトコル処理など標準化もしくはある程度規格化された処理を行うものである。
【００１２】
本発明の別の態様もパケット転送装置に関する。この装置は、端末に送信されるストリームデータの特性を示す情報を前記ストリームのパケットから抽出する抽出部と、前記特性に適合する個別プログラムを検索してダウンロードするダウンロード部と、ダウンロードされた前記個別プログラムを前記特性に関連づけて記憶する記憶部と、前記個別プログラムを前記ストリームのパケット処理に組み込んで実行する実行部とを含む。
【００１３】
ストリームデータの特性を示す情報には、パケットの遅延や遅延のゆらぎなどストリームの通信品質に関する情報、リアルタイム型もしくは蓄積型の連続メディア、非連続データなどストリームのデータ種別に関する情報などが含まれる。端末に送信されるストリームごとに、ストリームの特性に応じたパケットの優先制御や通信帯域の割り当て制御などの個別プログラムをダウンロードして利用することができる。
【００１４】
本発明の別の態様はプログラム取得方法に関する。この方法は、端末に送信されるストリームのパケットから前記ストリームに特定の処理を施すための個別プログラムの格納位置を示す情報を抽出し、前記格納位置から前記個別プログラムをダウンロードする間、前記ストリームのパケットを通常に転送処理し、前記個別プログラムのダウンロードが完了すると、前記プログラムを組み込んでパケットの処理を継続する。
【００１５】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１６】
【発明の実施の形態】
図１は、実施の形態に係るアクティブネットワークの構成を示す。端末装置１０が無線で接続するアクセスポイントはアクティブノードであり、パケット転送装置１２が設けられている。ルータ１４ａ〜１４ｃ（以下、ルータ１４と総称する）は有線のネットワークで相互接続されたルータである。サーバ１６ａ、１６ｂ（以下、サーバ１６と総称する）は、ネットワーク経由で端末装置１０にストリームデータを送信し、また、そのストリームデータを処理するための個別プログラムをパケット転送装置１２からの要求にしたがって送信する。端末装置１０は、たとえば、パーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）などの携帯電子機器、データ通信機能をもつ携帯電話などである。
【００１７】
端末装置１０は、サーバ１６ａからルータ１４ｃ、１４ａおよびパケット転送装置１２を経由してストリーム１８を受信する。パケット転送装置１２は、アクティブノードとして、このストリーム１８の転送処理を行う。パケット転送装置１２は、ストリームの特性に合ったパケット処理を行うための個別プログラム１７を、後述のプログラムタグで指定された格納場所、ここではサーバ１６ｂから受信してインストールする。
【００１８】
なお、図１の例では、無線のアクセスポイントがアクティブノードとなっているが、ルータ１４がアクティブノードとなってもよく、その場合は、ルータ１４にパケット転送装置１２が設けられる。また、ルータ１４から端末装置１０への通信経路上の複数のネットワークノードにパケット転送装置１２が設けられてもよい。
【００１９】
図２は、パケット転送装置１２の機能構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたパケット処理機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２０】
制御部２８は、隣接ノードとの間でストリームデータの送受信を行うために、受信部２０および送信部２２を制御する。受信部２０は、ストリームデータの通信経路上の隣接ノードからパケットを受信して、データバッファ２４に格納する。制御部２８のパケット処理部３０はデータバッファ２４からパケットを読み出して、プロトコル処理する。パケット処理部３０は、受信されたパケットの種別を識別して、パケットが通信データである場合、プロトコル処理後の送信用のパケットをデータバッファ２４に書き出す。送信部２２はデータバッファ２４に格納された送信用のパケットを隣接ノードに転送する。
【００２１】
受信されたパケットにプログラムタグが含まれる場合、パケット処理部３０はプログラムタグをプログラムタグ抽出部３２に供給する。プログラムタグ抽出部３２は、プログラムタグを解析してタグに含まれるプログラムの格納位置に関する情報をダウンロード部３４に供給する。格納位置に関する情報は、個別プログラム４０が格納されているサーバ１６の識別情報や、インターネット上のファイルの場所を一意的に指定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。
【００２２】
ダウンロード部３４は、格納位置に関する情報をもとに、個別プログラム４０が格納されているサーバ１６に個別プログラム４０の送信を要求し、ファイル転送プロトコルなどにより個別プログラム４０をダウンロードして、プログラム記憶部３６に記憶する。
【００２３】
プログラムタグには、ストリームのデータ種別や品質要求などの特性が記述されてもよい。その場合、ダウンロード部３４は、その特性に合った個別プログラム４０を検索して、適当なサーバ１６からダウンロードする。このような個別プログラム４０の検索のために、プログラムのデータベースがサーバ１６もしくは当該パケット転送装置１２内に設けられてもよい。また個別プログラム４０を検索してダウンロードする場合は、ネットワークのトラフィックやサーバ１６の負荷を考慮して、ダウンロードにかかる時間ができるだけ短い場所から個別プログラム４０をダウンロードしてもよい。
【００２４】
プログラム記憶部３６は、個別プログラム４０以外に、標準的なパケット処理を行う予備プログラム４２をあらかじめ格納している。予備プログラム４２は、基本的なパケット転送のプログラムであるのに対して、個別プログラム４０はパケット処理に付加機能を提供するものである。たとえば、パケットの選択的な破棄やトラフィックシェーピング、連続メディアの転送レートや解像度の変更などを行う。予備プログラム４２や個別プログラム４０はライブラリとして利用される。
【００２５】
プログラム切り替え部３８は、プログラム記憶部３６に格納された個別プログラム４０と予備プログラム４２を切り替えて実行するようにプログラム実行部２６を制御する。ダウンロード部３４により個別プログラム４０のダウンロードが完了するまでの間は、プログラム切り替え部３８は予備プログラム４２を実行するようにプログラム実行部２６を制御する。ダウンロード部３４により個別プログラム４０のダウンロードが完了すると、プログラム切り替え部３８は、ダウンロード部３４からダウンロード完了通知を受けて、個別プログラム４０に切り替えて実行するようにプログラム実行部２６を制御する。さらに、プログラム切り替え部３８は、ストリームデータの特性に合わせて、複数の予備プログラム４２の間での切り替えや、複数の個別プログラム４０の間での切り替えを行うこともできる。
【００２６】
プログラム実行部２６は、プログラム切り替え部３８の指示により個別プログラム４０または予備プログラム４２を実行し、パケット処理部３０によるパケット転送処理の優先制御などを行う。プログラム実行部２６は、これらのプログラムをパケット処理部３０におけるパケット処理の一部に組み込んでもよい。またパケット処理部３０におけるプロトコル処理の際、プログラム実行部２６に制御を渡して、プログラムが実行されるようにしてもよい。パケット処理部３０によりプロトコル処理され、プログラム実行部２６により優先制御等がなされたパケットは、パケット処理部３０によりデータバッファ２４に書き出され、送信部２２により隣接ノードに転送される。
【００２７】
図３は、パケットのプログラムタグの例を説明する図である。パケットの先頭部、すなわちデータ５０の前に、個別プログラム４０の格納位置に関する情報を格納したプログラムタグ５２が付加される。この例では、プログラムタグ５２に個別プログラム４０のＵＲＬが指定されている。
【００２８】
図４（ａ）〜（ｃ）は、プログラムタグの別の例を説明する図である。この例では、プログラムタグに個別プログラム４０の格納位置を与えるのではなく、当該ストリームの特性を示す情報を与え、ダウンロード部３４が個別プログラム４０を検索する際の参考とする。この例では、ストリームのデータ種別がプログラムタグで指定される。図４（ａ）では、ストリームデータがリアルタイム型連続メディアであることを示すプログラムタグ５４ａが付加されている。図４（ｂ）では、蓄積型連続メディアであることを示すパラメータタグ５４ｂが付加されている。図４（ｃ）では、非連続データであることを示すプログラムタグ５４ｃが付加されている。
【００２９】
図５（ａ）、（ｂ）は、プログラムタグのさらに別の例を説明する図である。この例では、ストリームのメディア種別がプログラムタグで指定される。図５（ａ）では、ストリームデータが音声であることを示すプログラムタグ５６ａが付加されており、図５（ｂ）では、ストリームデータがビデオであることを示すプログラムタグ５６ｂが付加されている。この場合、ダウンロード部３４はメディア種別に合った個別プログラム４０を検索する。
【００３０】
プログラム記憶部３６に個別プログラム４０を記憶する際、プログラムタグを個別プログラム４０に関連づけて記憶することができる。図６は、個別プログラム４０と格納場所６２が関連づけられて記憶された状態を説明する図である。このように格納場所６２を個別プログラム４０に関連づけることにより、ダウンロード部３４はプログラムタグ抽出部３２が抽出した格納場所をインデックスとしてプログラム記憶部３６に対して検索を行い、該当する個別プログラム４０が既にダウンロードされているかどうかを調べることができる。
【００３１】
プログラムタグにストリームの特性が記述される場合も同様の関連づけが可能である。図７は、個別プログラム４０とストリーム特性６４が関連づけられて記憶された状態を説明する図である。この例では、リアルタイム型連続メディア、蓄積型連続メディア、非連続データのそれぞれのストリーム特性６４に異なる種類の個別プログラム４０が対応づけられている。ダウンロード部３４はプログラムタグ抽出部３２が抽出したストリーム特性をインデックスとしてプログラム記憶部３６に対して検索を実行し、ストリーム特性に合った個別プログラム４０が既にプログラム記憶部３６に存在しているかどうかを調べることができる。
【００３２】
該当する個別プログラム４０が既にプログラム記憶部３６に記憶されているなら、プログラムのバージョンアップに対応する必要がある場合を除き、ダウンロード部３４は、再度個別プログラム４０をダウンロードする必要はなく、その場合は、プログラム実行部２６は予備プログラム４２を実行することなく、直ちに個別プログラム４０を実行する。
【００３３】
以上の構成のパケット転送装置１２によるプログラム取得手順を図８のフローチャートを用いて説明する。サーバ１６から端末装置１０へのストリームの送信が開始され、パケット転送装置１２はストリームデータを受信する（Ｓ１０）。パケット転送装置１２のパケット処理部３０は、受信したパケットにプログラムタグがあるかどうか調べる（Ｓ１２）。プログラムタグがある場合（Ｓ１２のＹ）、プログラムタグ抽出部３２はプログラムタグから格納場所を示す情報を抽出して、ダウンロード部３４に与え、ダウンロード部３４は、この格納場所をインデックスとして、該当する個別プログラム４０が既にダウンロードされてプログラム記憶部３６に記憶されているかどうかを調べる（Ｓ１４）。
【００３４】
個別プログラム４０がダウンロードされていない場合（Ｓ１４のＮ）、ダウンロード部３４はプログラムタグが示す格納場所に個別プログラム４０の送信要求を発行する（Ｓ１６）。個別プログラム４０がダウンロードされるまでの間、プログラム切り替え部３８は、予備プログラム４２を実行するようにプログラム実行部２６を制御し、予備プログラム４２によるデータ転送がパケット処理部３０においてなされる（Ｓ１８）。ダウンロード部３４により個別プログラム４０の受信が完了し、個別プログラム４０がインストールされる（Ｓ２０）。プログラム切り替え部３８は、ダウンロード部３４からパケット処理部３０の受信完了の通知を受けて、個別プログラム４０に切り替えて実行するようにプログラム実行部２６を制御し、個別プログラム４０によるデータ転送がパケット処理部３０においてなされる（Ｓ２２）。
【００３５】
ステップＳ１４において、個別プログラム４０が既にダウンロード済みである場合（Ｓ１４のＹ）、個別プログラム４０のダウンロードをすることなく、ステップＳ２２に移り、プログラム切り替え部３８は直ちにプログラム記憶部３６に記憶されている個別プログラム４０に切り替えて実行するようにプログラム実行部２６を制御し、最初から個別プログラム４０によるデータ転送がなされる。
【００３６】
ステップＳ１２において、パケットにプログラムタグが含まれない場合（Ｓ１２のＮ）、パケットにプログラムが添付されているかどうか調べる（Ｓ２４）。パケットに個別プログラム４０が添付されている場合、ストリームのパケット転送を一時中断し（Ｓ２６）、個別プログラム４０をプログラム記憶部３６に記憶し、インストールする（Ｓ２８）。インストールが完了すると、プログラム切り替え部３８が個別プログラム４０を実行するようにプログラム実行部２６を制御し、個別プログラム４０によるデータ転送がパケット処理部３０において再開される（Ｓ３０）。
【００３７】
ステップＳ２４において、パケットにプログラムが添付されていない場合（Ｓ２４のＮ）、プログラム切り替え部３８は予備プログラム４２を実行するようにプログラム実行部２６を制御し、予備プログラム４２によるデータ転送がパケット処理部３０においてなされる（Ｓ３２）。
【００３８】
上記の手順ではプログラムタグに示された格納場所から個別プログラム４０をダウンロードしたが、プログラムタグにストリームデータの特性が記述されている場合は、その特性に合った個別プログラム４０が検索されてダウンロードされる。
【００３９】
さらに、ストリームデータを受信する端末装置１０に関する情報にもとづいて、個別プログラム４０の選択やパケットの変換処理を行ってもよい。端末装置１０に関する情報には、無線や有線など端末装置１０の接続形態に関する情報、ＣＰＵ、メモリの性能や受信可能なデータ量など端末装置１０の処理性能に関する情報、従量課金や定額課金などの端末装置１０に対する課金に関する情報などが含まれる。
【００４０】
たとえば、パケットの圧縮や暗号化などの符号化を行う場合、符号化の方式ごとに異なる個別プログラム４０を用意しておき、プログラム切り替え部３８は、端末装置１０の処理性能が低い場合には、復号処理の負荷が少ない簡単な符号化方式の個別プログラム４０を選択する。また端末装置１０が無線でネットワークに接続している場合は、プログラム切り替え部３８は、データの圧縮率の高い符号化方式の個別プログラム４０を選択する。
【００４１】
また、携帯電話にストリームを送信する場合のように、端末装置１０の処理性能が低い場合は、プログラム実行部２６は、メディアのデータを低解像度に変換して、端末装置１０に過度の負荷がかからないようにする。また端末装置１０が無線でネットワークに接続している場合は、プログラム実行部２６は、フレームレートを落として、無線の通信帯域に適合したデータ量になるように調整する。
【００４２】
また、ストリーム通信に対する課金に応じてサービス品質を異ならせることを目的に、ＱｏＳの保証レベルの異なる個別プログラム４０を選択してもよい。また、課金に応じて異なるＵＲＬをプログラムタグに指定することにより、ＱｏＳの保証レベルの異なる個別プログラム４０がダウンロードされるように構成してもよい。
【００４３】
以上述べたように、実施の形態のパケット転送装置１２によれば、端末装置１０へのストリームデータの転送を中断することなく、アクティブノード用の個別プログラム４０をダウンロードして、実行することができる。たとえば、リアルタイム型連続メディアのストリーム通信を行う場合、個別プログラム４０をダウンロードしている間も、少なくとも通常のパケット転送が行われるため、パケットの転送が中断して品質が著しく劣化する事態を避けることができる。個別プログラム４０を直接パケットに付加して送信するのではなく、個別プログラム４０の格納場所を示すタグをつけて送信するため、個別プログラム４０のサイズが大きい場合や、リアルタイム性が求められる通信の場合には特に有効である。
【００４４】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４５】
そのような変形例として、上記の説明では、アクティブノードとしてパケットの転送を行うルータやアクセスポイントを想定したが、ストリームデータを提供するサーバ自身がアクティブノードとなってもよい。また、上記の説明では、ストリーム配信を例に説明したが、本発明は、テレビ会議のように双方向性のあるリアルタイム通信や、端末装置間のピア・ツウ・ピア通信にも適用することができる。また、上記の説明では、個別プログラム４０がサーバ１６からダウンロードされてアクティブノードにインストールされたが、個別プログラム４０は端末装置１０からアクティブノードに送信してもよい。
【００４６】
【発明の効果】
本発明によれば、ネットワークノードにプログラムを効率よく投入して利用することができる。
【図面の簡単な説明】
【図１】実施の形態に係るアクティブネットワークの構成を説明する図である。
【図２】図１のパケット転送装置の機能構成図である。
【図３】パケットのプログラムタグの例を説明する図である。
【図４】図４（ａ）〜（ｃ）は、プログラムタグの別の例を説明する図である。
【図５】図５（ａ）、（ｂ）は、プログラムタグのさらに別の例を説明する図である。
【図６】図２のプログラム記憶部に個別プログラムとその格納場所が関連づけられて記憶された状態を説明する図である。
【図７】図２のプログラム記憶部に個別プログラムとストリーム特性が関連づけられて記憶された状態を説明する図である。
【図８】図２のパケット転送装置によるプログラム取得手順を説明するフローチャートである。
【符号の説明】
１０  端末装置、  １２  パケット転送装置、  １４  ルータ、  １６  サーバ、  ２０  受信部、  ２２  送信部、  ２４  データバッファ、  ２６  プログラム実行部、  ２８  制御部、  ３０  パケット処理部、  ３２  プログラムタグ抽出部、  ３４  ダウンロード部、  ３６  プログラム記憶部、  ３８  プログラム切り替え部、  ４０  個別プログラム、  ４２  予備プログラム。
【図１】
2004178472.tif 000003
【図２】
2004178472.tif 000004
【図３】
2004178472.tif 000005
【図４】
2004178472.tif 000006
【図５】
2004178472.tif 000007
【図６】
2004178472.tif 000008
【図７】
2004178472.tif 000009
【図８】
2004178472.tif 000010