(57)【要約】【課題】データを分割して複数のパケットで目的地ノードへ送信し、設定された出力時刻に出力させるシステムにて、目的地ノードが有すべきバッファの容量を削減する。【解決手段】処理対象パケットから読み込んだ予め設定された第１の経路に係る情報、及び複数のノード（処理ユニット）が伝送路を介して接続されるネットワークのステータス情報に基づいて、処理対象パケットが、始発ノードのパケット処理装置より送信されてから目的地ノードにて出力されるまでの所要時間を算出し、算出した前記所要時間が、処理対象パケットから読み込んだ出力時刻から現在の時刻を引いた差よりも小さい場合には、所要時間を増大させる第２の経路を算出して第２の経路により伝送するようにして、目的地ノードにおけるパケットの滞留時間を短縮させ、パケットを保持するために有すべきバッファの容量を削減できるようにする。【選択図】図１
2009004908.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ユニットが伝送路を介して通信可能に接続されたネットワークを介して、設定した出力時刻に出力させるデータを複数のパケットに分割して送信先の処理ユニットに伝送する通信装置であって、
前記パケットに設定された前記出力時刻及び第１の経路に係る情報を読み込むパケット読み込み手段と、
前記ネットワークの接続形態と、前記処理ユニット間の伝送遅延時間と、前記処理ユニットにおける処理時間とに係る情報を含む前記ネットワークのステータス情報を格納するネットワークステータス格納手段と、
前記パケット読み込み手段により読み込まれた前記第１の経路に係る情報、及び前記ネットワークステータス格納手段に格納されている前記ステータス情報に基づいて、前記通信装置より送信してから前記送信先の処理ユニットにて出力されるまでの所要時間を算出する所要時間算出手段と、
前記所要時間算出手段により算出された前記所要時間が、前記パケット読み込み手段により読み込まれた前記出力時刻から現在の時刻を引いた差よりも小さい場合には、前記パケットの伝送に係る第２の経路を算出する第２の経路算出手段と、
前記第２の経路算出手段により算出された第２の経路を前記パケットに書き込む第２の経路書き込み手段とを備えることを特徴とする通信装置。
【請求項２】
伝送路のネットワークで接続される複数の処理ユニットに複数のパケットを伝送し、各処理ユニットにおける処理タイミングを複数の処理ユニット間で調整するためにパケットの伝送経路を定める通信装置であって、
前記パケットのヘッダ部に設定された出力時刻及び第１の経路に係る情報を読み込むパケット読み込み手段と、
前記ネットワークのトポロジと、前記ネットワークにおける前記処理ユニット間の伝送遅延時間と、前記処理ユニットの処理時間とを含む前記ネットワークのステータス情報を格納するネットワークステータス格納手段と、
前記パケット読み込み手段が読み込んだ前記パケットの第１の経路に係る情報と、前記ネットワークステータス格納手段が格納する前記ステータス情報とから、前記通信装置から前記パケットの送信先の処理ユニットまでの所要時間を算出する所要時間算出手段と、
前記所要時間算出手段が算出した前記所要時間が、前記パケットの出力時刻から現在の時刻を引いた差の値より小さい場合には、前記パケットの第２の経路を算出する第２の経路算出手段と、
前記第２の経路算出手段が算出した第２の経路を前記パケットへ書き込む第２の経路書き込み手段とを備えることを特徴とする通信装置。
【請求項３】
前記第２の経路算出手段は、前記ネットワークステータス格納手段に格納されている前記ステータス情報に基づいて前記第２の経路の候補を算出し、前記出力時刻から現在の時刻を引いた値から、前記第２の経路の候補における処理ユニット間の伝送遅延時間と処理ユニットにおける処理時間とを合計した値を引いた値が、０以上でかつ最も０に近い経路を前記第２の経路として算出することを特徴とする請求項１又は２記載の通信装置。
【請求項４】
前記ネットワークステータス格納手段は、指示又は一定の時間間隔で収集される前記ステータス情報を格納することを特徴とする請求項１〜３の何れか１項に記載の通信装置。
【請求項５】
前記パケット読み込み手段は、動画画像データがペイロードであるパケットから前記出力時刻及び前記第１の経路に係る情報を読み込むことを特徴とする請求項１〜４の何れか１項に記載の通信装置。
【請求項６】
前記第２の経路書き込み手段は、前記ネットワークを介して接続され、かつディスプレイ装置を有する処理ユニットを送信先とする前記第２の経路を前記パケットに書き込むことを特徴とする請求項１〜５の何れか１項に記載の通信装置。
【請求項７】
複数の処理ユニットが伝送路を介して通信可能に接続されたネットワークを介して、設定した出力時刻に出力させるデータを複数のパケットに分割して送信先の処理ユニットに伝送する通信方法であって、
前記パケットに設定された前記出力時刻及び第１の経路に係る情報を読み込むパケット読み込みステップと、
前記ネットワークの接続形態と、前記処理ユニット間の伝送遅延時間と、前記処理ユニットにおける処理時間とに係る情報を含む前記ネットワークのステータス情報をデータ格納手段に格納するネットワークステータス格納ステップと、
前記パケット読み込みステップにて読み込まれた前記第１の経路に係る情報、及び前記データ格納手段に格納されている前記ステータス情報に基づいて、送信元の処理ユニットより送信してから前記送信先の処理ユニットにて出力されるまでの所要時間を算出する所要時間算出ステップと、
前記所要時間算出ステップにより算出された前記所要時間が、前記パケット読み込みステップにて読み込まれた前記出力時刻から現在の時刻を引いた差よりも小さい場合には、前記パケットの伝送に係る第２の経路を算出する第２の経路算出ステップと、
前記第２の経路算出ステップにより算出された第２の経路を前記パケットに書き込む第２の経路書き込みステップとを有することを特徴とする通信方法。
【請求項８】
伝送路のネットワークで接続される複数の処理ユニットに複数のパケットを伝送し、各処理ユニットにおける処理タイミングを複数のユニット間で調整するためにパケットの伝送経路を定める通信方法であって、
前記パケットのヘッダ部に設定された出力時刻及び第１の経路に係る情報を読み込むパケット読み込みステップと、
前記ネットワークのトポロジと、前記ネットワークにおける前記処理ユニット間の伝送遅延時間と、前記処理ユニットの処理時間とを含む前記ネットワークのステータス情報を格納するネットワークステータス格納ステップと、
前記パケット読み込みステップにて読み込んだ前記パケットの第１の経路に係る情報と、前記ネットワークステータス格納ステップにて格納した前記ステータス情報とから、前記パケットの送信元の処理ユニットから送信先の処理ユニットまでの所要時間を算出する所要時間算出ステップと、
前記所要時間算出ステップにて算出した前記所要時間と、前記パケットの出力時刻から現在の時刻を引いた値とを比較する比較ステップと、
前記比較ステップでの比較の結果、前記所要時間が、前記パケットの出力時刻から現在の時刻を引いた値より小さい場合に、前記パケットの第２の経路を算出する第２の経路算出ステップと、
前記第２の経路算出ステップにて算出した第２の経路を前記パケットへ書き込む第２の経路書き込みステップとを有することを特徴とする通信方法。
【請求項９】
前記第２の経路算出ステップでは、格納されている前記ステータス情報に基づいて前記第２の経路の候補を算出し、前記出力時刻から現在の時刻を引いた値から、前記第２の経路の候補における処理ユニット間の伝送遅延時間と処理ユニットにおける処理時間を合計した値を引いた値が、０以上でかつ最も０に近い経路を前記第２の経路として算出することを特徴とする請求項７又は８記載の通信方法。
【請求項１０】
前記ネットワークステータス格納ステップでは、指示又は一定の時間間隔で収集される前記ステータス情報を格納することを特徴とする請求項７〜９の何れか１項に記載の通信方法。
【請求項１１】
前記パケット読み込みステップでは、動画画像データがペイロードであるパケットから前記出力時刻及び前記第１の経路に係る情報を読み込むことを特徴とする請求項７〜１０の何れか１項に記載の通信方法。
【請求項１２】
前記第２の経路書き込みステップでは、前記ネットワークを介して接続され、かつディスプレイ装置を有する処理ユニットを送信先とする前記第２の経路を前記パケットに書き込むことを特徴とする請求項７〜１１の何れか１項に記載の通信方法。
【請求項１３】
複数の処理ユニットが伝送路を介して通信可能に接続されたネットワークを介して、設定した出力時刻に出力させるデータを複数のパケットに分割して送信先の処理ユニットに伝送する通信方法をコンピュータに実行させるためのプログラムであって、
前記パケットに設定された前記出力時刻及び第１の経路に係る情報を読み込むパケット読み込みステップと、
前記ネットワークの接続形態と、前記処理ユニット間の伝送遅延時間と、前記処理ユニットにおける処理時間とに係る情報を含む前記ネットワークのステータス情報をデータ格納手段に格納するネットワークステータス格納ステップと、
前記パケット読み込みステップにて読み出された前記第１の経路に係る情報、及び前記データ格納手段に格納されている前記ステータス情報に基づいて、送信元の処理ユニットより送信してから前記送信先の処理ユニットにて出力されるまでの所要時間を算出する所要時間算出ステップと、
前記所要時間算出ステップにより算出された前記所要時間が、前記パケット読み込みステップにて読み出された前記出力時刻から現在の時刻を引いた差よりも小さい場合には、前記パケットの伝送に係る第２の経路を算出する第２の経路算出ステップと、
前記第２の経路算出ステップにより算出された第２の経路を前記パケットに書き込む第２の経路書き込みステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、及びプログラムに関し、詳しくはデータを分割して格納したパケットを送受信するパケット通信技術に関する。
【背景技術】
【０００２】
コンピュータ通信において、データを分割して格納したパケットを送受信するパケット通信は従来から利用されている。パケット通信を利用すると、送信元から送信先への伝送経路が複数選択できる場合には、伝送路ネットワークの状況に応じて柔軟に経路選択が行える。パケット通信を利用することにより、送信元と送信先の間で通信回線が占有されることがなくなり、通信回線を効率良く利用することができる。また、伝送路ネットワークの一部に障害が発生した場合、障害のない経路を選択することによって通信が可能である。
【０００３】
上述のような効果があるため、位置的、時間的な制約を持つ、動画などのストリームデータを扱うストリームデータ配信システムにパケット通信が利用される。このようなシステムでは、送信元ノードが必ずしも１つであるとは限らず、送信元ノードが複数の場合もある。また、送信元ノードと送信先ノードの間に存在する複数の中継ノードを通過することや、中継ノードにてパケット処理を行うことも考えられる。
【０００４】
特開平８−３２６２３号公報には、ネットワークシステムにおいて、個々のデータパケットの受け渡し時間に関する事情に適合するようにデータ送達をすることが記載されている。
【０００５】
複数のディスプレイに同時に同一の映像を表示させるようなストリームデータ配信システムでは、パケットのペイロードが出力される時刻を決定し、その時刻までにパケットを目的地ノードへ到着させ、さらにパケット処理を完了させる方式をとることがある。このとき、出力時刻が予め定められたパケットの伝送経路上に存在する各ノードでの処理時間や伝送路の伝送遅延時間による目的地ノードでのパケット処理完了までの所要時間を制御する機能が要求される。従来においては、図１４に示すようにパケットの目的地ノードにバッファを設け、バッファにパケットを格納して出力処理前の待機時間を制御することによって、決められた出力時刻における出力を実現している。
【０００６】
図１４は、複数のディスプレイに同時に同一の映像を表示させるようなストリームデータ配信システムにおける目的地ノードとしての従来のパケット処理装置の構成を示す図である。図１４に示すパケット処理装置１００は、パケット読み込み部１０１、バッファ１０２、パケット処理部１０３、及びパケット処理タイミング制御部１０４を有する。
【０００７】
パケット読み込み部１０１は、受信したパケットのペイロードを出力させる出力時刻を該パケットから読み込む。バッファ１０２は、受信したパケットを格納し、パケット処理部１０３におけるパケット処理前の待機時間を設ける。パケット処理部１０３は、バッファ１０２から供給されたパケットに対して出力するためのパケット処理を施す。
【０００８】
パケット処理タイミング制御部１０４は、時計機能を内蔵しており、パケットの出力時刻にパケット処理部１０３での処理を完了させるためのタイミング制御を行う。具体的には、パケット処理タイミング制御部１０４は、パケット読み込み部１０１からパケットの出力時刻を読み込み、パケット処理部１０３からパケットの処理時間を読み込む。そして、パケット処理部１０３によるパケット処理が完了する時刻がパケットの出力時刻となるように、バッファ１０２からパケット処理部１０３へパケットを渡す。
【０００９】
図１５は、複数のディスプレイに同時に同一の映像を表示させるようなストリームデータ配信システムにおけるパケット処理の同期方法を説明するための図である。図１５においては、送信元である始発ノード２００から２個のパケットを送信先である近傍目的地ノード２０１及び遠方目的地ノード２０４へ送信する場合のデータの流れを示している。
【００１０】
始発ノード２００は、経路２０２を使用して近傍目的地ノード２０１にパケット１を送信する。また、始発ノード２００は、経路２０５を使用して遠方目的地ノード２０４にパケット２を送信する。パケット１及びパケット２は、始発ノード２００から同時に送信される。ここで、経路２０２は、経路２０５よりも経路長が短いものとし、パケット１及びパケット２には、同一のパケット出力時刻が設定されているものとする。
【００１１】
目的地ノード２０１、２０４は、図１４に示したパケット処理装置１００と同様のパケット処理装置２０３、２０６をそれぞれ備えている。経路２０２は、経路２０５より経路長が短いため、始発ノード２００から送信されたパケット１はパケット２よりも早く目的地ノードへ到着する。
【００１２】
目的地ノード２０１、２０４のパケット出力時刻を同期させるために、近傍目的地ノード２０１（パケット処理装置２０３）と、遠方目的地ノード２０４（パケット処理装置２０６）の各パケット処理タイミング制御部は独立に動作する。それぞれの目的地ノード２０１、２０４において、パケット処理タイミング制御部は、パケットをバッファへ格納することでパケット処理前の待機時間を設け、パケット処理が完了する時刻をパケット出力時刻となるよう制御する。このようにして、近傍目的地ノード２０１と遠方目的地ノード２０４におけるパケット処理の同期をとることができる。
【００１３】
【特許文献１】特開平８−３２６２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、上述した従来技術においては、ストリームデータを分割して複数のパケットのペイロードとして送信し、複数の目的地ノードで同期出力を実現するためには、待機時間中、目的地ノードに到着する他のパケットも格納しなければならない。すなわち、パケットが目的地ノードに到着してからパケット処理が開始される時刻まで待機する間、目的地ノードに到着する他のパケットも格納しなければならない。
【００１５】
分割されたストリームデータがパケットのペイロードであるので、次々にパケットが目的地ノードへ到着する。そのパケットを保持するために、目的地ノードには膨大な容量のバッファが必要となる。仮に、バッファが待機のために格納すべきパケットを格納できない場合には、パケットロスになることがある。
【００１６】
本発明は、データを分割して複数のパケットで目的地ノードへ送信し、設定された出力時刻に出力させるシステムにて、目的地ノードが有すべきバッファの容量を削減することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の通信装置は、複数の処理ユニットが伝送路を介して通信可能に接続されたネットワークを介して、設定した出力時刻に出力させるデータを複数のパケットに分割して送信先の処理ユニットに伝送する通信装置であって、前記パケットに設定された前記出力時刻及び第１の経路に係る情報を読み込むパケット読み込み手段と、前記ネットワークの接続形態と、前記処理ユニット間の伝送遅延時間と、前記処理ユニットにおける処理時間とに係る情報を含む前記ネットワークのステータス情報を格納するネットワークステータス格納手段と、前記パケット読み込み手段により読み込まれた前記第１の経路に係る情報、及び前記ネットワークステータス格納手段に格納されている前記ステータス情報に基づいて、前記通信装置より送信してから前記送信先の処理ユニットにて出力されるまでの所要時間を算出する所要時間算出手段と、前記所要時間算出手段により算出された前記所要時間が、前記パケット読み込み手段により読み込まれた前記出力時刻から現在の時刻を引いた差よりも小さい場合には、前記パケットの伝送に係る第２の経路を算出する第２の経路算出手段と、前記第２の経路算出手段により算出された第２の経路を前記パケットに書き込む第２の経路書き込み手段とを備えることを特徴とする。
本発明の通信装置は、伝送路のネットワークで接続される複数の処理ユニットに複数のパケットを伝送し、各処理ユニットにおける処理タイミングを複数の処理ユニット間で調整するためにパケットの伝送経路を定める通信装置であって、前記パケットのヘッダ部に設定された出力時刻及び第１の経路に係る情報を読み込むパケット読み込み手段と、前記ネットワークのトポロジと、前記ネットワークにおける前記処理ユニット間の伝送遅延時間と、前記処理ユニットの処理時間とを含む前記ネットワークのステータス情報を格納するネットワークステータス格納手段と、前記パケット読み込み手段が読み込んだ前記パケットの第１の経路に係る情報と、前記ネットワークステータス格納手段が格納する前記ステータス情報とから、前記通信装置から前記パケットの送信先の処理ユニットまでの所要時間を算出する所要時間算出手段と、前記所要時間算出手段が算出した前記所要時間が、前記パケットの出力時刻から現在の時刻を引いた差の値より小さい場合には、前記パケットの第２の経路を算出する第２の経路算出手段と、前記第２の経路算出手段が算出した第２の経路を前記パケットへ書き込む第２の経路書き込み手段とを備えることを特徴とする。
本発明の通信方法は、複数の処理ユニットが伝送路を介して通信可能に接続されたネットワークを介して、設定した出力時刻に出力させるデータを複数のパケットに分割して送信先の処理ユニットに伝送する通信方法であって、前記パケットに設定された前記出力時刻及び第１の経路に係る情報を読み込むパケット読み込みステップと、前記ネットワークの接続形態と、前記処理ユニット間の伝送遅延時間と、前記処理ユニットにおける処理時間とに係る情報を含む前記ネットワークのステータス情報をデータ格納手段に格納するネットワークステータス格納ステップと、前記パケット読み込みステップにて読み込まれた前記第１の経路に係る情報、及び前記データ格納手段に格納されている前記ステータス情報に基づいて、送信元の処理ユニットより送信してから前記送信先の処理ユニットにて出力されるまでの所要時間を算出する所要時間算出ステップと、前記所要時間算出ステップにより算出された前記所要時間が、前記パケット読み込みステップにて読み込まれた前記出力時刻から現在の時刻を引いた差よりも小さい場合には、前記パケットの伝送に係る第２の経路を算出する第２の経路算出ステップと、前記第２の経路算出ステップにより算出された第２の経路を前記パケットに書き込む第２の経路書き込みステップとを有することを特徴とする。
本発明の通信方法は、伝送路のネットワークで接続される複数の処理ユニットに複数のパケットを伝送し、各処理ユニットにおける処理タイミングを複数のユニット間で調整するためにパケットの伝送経路を定める通信方法であって、前記パケットのヘッダ部に設定された出力時刻及び第１の経路に係る情報を読み込むパケット読み込みステップと、前記ネットワークのトポロジと、前記ネットワークにおける前記処理ユニット間の伝送遅延時間と、前記処理ユニットの処理時間とを含む前記ネットワークのステータス情報を格納するネットワークステータス格納ステップと、前記パケット読み込みステップにて読み込んだ前記パケットの第１の経路に係る情報と、前記ネットワークステータス格納ステップにて格納した前記ステータス情報とから、前記パケットの送信元の処理ユニットから送信先の処理ユニットまでの所要時間を算出する所要時間算出ステップと、前記所要時間算出ステップにて算出した前記所要時間と、前記パケットの出力時刻から現在の時刻を引いた値とを比較する比較ステップと、前記比較ステップでの比較の結果、前記所要時間が、前記パケットの出力時刻から現在の時刻を引いた値より小さい場合に、前記パケットの第２の経路を算出する第２の経路算出ステップと、前記第２の経路算出ステップにて算出した第２の経路を前記パケットへ書き込む第２の経路書き込みステップとを有することを特徴とする。
本発明のプログラムは、複数の処理ユニットが伝送路を介して通信可能に接続されたネットワークを介して、設定した出力時刻に出力させるデータを複数のパケットに分割して送信先の処理ユニットに伝送する通信方法をコンピュータに実行させるためのプログラムであって、前記パケットに設定された前記出力時刻及び第１の経路に係る情報を読み込むパケット読み込みステップと、前記ネットワークの接続形態と、前記処理ユニット間の伝送遅延時間と、前記処理ユニットにおける処理時間とに係る情報を含む前記ネットワークのステータス情報をデータ格納手段に格納するネットワークステータス格納ステップと、前記パケット読み込みステップにて読み込まれた前記第１の経路に係る情報、及び前記データ格納手段に格納されている前記ステータス情報に基づいて、送信元の処理ユニットより送信してから前記送信先の処理ユニットにて出力されるまでの所要時間を算出する所要時間算出ステップと、前記所要時間算出ステップにより算出された前記所要時間が、前記パケット読み込みステップにて読み込まれた前記出力時刻から現在の時刻を引いた差よりも小さい場合には、前記パケットの伝送に係る第２の経路を算出する第２の経路算出ステップと、前記第２の経路算出ステップにより算出された第２の経路を前記パケットに書き込む第２の経路書き込みステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、送信元の処理ユニットより送信してから送信先の処理ユニットにて出力されるまでの所要時間が、パケットに設定された出力時刻から現在の時刻を引いた差よりも小さい場合には、所要時間を増大させる第２の経路を算出しパケットに書き込む。これにより、送信先の処理ユニットにおけるパケットの滞留時間を短縮することができ、送信先の処理ユニットがパケットを保持するために有すべきバッファの容量を削減することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態を図面に基づいて説明する。
【００２０】
図１は、本発明の一実施形態に係る通信装置を適用したパケット処理装置（処理ユニット）３００の構成例を示す図である。本実施形態におけるパケット処理装置（処理ユニット）３００は、例えば、ストリームデータを分割して複数のパケットにより伝送し、複数のディスプレイ装置に同時に同一の映像を表示させるようなストリームデータ配信システムに適用して好適なものである。すなわち、それぞれがディスプレイ装置を有する複数の目的地ノード（処理ユニット）に対してストリームデータを分割して複数のパケットにより伝送し、複数の目的地ノード間で処理タイミングの調整を行い同期出力させるシステムに用いて好適である。
【００２１】
パケット処理装置３００は、パケット読み込み手段３０１、所要時間算出手段３０２、第２の経路算出手段３０３、第２の経路書き込み手段３０４、及びネットワークステータス格納手段３０５を有する。図３において、矢印はデータの流れを示している。
【００２２】
ここで、パケット処理装置３００が送信するパケットには、送信先の処理ユニットである目的地ノードで設定された出力時刻に出力させるストリームデータ（動画画像データ）を分割してペイロードとしたパケットが含まれる。また、分割したストリームデータ（動画画像データ）がペイロードである複数のパケットを複数の目的地ノードに伝送し、複数の目的地ノードにて同期出力させるようなパケットも含まれる。
【００２３】
ネットワークステータス格納手段３０５には、パケット処理装置３００及び送信先の処理ユニットである目的地ノードを含む複数の処理ユニット（ノード）が伝送路を介して通信可能に接続されたネットワークのステータス情報が格納されている。ネットワークのステータス情報は、ネットワークの接続形態（トポロジ）、通信可能な処理ユニット間毎の信号の伝送にかかる伝送遅延時間、処理ユニットにおける処理時間、及び処理ユニットにて実行可能な処理を示す処理種別に係る情報を含む。伝送遅延時間に係る情報は、通信可能な処理ユニット間における伝送方向毎に収集され格納される。
【００２４】
パケット読み込み手段３０１は、送信するパケットから、そのヘッダ部に設定された該パケットのペイロードの出力時刻と予め決定された伝送経路である第１の経路に係る情報とを読み込み、所要時間算出手段３０２に出力する。
【００２５】
所要時間算出手段３０２は、パケット読み込み手段３０１から供給された情報と、ネットワークステータス格納手段３０５に格納されたステータス情報とから、パケットを送信してから送信先である目的地ノードに到着して出力されるまでの所要時間を算出する。具体的には、所要時間算出手段３０２は、パケット読み込み手段３０１からの第１の経路に係る情報及びネットワークステータス格納手段３０５に格納されたステータス情報に基づいて、第１の経路上での伝送遅延時間及び処理時間を積算して所要時間を算出する。
【００２６】
第２の経路算出手段３０３は、所要時間算出手段３０２が算出した所要時間と、パケット読み込み手段３０１が読み込んだ出力時刻から現在の時刻を引いた差とを比較し、比較結果に応じて第１の経路とは異なる迂回経路としての第２の経路を算出する。詳細には、第２の経路算出手段３０３は、所要時間算出手段３０２が算出した所要時間が、出力時刻から現在の時刻を引いた差よりも小さい場合には、第２の経路の算出を行う。
【００２７】
第２の経路の算出は、ネットワークステータス格納手段３０５に格納されているステータス情報に基づいて第２の経路の候補を算出する。そして、出力時刻から現在の時刻を引いた値から、第２の経路の候補における伝送遅延時間と処理時間を合計した値を引いた値が、０以上でかつ最も０に近い経路を第２の経路として選択する。
【００２８】
第２の経路書き込み手段３０４は、第２の経路算出手段３０３が第２の経路を算出した場合には、算出した第２の経路を送信するパケットのヘッダ部に書き込む。
【００２９】
図２は、本実施形態におけるパケット処理装置の利用形態の一例を示す概念図である。
図２において、送信元の処理ユニットである始発ノード４０１は、ストリームデータをパケットのペイロードに載せて、送信先の処理ユニットである近傍目的地ノード４０３へ配信する。始発ノード４０１は、図１に示した本実施形態におけるパケット処理装置を備え、近傍目的地ノード４０３は、図１４に示したパケット処理装置を備える。ここで、「遠方／近傍」とは、それぞれ「始発ノードから目的地ノードへ到達するまでに累積した伝送遅延時間及び処理時間、すなわち所要時間が大きい／小さい」という意味である。
【００３０】
始発ノード４０１のパケット処理装置は、近傍目的地ノード４０３へ送信するパケットの伝送経路を、伝送路４１１のみからなる経路、及び伝送路４１２と中間ノード（処理ユニット）４０２と伝送路４１３で構成される経路４２０から選択する。このとき、始発ノード４０１のパケット処理装置は、各ノードの利用可能バッファ容量や所要時間を勘案して、選択可能な経路又は効率の良い経路を選択する。
【００３１】
例えば、近傍目的地ノード４０３がパケットを保持するためのバッファ容量が足りない場合は、経路４１１を選択肢から外す。また、例えば、経路４２０を選択すると深刻なネットワーク負荷の増大をもたらす場合で、経路４１１を選択しても近傍目的地ノード４０３にパケットを保持すべきバッファが充分ある場合には、経路４１１を選択する。
【００３２】
図３は、本実施形態におけるパケット処理装置の利用形態の他の例を示す概念図である。図３に示す利用形態例は、図２に示した利用形態とは異なり、パケットを中継する処理ユニットである中間ノード及び送信先の処理ユニットである目的地ノードが複数である場合を示している。
【００３３】
図３に示す例では、ノード（５０１〜５１２）が伝送路（５１１〜５１９）及び（５２０〜５２７）を介して通信可能に接続されてネットワーク５００が構成されている。
送信元の処理ユニットである始発ノード１１（５０１）は、図１に示した本実施形態におけるパケット処理装置を備える。また、目的地ノード２１（５０４）、目的地ノード２２（５０５）、目的地ノード４１（５１０）、目的地ノード３１（５０７）、目的地ノード４３（５１２）は、図１４に示したパケット処理装置を備える。
【００３４】
始発ノード１１（５０１）は、目的地ノードで同期して出力すべきデータを載せたパケットを、目的地ノード２１（５０４）、目的地ノード２２（５０５）、目的地ノード４１（５１０）、目的地ノード３１（５０７）、目的地ノード４３（５１２）へ送信する。このとき、始発ノード１１（５０１）のパケット処理装置が、複数の目的地ノードについて第２の経路を適宜算出し、複数の目的地ノードへ送信されるそれぞれのパケットに、伝送される経路５３１〜５３６に係る情報を書き込む。
【００３５】
図４は、本実施形態におけるパケット処理装置での処理手順を示すフローチャートである。図４において、矢印はデータの流れを示し、各ステップを結ぶ線分は、処理のつながりを示している。
【００３６】
まず、パケット入力ステップ６０１にて、送信する処理対象パケットを本実施形態におけるパケット処理装置に入力する。
次に、パケット読み込みステップ６０２にて、パケット読み込み手段３０１は、処理対象パケットのヘッダ部から、設定されたパケットの出力時刻及び予め決定された伝送経路（第１の経路）に係る情報を読み込み、データ格納部６０９へ格納する。
【００３７】
次に、所要時間算出ステップ６０３にて、所要時間算出手段３０２は、ネットワークステータス格納手段６１０に格納されている伝送路（ノード間）における伝送遅延時間及び各ノードでの処理時間を取得する。また、所要時間算出手段３０２は、パケット読み込みステップ６０２において読み込まれデータ格納部６０９に格納された第１の経路に係る情報を取得する。そして、所要時間算出手段３０２は、パケットを送信してから送信先である目的地ノードにおいて出力されるまでの所要時間及び目的地ノードにおいて出力されるまでに必要なバッファの容量を算出してデータ格納部６０９へ格納する。
【００３８】
次に、パケット有効／無効判断ステップ（比較ステップ）であるステップ６０４及び６０５について説明する。ここで、Ｔｊｕｄｇｅ（Tjudgement）は、処理対象パケットが有効か無効かを示す指標である。
【００３９】
ステップ６０４にて、第２の経路算出手段３０３は、所要時間算出ステップ６０３において算出された所要時間の値と、出力時刻から現在の時刻を引いた差の値とを比較する。具体的には、出力時刻から現在の時刻を引いた値から、所要時間算出ステップ６０３において算出された所要時間の値を減算し、指標Ｔｊｕｄｇｅを算出する。
【００４０】
その結果、所要時間算出ステップ６０３において算出された所要時間の値が、出力時刻から現在の時刻を引いた値より大きい場合、処理対象パケットが、たとえ送信しても出力時刻の出力が間に合わない無効なパケットであることを示す。すなわち、ステップ６０５にて、指標Ｔｊｕｄｇｅの値が負である場合には、処理対象パケットは無効であるので処理を終了する。
【００４１】
一方、所要時間算出ステップ６０３において算出された所要時間の値が、出力時刻から現在の時刻を引いた値より小さい、すなわち指標Ｔｊｕｄｇｅの値が正である場合には、処理対象パケットは有効であるので第２の経路算出ステップ６０６に進む。
【００４２】
次に、第２の経路算出ステップ６０６について説明する。
第２の経路算出手段３０３は、処理対象パケットについて、第１の経路とは異なる実現可能な他の経路を想定して第２の経路を算出する。このとき、第２の経路算出手段３０３は、バッファ使用量が最小となるように、言い換えれば、使用するバッファがより多くのノードに分散するように、またネットワークトラフィックの偏りがないように、第２の経路を算出する。
【００４３】
詳細には、第２の経路算出手段３０３は、ネットワークステータス格納手段６１０に格納されているステータス情報に基づいて、第２の経路の候補を算出する。そして、算出した第２の経路の候補と設定済みの経路とを比較して、目的地ノードでのバッファ使用量が少ない経路を第２の経路として設定し、算出結果をデータ格納部６０９へ格納する。
【００４４】
次に、第２の経路書き込みステップ６０７にて、第２の経路書き込み手段３０４は、第２の経路算出ステップ６０６において算出された、第２の経路に係る情報をデータ格納部６０９から読み出し、処理対象パケットのヘッダ部へ書き込む。
次に、パケット出力ステップ６０８にて、パケット処理装置は処理対象パケットを最終的に目的地ノードに到達するよう送信する。
【００４５】
図５は、図４に示したパケット読み込みステップ６０２の処理手順を示すフローチャートである。
パケット読み込みステップ６０２は、パケット出力時刻読み出しステップ７０１と、経路情報読み出しステップ７０２と、両ステップにおいて読み出された値をデータ格納部７０３へ格納する処理を含む。パケット出力時刻読み出しステップ７０１では、パケット読み込み手段３０１が処理対象パケットから出力時刻を読み出し、経路情報読み出しステップ７０２では、パケット読み込み手段３０１が処理対象パケットから第１の経路に係る情報を読み出す。
【００４６】
図６は、図４に示した所要時間算出ステップ６０３の処理手順を示すフローチャートである。
ステップ８０１にて、所要時間算出手段３０２は、データ格納部８０６からパケットが経路上のノードにおいて処理される内容を読み込む。次に、ステップ８０２にて、所要時間算出手段３０２は、ネットワークのトポロジ情報を読み込む。
【００４７】
次に、所要時間算出手段３０２は、ステップ８０３にて、図７（Ａ）に示すノード処理時間リスト（処理時間テーブル）９００を読み込み、ステップ８０４にて、図７（Ｂ）に示すノード間遅延時間リスト（伝送遅延時間テーブル）９０１を読み込む。
【００４８】
図７に、ネットワークのステータス情報のテーブルである、処理時間テーブル９００及び伝送遅延時間テーブル９０１の一例を示す。
図７（Ａ）に示す処理時間テーブル９００は、情報が収集された時刻、各ノード名、各ノードの可能処理種別、可能処理種別ごとの処理時間（所要時間）に係る情報で構成される。また、図７（Ｂ）に示す伝送遅延時間テーブル９０１は、情報が収集された時刻、各伝送路名、各伝送路を伝送する場合の順方向と逆方向の伝送遅延時間（所要時間）に係る情報で構成される。ここで、処理時間テーブル９００及び伝送遅延時間テーブル９０１を構成する各情報は、外部からの指示又は一定の時間間隔で収集される。
【００４９】
図６に示したステップ８０５にて、所要時間算出手段３０２は、ステップ８０１〜８０４において読み込んだ各情報に基づいて、処理対象パケットを送信してから目的地ノードにて出力されるまでの所要時間を算出し、算出結果をデータ格納部８０６へ格納する。
【００５０】
図８に、伝送経路上に中継ノードが存在しない場合（１０００）の伝送路における伝播遅延時間と、伝送経路上に１つの中継ノードが存在する場合（１０１０）の伝送路における伝播遅延時間をタイミングチャートで示す。
【００５１】
タイミングチャート１０００と１０１０において、横軸は１クロックサイクルを単位とした時間を示し、縦軸１００１と１０１１は、バッファへ格納されるブロック数を示す。図中、四角囲み１００２と１０１２において、転送処理対象ブロック名によって転送時刻を示している。
【００５２】
図８において、ブロックは実線囲みで示しており、ｂから始まるインデックスを正方形で囲み図示している。正方形囲みで示すｂ１からｂ８と表記したブロックは、ｂ１〜ｂ８の８ブロックが一組であるひとつの処理対象データである。１００３、１００４、１０１３〜１０１６は、バッファに格納されたブロックの状態を示している。
【００５３】
ブロックが階段状に配置され、かつ右方向へ下る形状のものは、送信元ノード（Ｎｏｄｅ１）におけるバッファのブロック格納に関するものである。また、ブロックが階段状に配置され、右方向へ上る形状のものは、送信先ノード（Ｎｏｄｅ２）におけるバッファのブロック格納に関するものである。ここで、１つのブロックは、１回のノード間転送で伝送され、１回のノード間転送は１サイクルで行われることを前提とする。
【００５４】
状態１００３は、四角囲み１００２に示したｂ２の時刻において、送信元ノード（Ｎｏｄｅ１）の送信バッファにｂ２〜ｂ８までの７つのブロックが格納され、また送信先ノード（Ｎｏｄｅ２）の受信バッファに１つのブロックｂ１が格納されていることを示す。そして、ブロックｂ２がバストランザクションによって、送信先ノードへ転送されつつあることを示す。状態１００４は、送信先ノード（Ｎｏｄｅ２）の受信バッファにｂ１〜ｂ８までのすべてのブロックが格納され、ひとつの処理対象データの転送が完了したことを示す。
【００５５】
状態１０１３は、状態１００３と同様である。状態１０１４は、状態１００４と同様である。状態１０１５は、中間ノード（Ｎｏｄｅ２）の送信バッファへデータが格納された状態を示す。状態１０１４から状態１０１５への遷移、つまりＮｏｄｅ２が受信バッファから送信バッファへデータを移動する処理のためにＮｏｄｅ２は１サイクル消費する。
【００５６】
タイミングチャート１０００と１０１０から明らかなように、伝送遅延時間は、中継ノード（Ｎｏｄｅ２）を介してデータ転送を行う場合には、中間ノード（Ｎｏｄｅ２）を介さない経路を使用した場合の約２倍である。
【００５７】
図９は、始発ノード（ノード１１）から目的地ノード（ノード１２）へ２通りの経路で伝送されるパケットが、伝送中、ノード処理中、バッファ格納中のどの状態であるかを模式的に示す図である。図９を参照して、始発ノード（ノード１１）と目的地ノード（ノード１２）の間に中間ノード（ノード２１とノード２２）を持つ経路（ＰＡＴＨ１）、及び中間ノードがない経路（ＰＡＴＨ２）の２通りの場合における必要バッファ容量について説明する。
【００５８】
図９において、横軸は時刻であり、縦に並べて２つの経路ＰＡＴＨ１とＰＡＴＨ２におけるパケットの状態を示している。経路ＰＡＴＨ１、ＰＡＴＨ２において、始発ノード（ノード１１）からパケットを送信する時刻はＴ０、目的地ノード（ノード１２）で出力する出力時刻はＴｓである。
【００５９】
１１０１は、ノード１１からノード２１へパケットを伝送するために必要な伝送遅延時間である。１１０２は、処理対象パケットのノード２１の受信バッファにおけるバッファ滞留時間である。１１０３は、ノード２１が処理対象パケットに対して所定の処理Ａを実施するときの処理時間である。１１０４は、処理対象パケットのノード２１のバッファにおけるバッファ滞留時間である。１１０５は、処理対象パケットのノード１２の受信バッファにおけるバッファ滞留時間である。１１０６は、ノード１２が処理対象パケットに対して処理Ｃを実施し、データを出力するための時間である。
【００６０】
１１０７は、経路ＰＡＴＨ２における処理対象パケットのノード１２の受信バッファにおけるバッファ滞留時間である。
図９から明らかなように、経路ＰＡＴＨ２は経路ＰＡＴＨ１に比べて、同一バッファ（ノード１２のバッファ）におけるバッファ滞留時間が長い。ここで、パケットのペイロードは、分割されたストリームデータであり、パケットは時々刻々送信元ノードから目的地ノードへ送信されるため、時間経過に伴いパケットが目的地ノードへ到着し、目的地ノードが有するバッファへ格納される。
【００６１】
そのため、経路ＰＡＴＨ１と経路ＰＡＴＨ２にて、バッファ滞留時間の比は実装する必要があるバッファ容量の比と同じであると言える。つまり、経路ＰＡＴＨ２のように、中間ノードを経由しない経路での伝送を前提とするシステムにおいては、個々のノードに大容量のバッファを備える必要がある。
【００６２】
図１０は、図４に示した第２の経路算出ステップ６０６の処理手順を示すフローチャートである。
【００６３】
ステップ１２００にて、第２の経路算出手段３０３は、目的地ノードにおける出力時刻から現在の時刻を引いた時間Ｔｊｕｄｇｅをデータ格納部１２０２から読み込む。
次に、ステップ１２２０では、有効な送信元ノードＮｉのすべてについてのループ処理を実行する。
【００６４】
まず、ステップ１２０１にて、第２の経路算出手段３０３は、データ格納部１２０２に置かれた送信元ノードリスト１２０５から送信元ノードＮｉに係る情報を読み出す。具体的には、送信元ノードリスト１２０５から、ノード名Ｎｉ、始発ノードＮ０の送信時刻からノードＮｉでの処理終了時刻までの時間Ｔｉ、始発ノードＮ０からノードＮｉへの経路情報Ｐ０ｉを読み込む。ここで、送信元ノードリスト１２０５には、デフォルトでは、Ｎ０（始発ノード＝第２の経路算出時のパケットが存在する送信元ノード）に係る情報が登録されており、初回参照時には始発ノードであるノードＮ０が送信元ノードとして選択される。
【００６５】
次のステップ１２３０では、送信元ノードＮｉを固定した状態で、送信元ノードＮｉに接続するすべての伝送路と、その伝送路に接続する送信先ノードについて、ステップ１２３１〜１２３８の処理を実施する。
ステップ１２３１〜１２３８の処理では、経路における伝送遅延時間及び経路を介して接続する送信先ノードの処理時間を計算し、出力時刻までに処理対象パケットが目的地ノードへ到着することが可能な経路を判別して経路リストへ格納する。
【００６６】
ステップ１２３１にて、第２の経路算出手段３０３は、送信元ノードＮｉとそれに通信可能に接続された送信先ノードＮｉｊを結ぶ伝送路の伝送遅延時間Ｔｎｄ＿Ｐｉｊを、データ格納部１２０２内のネットワークステータス格納部１２０３から読み込む。
【００６７】
次に、ステップ１２３２にて、第２の経路算出手段３０３は、時間Ｔｊｕｄｇｅと、時間（Ｔｎｄ＿Ｐｉｊ＋Ｔｉ）とを比較する。
その結果、Ｔｊｕｄｇｅ＞（Ｔｎｄ＿Ｐｉｊ＋Ｔｉ）である場合には、出力時刻にパケット伝送が間に合わないということであるので、パスＰｉｊを選択することはできない。ここで、始発ノードＮ０から送信元ノードＮｉの経路については、既にＴｊｕｄｇｅ＞Ｔｉを満たすことが確認されているので、第２の経路算出手段３０３は、Ｔｊｕｄｇｅ＞Ｔｉを満たす経路として経路を確定することができる。このとき、ステップ１２３６にて、第２の経路算出手段３０３は、経路リスト１２０４に始発ノードＮ０から送信元ノードＮｉの経路が確定したことを示すフラグを立てる。
【００６８】
一方、ステップ１２３２での比較の結果、Ｔｊｕｄｇｅ＜（Ｔｎｄ＿Ｐｉｊ＋Ｔｉ）である場合には、次のステップ１２３３にて、第２の経路算出手段３０３は、送信先ノードＮｉｊの処理時間Ｔｎｐ＿ｉｊをネットワークステータス格納部１２０３から読み込む。
【００６９】
次に、ステップＳ１２３４にて、第２の経路算出手段３０３は、始発ノードＮ０から現在の送信元ノードＮｉを経由してパスＰｉｊで接続される送信先ノードＮｉｊの処理が終了する時刻までの時間Ｔｊ（＝Ｔｎｄ＿ｉｊ＋Ｔｎｄ＿Ｐｉｊ＋Ｔｉ）を算出する。
そして、ステップ１２３５にて、第２の経路算出手段３０３は、時間Ｔｊｕｄｇｅと時間Ｔｊとを比較する。
【００７０】
その結果、Ｔｊｕｄｇｅ＜Ｔｊである場合には、出力時刻にパケット伝送が間に合わないということであるので、パスＰｉｊを選択することはできない。ここで、始発ノードＮ０から送信元ノードＮｉの経路については、既にＴｊｕｄｇｅ＞Ｔｉを満たすことが確認されているので、第２の経路算出手段３０３は、Ｔｊｕｄｇｅ＞Ｔｉを満たす経路として経路を確定することができる。このとき、ステップ１２３６にて、第２の経路算出手段３０３は、経路リスト１２０４に始発ノードＮ０から送信元ノードＮｉの経路が確定したことを示すフラグを立てる。
【００７１】
一方、ステップ１２３５での比較の結果、Ｔｊｕｄｇｅ＞Ｔｊである場合には、出力時刻にパケット伝送が間に合うので、第２の経路算出手段３０３は、パスＰｉｊを選択することができる。このとき、ノードＮｉｊを送信元ノードとし、それに接続するノードを送信先ノードとして探索を継続させるために、ステップ１２３７にて、ノードＮ０からＮｉｊまでの所要時間Ｔｊと経路に係る情報Ｐ０ｊを経路リスト１２０４に格納する。ステップ１２３８にて、第２の経路算出手段３０３は、ノードＮｉｊを送信元ノードリスト１２０５へ登録する。
【００７２】
上述のようにして、第２の経路算出手段３０３は、有効な送信元ノードＮｉのすべてと、その送信元ノードの各々に接続する送信先ノードＮｉｊのすべてについて、Ｔｊｕｄｇｅ＞Ｔｊを満たす経路を算出し、経路リスト１２０４へ格納する。
【００７３】
そして、Ｔｊｕｄｇｅ＞Ｔｊを満たす経路を算出し、経路リスト１２０４に格納し終えた後に、ステップ１２０８にて、第２の経路算出手段３０３は、経路リスト１２０４から格納されている経路（経路候補）を読み出す。経路リスト１２０４に格納されている経路の中で、経路の最終ノードが目的地ノードと一致する経路のみが意味を持つため、ステップ１２０９にて、第２の経路算出手段３０３は、最終ノードが目的地ノードである経路のみを有効な経路として選択する。
【００７４】
次のステップ１２１０にて、第２の経路算出手段３０３は、設計者が設定した（ユーザー設定１２０６として格納されている）時間マージンをデータ格納部１２０２から読み込む。各ノードに配置されたバッファの使用法によっては算出した経路のタイミングがマッチしないことがあるために、比較ステップ１２１１にて、第２の経路算出手段３０３は、設計者が設定した時間マージンを勘案した上で経路が有効であるかどうかを判定する。
【００７５】
次に、ステップ１２１２の最終経路選択にて、第２の経路算出手段３０３は、優先順位や調停といったユーザーの選択手法を反映させて第２の経路を選択し、次の第２の経路出力ステップ１２１３にて、選択した第２の経路を出力する。
【００７６】
図１１は、第２の経路算出手段３０３において算出された複数の第２の経路を示したリスト１３００の一例を示す図である。
図１１に示すリスト１３００における項目は、左から順に、第２の経路名、処理完時刻範囲、パス、処理である。第２の経路名欄には、複数の第２の経路を識別するための識別情報（ＩＤ等）が示される。処理完時刻範囲は、第２の経路の終端ノードの処理が完了する推定時刻が示されている。パス及び処理は、第２の経路が通過する中間ノードと、それぞれの中間ノードにおいて実施される処理を示したものである。
【００７７】
このとき、ユーザー設定１２０６により、「中継ノードを５箇所以上通過する経路を有効とする」と定義されていれば、第２の経路４がステップ１２１３にて出力される。また、ユーザー設定１２０６により、「第２の経路は、中間ノード数が少なく、かつ一定方向の回転に沿う」と定義されていれば、第２の経路１がステップ１２１３にて出力される。
【００７８】
図１２は、図４に示した第２の経路書き込みステップ６０７の処理手順を示すフローチャートである。第２の経路書き込みステップ６０７は、データ格納部１４０２から第２の経路に係る情報を読み込む処理と、経路情報書き込みステップ１４０１を含む。経路情報書き込みステップ１４０１では、第２の経路書き込み手段３０４が、データ格納部１４０２から読み込んだ第２の経路に係る情報を処理対象パケットに書き込む。
以上の処理により、処理対象パケットは目的地ノードへ対して、第２の経路を辿って伝送される。
【００７９】
上述した本実施形態においては、始発ノードを１箇所とした例を示しているが、パケットを送信する機能をもつあらゆるノードが、始発ノードとして機能することは、本実施形態におけるパケット処理装置の利用形態のひとつであると考えられる。
【００８０】
以上、説明したように、予め設定されている処理対象パケットの伝送経路を、出力時刻よりも遅れることなく、目的地ノードまでの伝送遅延時間と伝送経路上におけるノードの処理時間との和を増大させる第２の経路に変更して伝送する。これにより、目的地ノードに対して予め設定された最短経路である第１の経路で伝送する場合に必要なバッファの容量と比べて、目的地ノードが備えるべきバッファの容量を削減することができる。
また、ストリームデータを複数のパケットで複数の目的地ノードに送信し、複数の目的地ノード間で同期出力させるシステムに適用した場合には、複数の目的地ノード間での処理タイミング等を容易に調整することができ、同期出力を実現することができる。
【００８１】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ（ＣＰＵ又はＭＰＵ）に対し、前記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラム自体が上述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるＣＰＵ等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００８２】
例えば、上述した本実施形態に係る通信装置を適用したパケット処理装置は、図１３に示すようなコンピュータ機能１０を有し、そのＣＰＵ１１により本実施形態での動作が実施される。
コンピュータ機能１０は、図１３に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３とを備える。また、操作部（ＣＯＮＳ）１９のコントローラ（ＣＯＮＳＣ）１５と、ＣＲＴやＬＣＤ等の表示部としてのディスプレイ（ＤＩＳＰ）２０のディスプレイコントローラ（ＤＩＳＰＣ）１６とを備える。さらに、ハードディスク（ＨＤ）２１、及びフレキシブルディスク等の記憶デバイス（ＳＴＤ）２２のコントローラ（ＤＣＯＮＴ）１７と、ネットワークインタフェースカード（ＮＩＣ）１８とを備える。それら機能部１１、１２、１３、１５、１６、１７、１８は、システムバス１４を介して互いに通信可能に接続された構成としている。
ＣＰＵ１１は、ＲＯＭ１２又はＨＤ２１に記憶されたソフトウェア、又はＳＴＤ２２より供給されるソフトウェアを実行することで、システムバス１４に接続された各構成部を総括的に制御する。すなわち、ＣＰＵ１１は、上述したような動作を行うための処理プログラムを、ＲＯＭ１２、ＨＤ２１、又はＳＴＤ２２から読み出して実行することで、本実施形態での動作を実現するための制御を行う。ＲＡＭ１３は、ＣＰＵ１１の主メモリ又はワークエリア等として機能する。
ＣＯＮＳＣ１５は、ＣＯＮＳ１９からの指示入力を制御する。ＤＩＳＰＣ１６は、ＤＩＳＰ２０の表示を制御する。ＤＣＯＮＴ１７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び本実施形態における前記処理プログラム等を記憶するＨＤ２１及びＳＴＤ２２とのアクセスを制御する。ＮＩＣ１８はネットワーク２３上の他の装置と双方向にデータをやりとりする。
【００８３】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００８４】
【図１】本実施形態におけるパケット処理装置の構成例を示す図である。
【図２】本実施形態におけるパケット処理装置の利用形態の一例を示す概念図である。
【図３】本実施形態におけるパケット処理装置の利用形態の他の例を示す概念図である。
【図４】本実施形態におけるパケット処理装置での処理手順を示すフローチャートである。
【図５】図４に示したパケット読み込みステップの処理手順を示すフローチャートである。
【図６】図４に示した所要時間算出ステップの処理手順を示すフローチャートである。
【図７】処理時間テーブル及び伝送遅延時間テーブルの一例を示す図である。
【図８】伝送路における伝播遅延時間を示すタイミングチャートである。
【図９】パケットの伝送例を模式的に示す図である。
【図１０】図４に示した第２の経路算出ステップの処理手順を示すフローチャートである。
【図１１】算出した複数の第２の経路を示したリストの一例を示す図である。
【図１２】図４に示した第２の経路書き込みステップの処理手順を示すフローチャートである。
【図１３】本実施形態におけるパケット処理装置を実現可能なコンピュータ機能を示す図である。
【図１４】従来のパケット処理装置の構成を示す図である。
【図１５】ストリームデータ配信システムにおける従来のパケット処理の同期方法を説明するための図である。
【符号の説明】
【００８５】
３００  パケット処理装置（通信装置）
３０１  パケット読み込み手段
３０２  所要時間算出手段
３０３  第２の経路算出手段
３０４  第２の経路書き込み手段
３０５  ネットワークステータス格納手段
４０１  始発ノード
４０２  中間ノード
４０３  近傍目的地ノード
５０１〜５１２  ノード
５２０〜５２７  ノード間伝送路
５３１〜５３６  処理対象パケットの第２の経路
【図１】
2009004908.tif 000003
【図２】
2009004908.tif 000004
【図３】
2009004908.tif 000005
【図４】
2009004908.tif 000006
【図５】
2009004908.tif 000007
【図６】
2009004908.tif 000008
【図７】
2009004908.tif 000009
【図８】
2009004908.tif 000010
【図９】
2009004908.tif 000011
【図１０】
2009004908.tif 000012
【図１１】
2009004908.tif 000013
【図１２】
2009004908.tif 000014
【図１３】
2009004908.tif 000015
【図１４】
2009004908.tif 000016
【図１５】
2009004908.tif 000017