(57)【要約】【課題】端末同士でバケツリレー式にコンテンツを配信する方式に対応する場合でも高性能のプロセッサーを必要としない端末機器を提供する。【解決手段】パケット受信手段と、受信アドレス情報とそれに関連付けられた転送アドレス情報を記憶するアドレス対応テーブルと、受信パケットのアドレス情報がアドレス対応テーブルに登録されているか否かを判定する手段と、受信パケットのアドレス情報をアドレス対応テーブルの転送アドレス情報に従って書き換える手段と、書き換えられたパケットを送信する手段とを備え、パケットの転送をハードウェアで行うことにより、プロセッサーの負荷を低くする。【選択図】  図１
2004297543.tif 000002
【特許請求の範囲】
【請求項１】
アドレス情報を含むパケットを受信するパケット受信手段と、受信アドレス情報と前記受信アドレス情報に関連付けられた転送アドレス情報を記憶するアドレス対応テーブルと、前記パケット受信手段が受信した受信パケットのアドレス情報が前記アドレス対応テーブルに登録されている前記受信アドレス情報のいずれかと一致するか否かを判定する手段と、前記受信パケットの前記アドレス情報を前記アドレス対応テーブルにおいて一致した前記受信アドレス情報に関連付けられた前記転送アドレス情報に従って書き換えるアドレス書き換え手段と、前記アドレス書き換え手段が出力したパケットを送信する手段とを備えたパケット伝送装置。
【請求項２】
前記アドレス情報は宛先ＩＰアドレスと宛先ポート番号と送信元ＩＰアドレスと送信元ポート番号を含む、請求項１記載のパケット伝送装置。
【請求項３】
前記受信パケットは転送可能な回数を表す転送可能回数カウンタのフィールドを有し、前記受信パケットを転送するごとに前記受信パケットにおける前記転送可能回数カウンタフィールドの値を１以上減算する手段と、前記転送可能回数カウンタフィールドの値をチェックすることによって前記受信パケットを転送可能か否かを判定する手段とを備えた、請求項１記載のパケット伝送装置。
【請求項４】
前記受信パケットの受信時刻を計測する受信時刻計測手段と、前記受信時刻に基づいて前記受信パケットの転送時刻を求める転送時刻計算手段と、前記転送時刻に従って前記受信パケットの送信を制御する転送制御手段とを備える、請求項１記載のパケット伝送装置。
【請求項５】
前記受信パケットのバースト間隔を計測する手段を備え、前記転送時刻は前記バースト周期に基づく値とする、請求項４記載のパケット伝送装置。
【請求項６】
前記受信パケットのバースト長を計測する手段を備え、前記転送時刻は前記バースト長に基づく値とする、請求項４記載のパケット伝送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信分野において、インターネットなどのパケット通信ネットワークにおいて通信を行う、パケット伝送装置に関するものであり、特に、パケット通信ネットワークにおいてコンテンツを効率的に配信する技術に関するものである。
【０００２】
【従来の技術】
従来、インターネット等のネットワークを用いて映像などのコンテンツを視聴者に配信する場合、１台または少数のビデオサーバから各視聴者に直接配信する、集中型の配信が主流であった。しかし、この形態の場合、ビデオサーバはコンテンツを視聴者の数だけ送信する必要があるため、視聴者数が非常に多い場合は、ビデオサーバは多数のストリームを同時に送信するための高性能なものが必要であり、配信コストが高額になるという課題があった。
【０００３】
そこで、近年、ピア・ツー・ピア技術を応用した、”バケツリレー式”のコンテンツ配信技術が提案されている（例えば、非特許文献１参照）。図８は、バケツリレー式のコンテンツ配信システムの概念を示したものである。
【０００４】
図８において、８１０は映像や音声を含んだコンテンツ（以下、映像コンテンツと呼ぶ）の配信元であるビデオサーバである。また、８１１〜８１５はコンテンツを視聴するための端末機器であり、実際にはパーソナルコンピューターやネットワーク対応テレビなどで実現される。図８のシステムにおいて映像コンテンツを配信する場合、ビデオサーバ８１０は、通信ネットワーク８２０等によって、まず、少数の端末機器８１１及び８１２にコンテンツを配信する。端末機器８１１及び８１２は、自らも映像コンテンツを視聴しながら、同時に、受信中の映像コンテンツを他の端末機器にも送信する。例えば、端末機器８１１は、別の端末機器８１３〜８１５に送信する。
【０００５】
このように、端末機器から端末機器へとバケツリレー式に映像コンテンツを伝送することにより、ビデオサーバ８１０は集中型の配信の場合のような高い性能を必要とせずに多数の端末機器へのコンテンツ配信が可能となり、集中型の配信形態に比べて配信コストを低くすることができる。
【０００６】
図９は、非特許文献１に記載された、従来のパケット伝送装置を用いた端末機器の構成を示した図である。図９において、９は従来のパケット伝送装置である。９１０はＣＰＵなどのプロセッサーであり、２１０、２１１、９１２、９１３は、プロセッサーのソフトウェアによって実行される処理を示している。映像コンテンツを含んだデータパケット（この例ではＥｔｈｅｎｅｔフレーム）はＥｔｈｅｒｎｅｔ（Ｒ）フレーム受信処理部１０１で受信し、プロセッサー９１０に渡される。
【０００７】
プロセッサー９１０内のＩＰプロトコル受信処理部２１０でデータパケットからペイロード部のデータが取り出され、データ受信アプリケーション９１２に渡される。映像アプリケーション９１２では、ペイロードデータから映像コンテンツのデータを取り出し、ＡＶデコーダ２２０によってデコードされ、ディスプレイなどの表示装置２２１によって画面に表示される。
【０００８】
同時に、ペイロード部のデータは、データ送信アプリケーション９１３に渡され、ＩＰプロトコル送信処理部２１１によって送信パケットに変換され、Ｅｔｈｅｒｎｅｔ（Ｒ）フレーム送信部１０７によって送信され、通信ネットワークを介して他の端末機器に伝送される。
【０００９】
【非特許文献１】
（株）ビットメディア、（株）アンクル、“シェアキャストアーキテクチャ”、「ｏｎｌｉｎｅ」、２００２年２月、「２００３年２月２７日検索」、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｓｃａｓｔ．ｔｖ／ｓｃａ．ｐｄｆ＞
【００１０】
【発明が解決しようとする課題】
しかしながら、前記従来の構成による端末機器で”バケツリレー配信”を行う場合、各端末機器における映像コンテンツの転送は、プロセッサーによるソフトウェア処理で行う必要があるため、集中型の配信のときのような受信のみの場合と比べて約２倍の処理性能が必要となる。そのため、高性能のプロセッサーが必要であり、端末機器のコストが高くなるという課題を有していた。
【００１１】
本発明は、前記従来の課題を解決するもので、性能の低い安価なプロセッサーを用いた端末機器においても”バケツリレー式配信”を可能にするために、データパケットの転送をハードウェアで行うことができるパケット伝送装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
前記従来の課題を解決するために、本発明のパケット伝送装置は、アドレス情報を含むパケットを受信するパケット受信手段と、受信アドレス情報と受信アドレス情報に関連付けられた転送アドレス情報を記憶するアドレス対応テーブルと、パケット受信手段が受信した受信パケットのアドレス情報がアドレス対応テーブルに登録されている受信アドレス情報のいずれかと一致するか否かを判定する手段と、受信パケットのアドレス情報をアドレス対応テーブルにおいて一致した受信アドレス情報に関連付けられた転送アドレス情報に従って書き換えるアドレス書き換え手段と、アドレス書き換え手段が出力したパケットを送信する手段とを備えたものである。
【００１３】
【発明の実施の形態】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１４】
図１は、本発明の実施の形態におけるパケット伝送装置の概略構成図であり、図２は、同装置を用いた端末機器の概略構成図である。
【００１５】
また、図３は、同装置が受信または送信するデータパケットであるＥｔｈｅｒｎｅｔ（Ｒ）フレームの構造を示した図である。図３において、Ｅｔｈｅｒｎｅｔ（Ｒ）フレーム３０は、Ｅｔｈｅｒｎｅｔ（Ｒ）ヘッダー３１０、ＩＰヘッダー３２０、ＵＤＰヘッダー３３０という３種類のヘッダーを有している。また、パケットを転送可能な残り回数を表す、転送可能回数カウンタフィールド３２３を有しており、パケットを端末機器によって転送できる最大回数がビデオサーバによって設定される。
【００１６】
図４は、図１におけるアドレス対応テーブル１０９に記憶されているデータ構造を示したものである。アドレス対応テーブル１０９は受信アドレス情報テーブル４１と転送アドレス情報テーブル４２から構成され、受信アドレス情報テーブル４１には、他の端末機器への転送が必要なデータパケットの受信に必要な情報が記憶される。転送アドレス情報テーブル４２は、受信したパケットを他の端末機器に転送するために必要な情報が記憶される。更に、受信アドレス情報テーブルの各アドレス情報には、対応する転送アドレス情報の対応付けが併せて記憶されている。
【００１７】
次に、図１から図４を用いて、本発明の実施の形態１におけるパケット伝送装置の動作について、図５の動作フローを用いながら説明する。
【００１８】
まず、図５（ａ）は、ビデオサーバから直接、映像コンテンツを受信する場合の手順である。端末機器の操作者から視聴開始を要求されると、端末機器のデータ受信アプリケーション２１１は、自己のＩＰアドレス及び映像コンテンツの受信用のポート番号（ＵＤＰプロトコルのポート番号）の情報と共に、ビデオサーバに対して送信要求を送る（手順５０１）。但し、このとき、端末機器はビデオサーバのＩＰアドレスをあらかじめ知っているものとする。
【００１９】
ビデオサーバは要求されたコンテンツが送信可能なら”成功”を端末機器に返す。端末機器は”成功”を受け取ると（手順５０２）、映像コンテンツを含むパケットの受信を開始する（手順５０３）。図１におけるＥｔｈｅｒｎｅｔ（Ｒ）フレーム受信処理部１０１は、ビデオサーバから送信されたデータパケットであるＥｔｈｅｒｎｅｔ（Ｒ）フレームを受信し、パケット出力ポート１１２を通して、図２のプロセッサー２１に渡される。
【００２０】
図２において２１０、２１１及び２１２はプロセッサーによってソフトウェアで実行される。ＩＰプロトコル受信処理部２１０は、受信したＥｔｈｅｒｎｅｔ（Ｒ）フレーム３０のＩＰヘッダー及びＵＤＰヘッダーの処理を行い、ペイロード３４０を取り出し、データ受信アプリケーション２１１に渡す。データ受信アプリケーション２１１は、ペイロードに含まれる映像コンテンツのデータをＡＶデコーダ２２０に渡す。このデータはＡＶデコーダ２２０によってデコードされ、ディスプレイなどの表示装置２２１によって画面に表示される。
【００２１】
次に、ビデオサーバから映像コンテンツを受信中に、他の端末機器から転送要求を受けた場合について、図５（ｂ）及び（ｃ）のフローを用いながら説明する。
【００２２】
図２における転送制御アプリケーション２１２は、他の端末から転送要求を受けると、相手先端末から相手先端末のＩＰアドレスと相手先端末が受信するポート番号を取得する（図５の手順５１１）。転送制御アプリケーション２１２は、受信アドレス情報と転送アドレス情報を、図１におけるアドレス対応テーブル１０９の受信アドレス情報テーブル４１及び転送アドレス情報テーブル４２に、図４に示すような内容を設定する（手順５１２）。なお、図４の例では、受信アドレス情報テーブル４１における送信元ポート番号は、ビデオサーバから映像コンテンツを含むパケットを受信するまで不明であると想定し、”任意”を表す値を設定している。
【００２３】
また、受信アドレス情報テーブル４１の項目４０１の「転送アドレス情報の番号」フィールドには、対応する転送アドレス情報テーブルの項目の番号である４１０を設定し、両者を対応づけている。
【００２４】
上記手順によってアドレス対応テーブルの設定完了後にＥｔｈｅｎｅｔフレーム受信処理部１０１においてＥｔｈｅｎｅｔフレームを受信すると（手順５２１）、パケット出力ポート１１２を介してプロセッサー２１に渡されると共に、受信時刻測定部１０２で受信時刻が測定され（手順５２２）、転送時刻計算処理部１０８において、後述する手順に従って、転送すべき時刻である転送時刻が計算される（手順５２３）。
【００２５】
続いて、アドレス判定処理部１０３はアドレス対応テーブル１０９の受信アドレス情報テーブルを参照し、同テーブルの各項目が、受信したＥｔｈｅｎｅｔフレームの該当項目に一致するか否かを判定する（手順５２４）。なお、この例では受信アドレス情報テーブルの送信元ポート番号は、”任意”を表す値が書かれているとしたため、該当する項目は一致／不一致の判定には用いられない。
【００２６】
アドレス判定処理部１０３が”一致”と判定すれば、Ｅｔｈｅｒｎｅｔ（Ｒ）フレームは転送可能回数カウンタ処理部１０４に渡され、データパケット３０の転送可能回数カウンタフィールド３２３の値が１以上であるか否かを判定する（手順５２５）。転送可能回数カウンタフィールド３２３の値が０であった場合は、そのＥｔｈｅｔｎｅｔフレームは破棄される。
【００２７】
転送可能回数カウンタフィールド３２３の値が１以上である場合、転送可能回数カウンタ処理部１０４は、転送可能回数カウンタフィールド３２３の値を１だけ減じた値に書き直し（手順５２６）、アドレス書き換え処理部１０５にＥｔｈｅｒｎｅｔ（Ｒ）フレームを渡す。アドレス書き換え処理部１０５は、アドレス対応テーブル１０９を参照し、Ｅｔｈｅｒｎｅｔ（Ｒ）フレームの受信アドレス情報４０１に対応した転送アドレス情報４１０を取得し（手順５２７）、Ｅｔｈｅｎｅｔフレームに含まれる宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号、及び送信元ポート番号の各フィールドの値を、転送アドレス情報４１０で示される値に書き換える（手順５２８）。書き換えられたデータパケットは、転送制御部１０６において、転送時刻計算部１０８で求められた”転送時刻”まで待たされた後（手順５２９）、Ｅｔｈｅｒｎｅｔ（Ｒ）フレーム送信処理部から送信される（手順５３０）。
【００２８】
このようにして、端末機器がデータパケットを受信しながら他の端末機器に転送する、バケツリレー式のコンテンツ配信方式においても、プロセッサーはパケットの転送処理を行う必要がなく、受信処理のみの場合と同程度の処理負荷ですむため、性能の低い安価なプロセッサーを用いてもバケツリレー式の配信に対応した端末機器を実現することができる。
【００２９】
更に、バケツリレー式の配信方式では、自分が転送したデータパケットが、他の端末機器を経由して自分に戻ってくるという、”ループ”が発生する可能性があり、その場合、ループ内のいずれかの端末機器が通信を停止しない限り、パケットがループの中を無限に流れつづけ、ネットワークの負荷を増大させるという課題があった。この課題に対して、パケットに転送可能な回数を表す転送可能回数カウンタフィールド３２３を設け、ビデオサーバが送信する際に、転送可能な最大値を設定し、パケットを受信した端末機器は他の端末機器に転送するごとに転送可能回数カウンタフィールド３２３の値を１だけ減じ、同フィールドが０になった場合はそれ以上転送しないという処理を行うことにより、ループが発生した場合でも、パケットがネットワークを流れる回数を有限回に抑え、ネットワークに与える負荷を抑えることができる。
【００３０】
なお、上記で説明した本発明の実施の形態では、図４に示す受信アドレス情報テーブル及び転送アドレス情報テーブルの項目はそれぞれ１項目として説明したが、それぞれのテーブルは、複数個の項目を記憶することも可能である。受信アドレス情報テーブルに複数個の項目が登録された場合、受信パケットが登録された受信アドレス情報のいずれかに一致する場合、その受信アドレス情報に関連付けられた転送アドレス情報テーブルの内容に従って転送が行われる。
【００３１】
また、受信アドレス情報テーブルの各項目に関連付ける転送アドレス情報テーブルの項目も複数個登録することができ、この場合、関連付けられた転送アドレス情報テーブルの複数の項目の転送先すべてに、受信パケットを転送する。
【００３２】
続いて、転送時刻計算処理部１０８において、受信パケットを転送すべき時刻（転送時刻）を求める手順について、図６及び図７を用いて説明する。
【００３３】
バケツリレー式の配信の場合、端末機器はパケットを受信した通信ネットワーク（例えば１２０）と同じネットワークに対して転送パケットを送り返す。ビデオサーバから送られるデータパケットは一般的に、図６（ａ）に示すように、パケットの送信タイミングは均一ではなく、複数のパケットが固まって（バースト的に）送られるため、受信したパケットをすぐに転送すると、受信パケットと転送パケットが衝突し、伝送効率が低くなる恐れがある。また、端末機器が接続しているＩＰルーターは、受信パケットと送信パケットを同時に処理する必要が有るため、ピーク負荷が増大し、ＩＰルーターが十分に転送できなくなる恐れが有る。これを避けるためには、他の端末機器への転送は、受信パケットのタイミングと重ならないようにするしくみが有効である。
【００３４】
図７は、転送時刻計算処理部１０８の実施の形態の概略構成図である。
【００３５】
図７において、バースト判定処理部１０８１は、受信時刻計測処理部１０２から入力された、各パケットの受信時刻情報に基づいて、バースト期間を判定する。バースト期間の判定は、例えば、各パケットの受信間隔が、あらかじめ決めておいた規定値以下である期間として求めることができる。
【００３６】
更に、バースト判定手段１０８１は、各バースト期間における、バースト期間の長さであるバースト長６１１及び、直前のバースト期間との間隔であるバースト間隔６１２を求める。フィルタ手段１０８２は、各バースト期間ごとのバースト長及びバースト間隔の値の過去Ｎ回分（Ｎはあらかじめ定めた規定値）の平均値を求める。待ち時間計算処理部１０８４は、バースト長計測処理部１０８１の出力またはフィルタ手段１０８２が出力する値を用いて、各データパケットを転送するまでに待つべき時間を求める。
【００３７】
待ち時間を求める手順として様々な方法が可能であるが、例えば、次のような手順によって求められる。
【００３８】
例１）バースト長の平均値に、あらかじめ規定された固定時間を加えた値。
【００３９】
例２）バースト間隔の平均値に、あらかじめ規定された比率（例えば０．５）を乗じた値。
【００４０】
なお、上述の実施の形態では、フィルタ手段は、過去Ｎ回の平均値を求めるとしたが、その他のフィルタ手段を用いても同様の効果を得ることができる。
【００４１】
【発明の効果】
以上のように、本発明のパケット伝送装置によれば、多数の視聴者にコンテンツを配信することができるバケツリレー型配信方式に対応する場合でも、端末機器のプロセッサーは受信処理のみを行えばよいため、プロセッサーの能力が低い場合でもバケツリレー型配信方式に対応した端末機器を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるパケット伝送装置の概略構成図
【図２】本発明の実施の形態におけるパケット伝送装置を用いた端末機器の概略構成図
【図３】伝送パケットの構成の一例を示す図
【図４】アドレス対応テーブルに記憶する情報の一例を示す図
【図５】本発明の実施の形態におけるパケット伝送装置の動作を示すフローチャート
【図６】本発明の実施の形態におけるパケット伝送装置が処理するパケットの受信時刻と送信時刻の関係を表すタイミング図
【図７】本発明の実施の形態における転送時刻計算処理部の概略構成図
【図８】従来のパケット伝送装置の概略構成図及び、同装置を用いた端末機器の概略構成図
【図９】バケツリレー型配信システムの概念図
【符号の説明】
１  パケット伝送装置
１０１  Ｅｔｈｅｎｅｔフレーム受信処理部
１０２  受信時刻計測処理部
１０３  アドレス判定処理部
１０４  転送可能回数カウンタ処理部
１０５  アドレス書き換え処理部
１０６  転送制御部
１０７  Ｅｔｈｅｒｎｅｔ（Ｒ）フレーム送信処理部
１０８  転送時刻計算処理部
１０９  アドレス対応テーブル
１２０  Ｅｔｈｅｒｎｅｔ（Ｒ）入出力端子
１２１  パケット入力ポート
１２２  パケット出力ポート
１２３  アドレス対応テーブル設定ポート
２  端末機器
２１  プロセッサー
２１０  ＩＰプロトコル受信処理部
２１１  データ受信アプリケーション
２２０  ＡＶデコーダ
２２１  表示処理部
３０  データパケット
３１０  Ｅｔｈｅｎｅｔヘッダー
３１１  宛先Ｅｔｈｅｎｅｔアドレス
３１２  送信元Ｅｔｈｅｎｅｔアドレス
３２０  ＩＰヘッダー
３２１  宛先ＩＰアドレス
３２２  送信元ＩＰアドレス
３３０  ＵＤＰヘッダー
３３１  宛先ポート番号
３３２  送信元ポート番号
３２３  転送可能回数カウンタ
３４０  ペイロード
４１  受信アドレス情報テーブル
４２  転送アドレス情報テーブル
６１  受信パケット
６２  転送パケット
６１１  バースト長
６１２  バースト間隔
６１３  転送待ち時間
１０８１  バースト判定処理部
１０８２  フィルタ手段
１０８３  選択スイッチ
１０８４  転送待ち時間計算処理部
１０８５  加算器
８１０  ビデオサーバ
８１１、８１２、８１３、８１４、８１５  端末機器
８２０、８２１  通信ネットワーク
９  従来のパケット伝送装置
９１０  プロセッサー
２１１  ＩＰプロトコル送信処理部
９１２  データ受信アプリケーション
９１３  データ送信アプリケーション
【図１】
2004297543.tif 000003
【図２】
2004297543.tif 000004
【図３】
2004297543.tif 000005
【図４】
2004297543.tif 000006
【図５】
2004297543.tif 000007
【図６】
2004297543.tif 000008
【図７】
2004297543.tif 000009
【図８】
2004297543.tif 000010
【図９】
2004297543.tif 000011