(57)【要約】【課題】  ネットワークノード中のＡＶストリームを自動識別し、最も適当な帯域制御を行うことで、ＡＶストリームのスムーズな転送を可能にする帯域制御装置及び帯域制御プログラムを提供する。【解決手段】  帯域制御装置１００は、入力されるパケットのフロー情報をチェックパケット監視モジュール３０２、フローがストリームかどうかを識別し、ストリーム情報を抜き出すストリーム識別分類モジュール３０３、パケットスケジュールアルゴリズムの情報を格納するストリーム制御記憶部３０４、パケットスケジュールアルゴリズム決定し、生成するスケジューラ生成モジュール３０５、スケジュール用タグをを付与するパケットタグ付モジュール３０６、パケットスケジュールアルゴリズムを生成してパケットを各キューに格納するパケットスケジューラモジュール３０８等を備える。【選択図】      図１
2006019863.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のパケットデータのネットワーク上における伝送帯域制御を行なう帯域制御装置であって、
入力されたパケットデータがストリームデータのパケットデータであるか否かを判別し、前記ストリームデータのパケットデータであった場合は、前記パケットデータに含まれている出力先、ストリームの種類、及び出力時の優先順位の各情報を含んだストリーム情報を抽出して、前記ストリーム情報毎に前記ストリームを分類するストリーム識別分類モジュールと、
前記ストリームの出力アルゴリズムを含むパケットスケジュール情報を格納するストリーム制御記憶部と、
前記ストリーム情報に基づいて、前記ストリーム制御記憶部から前記ストリームに適した前記パケットスケジュール情報を取得し、前記ストリームを最適に出力させる為のスケジュールアルゴリズムを生成するスケジューラ生成モジュールと、
前記ストリーム識別分類モジュールより供給される前記パケットデータに前記スケジュールアルゴリズムを示すタグを付加するパケットタグ付モジュールと、
前記スケジュールアルゴリズムに沿って前記タグ付のパケットを順次取得して格納し、最適ストリームとして前記パケットデータの出力先へ前記出力時の優先順位に対応して出力させるパケットスケジューラモジュール
とを備えるよう構成した帯域制御装置。
【請求項２】
ネットワーク上で複数種類のパケットの転送をする際に帯域制御を行なうコンピュータに、
入力される前記パケットがストリームか否かを識別して、前記ストリームであるならば前記パケットの出力先、前記ストリームの種類及び出力時の優先順位を含むストリーム情報毎に前記ストリームを分類する命令と、
前記ストリーム情報を基に、前記ストリームの出力アルゴリズムを含むパケットスケジュール情報を格納する前記ストリーム制御記憶部から、前記ストリームに適した前記パケットスケジュール情報を取得し、前記ストリームを最適に出力する為のスケジュールアルゴリズムを生成する命令と、
前記ストリームの前記パケット毎に、前記スケジュールアルゴリズムを示すタグを付加する命令と、
前記スケジュールアルゴリズムに沿って前記タグ付のパケットを順次取得して格納し、最適ストリームとして前記パケットの出力先へ前記出力時の優先順位に沿って出力する命令
とを実行させることを特徴とする帯域制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上でオーディオ機器及びビデオ機器のストリームデータをスムーズに転送する為の帯域制御装置及び帯域制御プログラムに関する。
【背景技術】
【０００２】
近年、インターネットの普及及びネットワークの高速化に伴い、インターネット上でオーディオやビデオのストリームデータ転送が広く行われるようになった。これらのストリームデータは、リアルタイムで再生される必要があるため、必要な帯域を確保した上で、途切れなくデータを転送する必要がある。
【０００３】
また、ネットワークを利用したＡＶ（オーディオビデオ）ストリーム伝送は、監視用途等にも幅広く用いられるようにたってきており、ストリームを他のパケットデータより優先させて安定的に転送させる必要がある。
【０００４】
これらを実現するため、ＲＳＶＰ（リソースリザベーションプロトコル）等を用いて、あらかじめネットワーク上のリソースを確保するという方法が用いられている（特許文献１参照。）。
【０００５】
また、ＩＰヘッダ内のＴＯＳ（タイプオブサービス）フィールドを用いて、パケットスケジュール方法を決定する方法も提案されている（特許文献２参照。）。
【特許文献１】特表２００３-５１３５１１号公報
【特許文献２】特開２００１−２４６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載の方法では、必要リソースを各ネットワークノードに知らせる為の送出アプリケーションの改造、更に、リソース確保用の複数のプロキシーサーバ等の追加が必要であり、ネットワーク全体が複雑になるという問題があった。
【０００７】
また、特許文献２記載の方法では、ＴＯＳフィールドを設定するアプリケーションまたはエッジプロキシが必要となる。また、ＴＯＳフィールドは８ビットの情報しかなく必要な帯域幅の設定等が出来ない為、これだけではＡＶストリームの帯域制御に用いることはできなかった。更に、上記のＲＳＶＰ等を用いない場合は、帯域制御機能を持つルータやスイッチを設置し、各ストリームの送出、停止毎にそれらの機器に対して、各フローに必要な帯域や制御情報を設定する必要があった。
【０００８】
そこで本発明は、ネットワーク上のノード中をＡＶストリームデータが通過するとき、それらのＡＶストリームを自動識別し、最も適当な帯域制御を行うことにより、ＡＶストリームのスムーズな転送を可能にする帯域制御装置及び帯域制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の問題点を鑑みて、本発明の第１の特徴は、［イ］複数種類のパケットデータのネットワーク上における伝送帯域制御を行なう帯域制御装置であって、入力されたパケットデータがストリームデータのパケットデータであるか否かを判別し、ストリームデータのパケットデータであった場合は、パケットデータに含まれている出力先、ストリームの種類、及び出力時の優先順位の各情報を含んだストリーム情報を抽出して、ストリーム情報毎にストリームを分類するストリーム識別分類モジュール（３０３）と、［ロ］ストリームの出力アルゴリズムを含むパケットスケジュール情報を格納するストリーム制御記憶部（３０４）と、［ハ］ストリーム情報に基づいて、ストリーム制御記憶部（３０４）からストリームに適したパケットスケジュール情報を取得し、ストリームを最適に出力させる為のスケジュールアルゴリズムを生成するスケジューラ生成モジュール（３０５）と、［ニ］ストリーム識別分類モジュールより供給されるパケットデータにスケジュールアルゴリズムを示すタグを付加するパケットタグ付モジュール（３０６）と、［ホ］スケジュールアルゴリズムに沿ってタグ付のパケットを順次取得して格納し、最適ストリームとしてパケットデータの出力先へ出力時の優先順位に対応して出力させるパケットスケジューラモジュール（３０８）とを備える帯域制御装置であることを要旨とする。
【００１０】
本発明の第２の特徴は、［イ］ネットワーク上で複数種類のパケットの転送をする際に帯域制御を行なうコンピュータに、入力されるパケットがストリームか否かを識別して、ストリームであるならばパケットの出力先、ストリームの種類及び出力時の優先順位を含むストリーム情報毎にストリームを分類する命令と、［ロ］ストリーム情報を基に、ストリームの出力アルゴリズムを含むパケットスケジュール情報を格納するストリーム制御記憶部（３０４）から、ストリームに適したパケットスケジュール情報を取得し、ストリームを最適に出力する為のスケジュールアルゴリズムを生成する命令と、［ハ］ストリームのパケット毎に、スケジュールアルゴリズムを示すタグを付加する命令と、［ニ］スケジュールアルゴリズムに沿ってタグ付のパケットを順次取得して格納し、最適ストリームとしてパケットの出力先へ出力時の優先順位に沿って出力する命令とを実行させる帯域制御プログラムであることを要旨とする。
【発明の効果】
【００１１】
本発明の帯域制御装置及び帯域制御プログラムによると、入力されるパケットをネットワークノード内にて監視し、オーディオ及びビデオのフローデータを識別分類し、フローデータ毎に各ストリームに適したパケットスケジュールを設定する。
【００１２】
これにより自動的にオーディオ及びビデオに最適のストリーム転送を行なうことが可能なネットワークを構成することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態に係る帯域制御装置及び帯域制御プログラムについて説明する。尚、本発明の実施の形態において使用される機器、手法等は一例であり、本発明はこれらに限定されるものではないことは勿論である。
【００１４】
（帯域制御装置）
本発明の実施の形態に係る帯域制御装置１００は、図２に示すように、入力装置１０１、出力装置１０２、主記憶装置１０３、補助記憶装置１０４、セントラルプロセッシングユニット（以下「ＣＰＵ」と記載）１０５、通信インタフェース１０６、通信制御装置１０７から構成される。
【００１５】
入力装置１０１は、キーボード、マウス等から入力信号を受信するインタフェースである。フロッピー（登録商標）ディスク、ハードディスク等の外部記憶装置を介して入力されても良い。出力装置１０２は、処理結果等を出力するための装置であり、具体的には液晶ディスプレイ、ＣＲＴディスプレイ、プリンタ等を指す。通信制御装置１０７は、不図示の他の通信装置に対しデータを送受信する為の制御信号を生成する。呼制御の信号や位置情報を通信網を介して送受信する。主記憶装置１０３は、主メモリとして、処理の手順を記述したプログラムや処理されるべきデータを一時的に記憶し、ＣＰＵ１０５の要請に従ってプログラムの機械命令やデータを引き渡す。又、ＣＰＵ１０５で処理されたデータは主記憶装置１０３に書き込まれる。主記憶装置１０３とＣＰＵ１０５はアドレスバス、データバス、制御信号等で結ばれている。
【００１６】
補助記憶装置１０４は、ＣＰＵ１０５の演算処理に使用される情報を格納するメモリ等であり、例えば図１のストリーム制御記憶部３０４を備えている。
【００１７】
通信インタフェース１０６は、他装置間においてデータを送受信するための装置であり、図１のデータリンク出力インタフェース３０９等を備えている。
【００１８】
ＣＰＵ１０５は、図１に示したパケット監視モジュール３０２、ストリーム識別分類モジュール、スケジューラ生成モジュール３０５、パケットタグ付モジュール３０６、パケットスケジューラモジュール３０８を適宜演算処理することにより、帯域制御プログラムを実行する。
【００１９】
データリンクバッファ３０１は、通信インタフェース１０６を介してネットワークから受信したパケットを一時格納し、適宜主記憶装置１０３に引き渡す。
【００２０】
パケット監視モジュール３０２は、各パケットのＩＰレベルのパケット識別情報であるフロー情報をチェックする。
【００２１】
ストリーム識別分類モジュール３０３は、パケットの情報及びフローの履歴情報から、フローがストリームかどうかを識別し、フロー毎に図３に示すようなストリーム情報２０１を抜き出す。ストリーム情報２０１は、送信元ＩＰアドレス、転送先ＩＰアドレス、送信元ポート番号、転送先ポート番号、プロトコル番号、ユーザレベルプロトコル、ストリームタイプ、転送ルート、パケット数、ＩＰヘッダ上のＱｏＳ（クオリティオブサービス）情報であるＴＯＳフィールド、ＴＯＳ情報やＩＰｖ６のＦＬＯＷラベル及びプライオリティから構成される。
【００２２】
ストリーム制御記憶部３０４は、図５に示すように、各ストリームに適したパケットスケジュールアルゴリズムの情報を格納する。例えば図５では、上段が音声ストリーム、下段がビデオストリームの制御用データである。音声ストリームは、Ｇ７２８でエンコードされた固定ビットで、スケジュールアルゴリズムとしてＰＲＩＱ（プライオリティキューイング）を用い、１６Ｋｂｐｓの固定ビットレートの帯域を確保する。又、スケジューラのパラメータとして最上位のプライオリティ（優先順位）を指定し、Ｇ７２８パケットの遅延時間を最小に抑えるように制御される。ビデオストリームは、スケジューラとしてＨＦＳＣを用い、ストリーム識別分類モジュール３０３から渡されるフロー毎のストリーム情報内の転送レートに示される帯域を確保する。パラメータにはキューサイズを１０００確保し、この範囲でジッタ吸収を行なう。
【００２３】
スケジューラ生成モジュール３０５は、ストリーム制御記憶部３０４を参照してパケットスケジュールアルゴリズム決定する。パケットタグ付モジュール３０６は、パケットがストリームフローである場合において、図４のパケットデータ２０２に、スケジューラ生成モジュール３０５で決定されたスケジュール用タグを図４のタグ付パケットデータ２０３のように付加する。
【００２４】
パケットスケジューラモジュール３０８は、フロー毎のパケットスケジュールアルゴリズムを生成し、パケットを各キューに格納する。データリンク出力インタフェース３０９は、各スケジューリングアルゴリズムに従って、パケットをパケットスケジューラモジュール３０８から外部のネットワークへ出力する。
【００２５】
（帯域制御装置の動作）
帯域制御装置１００は、図１に示すように、（１）パケット監視モジュール３０２によるパケットの受信確認処理、（２）ストリーム識別分類モジュール３０３によるストリームの識別及び分類処理、（３）スケジューラ生成モジュール３０５によるスケジュール作成処理、（４）パケットタグ付モジュール３０６によるスケジューラ用タグ付け処理、（５）パケットスケジューラモジュール３０８によるスケジュール毎キューの作成処理等の工程を実行する。以下、各処理についてフローチャートを参照して詳細に説明する。
【００２６】
先ず、（１）のパケット監視モジュール３０２内の処理について図７を用いて説明する。
【００２７】
（ａ）ステップＳ４０１においては、パケット監視モジュール３０２が、データリンクバッファ３０１より、パケットデータ列を受信する。ステップＳ４０２において、パケット監視モジュール３０２は、受信した１つのパケットのデータリンク層をチェックしてＩＰパケットを抽出する。
【００２８】
（ｂ）ステップＳ４０３において、抜き取ったＩＰデータから得られる転送元アドレス及び転送先アドレス等のポートフロー情報を元に、既に追跡中のフローであるか否かを判断する。新しいフローであればステップＳ４０４において、新たに図６のフロー追跡用のキューデータを作成する。尚、フロー追跡データには、フローがストリームかどうかを判断するための過去の時間単位転送レート、転送パケット数、ジッタ、プロトコル等が格納されている。
【００２９】
（ｃ）ステップＳ４０５では、フロー追跡用のキューデータに新しいパケットの情報を追加する。ステップＳ４０６においては、ストリーム識別分類モジュール３０３を呼び出す。
【００３０】
次に、（２）のストリーム識別分類モジュール３０３の動作について図８のフローチャートを用いて説明する。
【００３１】
（ａ）ステップＳ５０１においては、ストリーム識別分類モジュール３０３が、入力されたパケットのユーザデータエリアを検査し、既存のストリームプロトコルかどうかをチェックする。例えば、ＲＦＣ１８８９やＲＦＣ１９９０に定義されているようなＲＴＰ（リアルタイムトランスポートプロトコル）であればストリームと判断する。また、他のユニークなストリーム識別コードが存在するか否か等もチェックする。ストリームと判断されるとステップＳ５０３へ進み、ストリームと判断されない場合はステップＳ５０２へ進む。
【００３２】
（ｂ）ステップＳ５０２においては、過去におけるパケットが属するフローの特性をチェックする。ここで、フローが過去においては一定の転送レートである等のストリーム独特の特性を持つ場合はストリームと判断し、ステップＳ５０３へ進む。ストリームの特性を持たない場合はストリームではないと判断し、この処理を終了する。
【００３３】
（ｃ）ステップＳ５０３においては、ストリームの種別や転送レート等の特性を抜き出す。ステップＳ５０４において、抜き出された各フローのストリーム情報２０１（図３参照）は一定間隔でスケジューラ生成モジュール３０５へ出力される。又、ストリームはパケットタグ付モジュール３０６へ出力される。
【００３４】
次に、（３）のスケジューラ生成モジュール３０５の動作について図９のフローチャートを用いて説明する。
【００３５】
（ａ）ステップＳ６０１においては、スケジューラ生成モジュール３０５は、ストリーム識別分類モジュール３０３よりストリーム情報２０１を受信する。
【００３６】
（ｂ）ステップＳ６０２においては、スケジューラ生成モジュール３０５は、図５のストリーム制御記憶部３０４を参照し、受信したストリームフローに適したスケジュールアルゴリズムを選択する。ステップＳ６０３にて、選択されたスケジュールアルゴリズムに対応するキューを生成する。例えば、Ａストリームが３０ＭｂｐｓのＭＰＥＧ２ストリームであり、選択されたスケジュールアルゴリズムがＨＳＦＣ（ヒエラルキカルフェアサービスカーブ）ならば、図１のＡスケジュールアルゴリズム３０８ａをＨＳＦＣ−３０Ｍｂｐｓと定義しそのキューをパケットスケジューラモジュール３０８内に作成する。
【００３７】
（ｃ）ステップＳ６０４においては、スケジューラ生成モジュール３０５は、パケットタグ付モジュール３０６へ対し、定義されたＡスケジュールアルゴリズム３０８ａを引き渡す。
【００３８】
次に、（４）のパケットタグ付モジュール３０６の動作について図１０のフローチャートを用いて説明する。
【００３９】
（ａ）ステップＳ７０１においては、パケットタグ付モジュール３０６は、図１に示すようにストリーム識別分類モジュール３０３より一つのパケット列を受信する。
【００４０】
（ｂ）ステップＳ７０２においては、スケジューラ生成モジュール３０５よりそのパケット列に使用する定義済みのスケジュールアルゴリズムを受信し、それを基に、使用するパケットスケジューラを選択する。
【００４１】
（ｃ）ステップＳ７０３においては、図４のように、そのパケットデータ２０２に、スケジューラ生成モジュール３０５で決定されたスケジュール用タグを図４のタグ付パケットデータ２０３のように付加する。尚、ストリームフローではないパケットに関しては、あらかじめ用意されたディフォルトのスケジューラのタグが付けられる。
【００４２】
（５）のパケットスケジューラモジュール３０８は、パケットタグ付モジュール３０６から出力されたパケットを受け取り、図１のように、付与されたタグに従いスケジュールアルゴリズム用キュー３０８ａに格納する。この他、Ｂストリーム３０７ｂに関しても同様にタグがつけられ、ストリームに適したＢスケジュールアルゴリズム用キュー３０８ｂに格納される。ストリームではないパケット３０７ｃに関しては、あらかじめパケットスケジューラ内に用意されたディフォルトのベストエフォート用キュー３０８ｃに格納される。
【００４３】
パケットスケジューラモジュール３０８は、各々のスケジュールアルゴリズムによって調整され出力されたパケットをデータリンク出力インタフェース３０９用のキューに引き渡す。ここで、ストリームのパケット列は選ばれたスケジューラ、例えば前述したＨＳＦＣ等により、入力時のジッタ等が除去され正規化される。また出力用の帯域が入力されるパケットによる帯域より小さい場合は、ベストエフォートキューに入っているパケットから廃棄される。その後、パケットは出力パケットデータ３１０となり、データリンク出力インタフェース３０９より外部のネットワークに出力される。
【００４４】
（実施例１）
次に、本発明の実施の形態に係る帯域制御装置１００を使用した通信システム１００ａについて図１１を参照して説明する。この通信システム１００ａでは、ＡＶストリームを、一般のインターネット８０２を経由して、ネットワークに接続可能なカメラ８０１からストリームモニター８０４へ転送する。
【００４５】
ネットワーク接続カメラ８０１から送出されるパケット列８０５は、インターネット内の各ネットワーク機器を経由している間にパケット単位に不確定の遅延が発生し、ジッタが混じったパケット列８０６になる。これをこのままストリームモニターで再生すると、ジッタの影響により、うまく再生できない。ここで、本発明による帯域制御装置１００をストリームモニター８０４の前に置くことにより、帯域制御装置１００内でストリームを識別、正規化し、正常なパケット列８０７に戻すことができる。これにより、ストリームをスムーズに再生することが可能になる。
【００４６】
（実施例２）
次に、本発明の実施の形態に係る帯域制御装置１００を使用した通信システム１００ｂについて図１２を参照して説明する。この通信システム１００ｂでは、２台のネットワーク接続カメラ９０１，９０２や、パーソナルコンピュータ（ＰＣ）９０３がネットワークに繋がっている例である。ネットワーク接続カメラ９０１からは５０Ｍｂｐｓのストリームがストリームモニター９０７へ向けて転送され、ネットワーク接続カメラ９０２からは４０Ｍｂｐｓのストリームがストリームモニター９０８へ向けて転送されている。この他、ＰＣ９０３からＰＣ９０９へのファイル転送が６０Ｍｂｐｓで不規則に行われている。これらのネットワークの間には入力１００Ｍｂｐｓのルータ９０５が存在する。
【００４７】
このような通信システム１００ｂにおいては、そのままでは、入力データが１５０Ｍｂｓｐになる場合があり、ルータ９０５の能力を超えてパケットロスが起きるため、ストリームデータが途切れてしまうことがある。そこで帯域制御装置１００をルータ９０５の前に設置する。
【００４８】
すると帯域制御装置１００内では、ストリーム情報２０１の優先順位を参照し、５０Ｍｂｐｓ及び４０Ｍｂｐｓのストリームはストリームと認識して帯域を確保し、ストリームと認識されない間歇的な６０Ｍｂｐｓのファイル転送データについては、適宜空いている帯域を利用する。その結果、帯域制御装置１００からの出力パケットは５０Ｍｂｐ及び４０Ｍｂｐｓのストリームデータと１０Ｍｂｐｓのファイル転送データとなる為、ルータ９０５内でのパケットロスを防ぐことができ、優先的に帯域を確保した上でストリームをスムーズに転送することが可能となる。
【００４９】
また、帯域制御装置１００を追加することによるネットワーク構成の変化は無いため、既存のネットワーク内への設置であっても簡単に行うことができる。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態に係る帯域制御装置の全体構成ブロック図である。
【図２】帯域制御装置の内部構成を示すブロック図である。
【図３】ストリーム情報のデータ構成を示す図である。
【図４】パケットデータのデータ構成を示す図である。
【図５】ストリーム制御記憶部内のデータ構成を示す図である。
【図６】フロー追跡用キューデータのデータ構成図である。
【図７】パケット監視モジュールの動作を示す図である。
【図８】ストリーム識別分類モジュールの動作を示す図である。
【図９】スケジューラ生成モジュールの動作を示す図である。
【図１０】パケットタグ付モジュールの動作を示す図である。
【図１１】帯域制御装置を使った通信システムの実施例１の構成を示す図である。
【図１２】帯域制御装置を使った通信システムの実施例２の構成を示す図である。
【符号の説明】
【００５１】
１００…帯域制御装置
１００ａ，１００ｂ…通信システム
１０１…入力装置
１０２…出力装置
１０３…主記憶装置
１０４…補助記憶装置
１０５…ＣＰＵ
１０６…通信インタフェース
１０７…通信制御装置
２０１…ストリーム情報
２０２…パケットデータ
２０３…タグ付パケットデータ
３０１…データリンクバッファ
３０２…パケット監視モジュール
３０３…ストリーム識別分類モジュール
３０４…ストリーム制御記憶部
３０５…スケジューラ生成モジュール
３０６…パケットタグ付モジュール
３０８…パケットスケジューラモジュール
３０９…データリンク出力インタフェース
３１０…出力パケットデータ
８０１…ネットワーク接続カメラ
８０２…インターネット
８０４…ストリームモニター
９０１，９０２…ネットワーク接続カメラ
９０２…ネットワーク接続カメラ
９０３…ＰＣ
９０４…帯域制御装置
９０５…ルータ
９０７，９０８…ストリームモニター
９０９…ＰＣ
【図１】
2006019863.tif 000003
【図２】
2006019863.tif 000004
【図３】
2006019863.tif 000005
【図４】
2006019863.tif 000006
【図５】
2006019863.tif 000007
【図６】
2006019863.tif 000008
【図７】
2006019863.tif 000009
【図８】
2006019863.tif 000010
【図９】
2006019863.tif 000011
【図１０】
2006019863.tif 000012
【図１１】
2006019863.tif 000013
【図１２】
2006019863.tif 000014