(57)【特許請求の範囲】
【請求項１】
ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントへ放送配信するストリーム配信装置において、
一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別する分割パケット識別手段と、
コンテンツ毎にコンテンツ識別情報、ユーザ識別情報、送信ＩＰアドレス、チェックサム再計算時の演算の一部の計算値であるチェックサム差分計算値を含む配信情報を登録したコピー配信表と、
受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対し前記コピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信する手段と
を備えたことを特徴とするストリーム配信装置。
【請求項２】
前記分割パケット識別手段が識別を行うために用いるデータを生成する手段と、
このデータを一時記憶する手段と
が設けられ、
前記データを生成する手段は、
前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別する手段と、
前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成する手段と
を含み、
前記分割パケット識別手段は、受信パケットのヘッダ情報を引数として前記一時記憶する手段に記憶された前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する手段を含む
請求項１記載のストリーム配信装置。
【請求項３】
前記パケット群の最終パケットを識別する手段が設けられ、
最終パケットが識別されたときには前記一時記憶する手段に記憶された当該コンテンツに関する前記リンク付けするデータを削除する手段を備えた請求項２記載のストリーム配信装置。
【請求項４】
一定時間経過した前記一時記憶する手段の前記リンク付けするデータを削除する手段を備えた請求項３記載のストリーム配信装置。
【請求項５】
ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントへ放送配信するストリーム配信方法において、
一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別し、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対しコンテンツ毎にコンテンツ識別情報、ユーザ識別情報、送信ＩＰアドレス、チェックサム再計算時の演算の一部の計算値であるチェックサム差分計算値を含む配信情報を登録したコピー配信表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信する
ことを特徴とするストリーム配信方法。
【請求項６】
前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別し、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成してこれを記憶しておき、受信パケットのヘッダ情報を引数として記憶している前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する請求項５記載のストリーム配信方法。
【請求項７】
前記パケット群の最終パケットを識別し、最終パケットが識別されたときには記憶している当該コンテンツに関する前記リンク付けするデータを削除する請求項６記載のストリーム配信方法。
【請求項８】
一定時間経過した記憶している前記リンク付けするデータを削除する請求項７記載のストリーム配信方法。
【請求項９】
所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を請求項１ないし４のいずれかに記載のストリーム配信装置に相応する装置とするソフトウェアが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映像、音声を含むストリーム放送の配信に利用する。本発明は、大規模かつ高速な放送サービスを提供するストリーム配信技術に関する。
【０００２】
【従来の技術】
従来、インターネット上に設置されたストリーム配信装置としては、ＲｅａｌＮｅｔｗｏｒｋｓ社などのスプリッタ製品が代表的である。これは、汎用パソコンや汎用ワークステーションなどの汎用プロセッサ上で動作し、ストリームサーバから受信した１本のストリームデータを１または複数のクライアントに対してコピー配信するものである。
【０００３】
従来のストリーム放送の制御を行うストリーミングプロトコルでは、放送コンテンツ毎にＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）ポート番号に対応させてストリーム配信が行われている。ＵＤＰポート番号は、クライアント、スプリッタ、サーバ等の配信機器の接続構成により、下流の機器が受信ポート番号を決定する方式となっているため、サーバ、スプリッタ、クライアントという構成でストリーム配信を行う場合は、スプリッタ側でＵＤＰポート番号を変換する機能を持っている。
【０００４】
【発明が解決しようとする課題】
従来のスプリッタは、汎用プロセッサの通信機能をベースとした技術である。一般的に、ストリームデータはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケット上にＵＤＰパケットのペイロードにストリーム転送プロトコルを載せ（例えばＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ：インターネット技術標準化委員会）ＲＦＣ（Ｒｅｑｕｅｓｔｆｏｒ  Ｃｏｍｍｅｎｔｓ）１８８９で規定されたＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）プロトコル）、その上に音声や映像データをエンコードした符号データを載せて転送している。
【０００５】
したがって、汎用プロセッサのＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）が提供するＩＰパケットプロトコル解析機能、ＵＤＰパケットプロトコル解析機能を利用して処理されている。各プロトコル解析機能は、レイヤ毎に処理内容が規定されている。よって、レイヤ毎にヘッダ上のプロトコル情報を読み出し、プロトコルデータ正常性チェック処理、状態変数の遷移処理、加算／減算処理など、すべての規定処理を実行後、次のレイヤに係る処理を順じ進める形で行われている。このため、レイヤ毎にプロトコル解析処理をするためのメモリオペレーションがオーバヘッドとなり高速化処理に向いていない。
【０００６】
しかしながら、ストリームパケットの転送に特化した処理を想定すると、サーバから受信したパケットを複製しそのヘッダを配布表に基づいて、ＩＰアドレスとＵＤＰポート番号を変換することが主な処理である。よって、必要最小限の処理に限定した処理系が高速化に適していると考えられる。
【０００７】
ところで、ストリームデータの長さは一般的に様々である。転送するネットワーク上のルータ等の機器では、１パケット長の上限値が規定されており、一つのＩＰパケットがその規定値を超過した場合はパケットを分割して転送する方法がとられている。この場合には、先頭パケットにはＵＤＰヘッダが含まれるが、二番目以降のパケットはＵＤＰヘッダが含まれないため、そのパケットからだけではどのコンテンツを運ぶパケットかが識別できない。
【０００８】
その結果、分割パケットは一旦バッファリングされ、１つの長いパケットに組み立てた上で、コンテンツを識別し配信処理を行っている。この場合には、分割パケットすべてがスプリッタに到着してから複製処理、ヘッダ変換を実行するため、大きな遅延が発生している。
【０００９】
例えば、３００Ｋｂ／ｓのストリームコンテンツが６０００ｂｙｔｅパケットで転送される場合であれば、転送パケット上限値が１５００ｂｙｔｅとすると４パケットに分割される。１パケット当り４０ｍｓ程度（＝１５００ｂｙｔｅ×８／３０００００ｂ／ｓ）かかるため、４パケット転送するために高速回線で転送しても少なくとも１２０ｍｓは必要となる。これがスプリッタ１段中継で必要となるため、多段で中継される場合はさらに遅延時間が増えてしまい、リアルタイムの放送サービスには向いていない。
【００１０】
以上述べたように、汎用プロセッサ利用により、レイヤ毎にプロトコル処理されているため、オーバヘッドが大きく、高速化、大規模化に向いていない。特に、分割パケットで転送されるストリームデータは一旦パケットに組立て、複製およびヘッダ変換処理をするため、すべての分割パケットを待合わせる分だけ転送遅延が発生する。
【００１１】
本発明は、このような背景に行われたものであって、分割パケットで転送されるストリームデータの転送処理を簡略化することにより、高速かつ大容量なストリーム配信を実現することができるストリーム配信装置および方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明は、ストリームパケットを受信すると、パケットヘッダを参照してあらかじめ決められた宛先に配信するために、受信したパケットヘッダ情報から当該パケットが運ぶコンテンツを識別する機能と、同パケットヘッダ情報から複数のパケットに分割転送していることを識別する機能と、分割されたパケットを一意に識別する機能と、コンテンツ毎に配信すべきクライアント宛の配信情報を登録したコピー配布表および当該表を管理する機能とを持つことを特徴とする。
【００１３】
一つのコンテンツが、分割パケットにより転送される場合は、コンテンツを識別する情報が先頭のパケットヘッダにしか含まれていない。そこで、それ以外の分割パケットもコンテンツを識別できるようにするために、まず先頭パケットのヘッダ情報から当該パケット群が運ぶコンテンツを識別し、当該コンテンツのコピー配布表を参照して当該受信パケットの複製とヘッダ書換えを行う際に、追加で当該受信パケットのヘッダに記載されたパケット識別情報とコンテンツとを関連付けし、それを一時記憶テーブルに登録する。この一時記憶テーブルから先頭以降のパケットがパケット識別情報をキーにして関連コンテンツ名を引当て、先頭パケットと同様にコピー配布表を参照して配信する。さらに、分割された最終パケットを識別する機能を持ち、そのパケットが一連の分割パケットのうち、最終パケットである場合は、使用していた一時記憶テーブルエントリーを削除する機能を持つこともできる。
【００１４】
なお、何らかの理由により一時記憶テーブルに設定されたエントリーが一連の分割パケットを転送後も抹消されない場合が想定される。そのために、一定期間テーブルエントリーを監視し、当該エントリーが抹消されない場合は、強制的に削除する機能を持つこともできる。
【００１５】
このように本発明によれば、パケット単位での処理のため、分割パケットを組立てあるいは分割する処理を削減することができる。すなわち、ストリームデータが分割パケットで転送された場合であっても、パケット単位で転送処理ができるため、一連の分割パケットをすべて待合せるための遅延時間を削減することができる。
【００１６】
本発明による遅延時間軽減効果を図１を参照して説明する。図１（１）はパケット組立て方式のパケットデータの流れを示し、従来方式に相当する。ここで、１ａはストリームサーバ、２ａはストリーム配信装置、３ａ、４ａ、５ａはクライアント、６ａ〜８ａはストリームサーバ（１ａ）が送信する分割パケット、９ａから７ａは、ストリーム配信装置（２ａ）が送信する分割パケットを示す。
【００１７】
また、図１（２）はパケット非組立て方式のパケットデータの流れを示し、本発明の装置および方法を利用した場合に相当する。ここで、１ｂはストリームサーバ、２ｂはストリーム配信装置、３ｂ、４ｂ、５ｂはクライアント、６ｂ〜８ｂはストリームサーバ（１ｂ）が送信する分割パケット、９ｂから７ｂは、ストリーム配信装置（２ｂ）が送信する分割パケットを示す。
【００１８】
図１（１）と図１（２）とを比較すると、従来方式では、８ａの最終パケットが到着した時点でパケットを組立て９ａ以降のパケット配信処理をする。そのため、ストリーム配信装置（２ａ）がパケットを受信して送信するまでに最低、分割パケット６ａ〜８ａが転送される時間分の遅延が発生する。これに対して、本発明では、６ｂの分割パケットを受信してすぐパケット配信処理ができるため、ほとんど遅延が発生しないことが分かる。
【００１９】
すなわち、本発明の第一の観点は、ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントヘ放送配信するストリーム配信装置である。
【００２０】
ここで、本発明の特徴とするところは、一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別する分割パケット識別手段と、コンテンツ毎に配信すべきクライアント宛ての配信情報を登録したコピー配布表と、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対し前記コピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信する手段とを備えたところにある。
【００２１】
これにより、一つのコンテンツが複数のパケットに分割転送されている場合でも、個々のパケットについて転送処理を即座に行うことができるので、高速かつ大容量なストリーム配信を実現することができる。
【００２２】
前記分割パケット識別手段が識別を行うために用いるデータを生成する手段と、このデータを一時記憶する手段とが設けられ、前記データを生成する手段は、前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別する手段と、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成する手段とを含み、前記分割パケット識別手段は、受信パケットのヘッダ情報を引数として前記一時記憶する手段に記憶された前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する手段を含むことが望ましい。これにより、前記パケット群を構成する全パケットが揃うまで待つことなく、前記パケット群を構成する個々のパケットをそれぞれ識別することができる。
【００２３】
前記パケット群の最終パケットを識別する手段が設けられ、最終パケットが識別されたときには前記一時記憶する手段に記憶された当該コンテンツに関する前記リンク付けするデータを削除する手段を備えることが望ましい。これにより、前記一時記憶する手段を効率良く運用することができる。さらに、一定時間経過した前記一時記憶する手段の前記リンク付けするデータを削除する手段を備えることが望ましい。これにより、例えば、配信が中断したストリーム放送が発生した場合でも、前記一時記憶する手段に無駄なデータが残存することを回避できる。
【００２４】
本発明の第二の観点は、ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントヘ放送配信するストリーム配信方法である。
【００２５】
ここで、本発明の特徴とするところは、一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別し、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対しコンテンツ毎に配信すべきクライアント宛ての配信情報を登録したコピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信するところにある。
【００２６】
前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別し、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成してこれを記憶しておき、受信パケットのヘッダ情報を引数として記憶している前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別することが望ましい。
【００２７】
前記パケット群の最終パケットを識別し、最終パケットが識別されたときには記憶している当該コンテンツに関する前記リンク付けするデータを削除することが望ましい。さらに、一定時間経過した記憶している前記リンク付けするデータを削除することが望ましい。
【００２８】
本発明の第三の観点は、所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を本発明のストリーム配信装置に相応する装置とするソフトウェアが記録された記録媒体である。
【００２９】
【発明の実施の形態】
本発明実施例のストリーム配信装置の構成および接続構成を図２および図３を参照して説明する。図２は本発明実施例のストリーム配信装置の接続構成を示す図である。図３は本発明実施例のストリーム配信装置のブロック構成図である。
【００３０】
本発明は、図２に示すように、ストリームサーバ１２の送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアント１５−１〜１５−Ｎヘ放送配信するストリーム配信装置１１である。
【００３１】
ここで、本発明の特徴とするところは、図３に示すコピー制御部２４には、一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別する分割パケット識別手段を備え、コピー配信制御テーブル２９には、コンテンツ毎に配信すべきクライアント宛ての配信情報を登録したコピー配布表を備え、コピー制御部２４、コピー処理部３０、読出処理部３２、送信回路３３により、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対し前記コピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信するところにある。
【００３２】
また、コピー制御部２４には、前記パケット群を構成するパケットを識別するために用いるデータを生成する手段を備え、このデータを一時記憶する一時記憶テーブル２６を備え、コピー制御部２４は、前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別し、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成し、受信パケットのヘッダ情報を引数として一時記憶テーブル２６に記憶された前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する。
【００３３】
また、コピー制御部２４には、前記パケット群の最終パケットを識別する手段が設けられ、最終パケットが識別されたときには一時記憶テーブル２６に記憶された当該コンテンツに関する前記リンク付けするデータを削除する手段を備える。さらに、コピー制御部２４は、一定時間経過した一時記憶テーブル２６の前記リンク付けするデータを削除する。
【００３４】
本発明のストリーム配信装置１１は、所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を本発明のストリーム配信装置１１に相応する装置とするソフトウェアが記録された記録媒体により当該ソフトウェアをコンピュータ装置にインストールすることにより実現できる。
【００３５】
以下、図面を参照して本発明に関わるストリーム配信装置および方法の実施形態について説明する。本実施形態におけるストリーム配信装置の接続構成を図２により説明する。図２において、本発明のストリーム配信装置１１は、ストリームサーバ１２に受信回線１３により接続され、ストリームコンテンツを受信する。
【００３６】
また、本装置は、送信回線１４−１から送信回線１４−Ｎを経由してクライアント１５−１からクライアント１５−Ｎが各々接続され、コピー後のストリームコンテンツが各クライアントへ配信される。この場合には、ストリーム配信装置１１がストリームサーバ１２から受信したパケットのＩＰソースアドレスはストリームサーバ１２、ＩＰデスティネーションアドレスはストリーム配信装置１１をそれぞれ示す。
【００３７】
また、ストリーム配信装置１１がクライアント１−Ｎへ送信するパケットのＩＰソースアドレスはストリーム配信装置１１、ＩＰデスティネーションアドレスはクライアント１５−１〜Ｎをそれぞれ示す。
【００３８】
本実施形態では、ストリーム配信装置１１は、ストリームデータをＵＤＰパケットにて転送することとする。その場合には、ストリーム配信装置１１は、ストリームサーバ１２から受信したパケットから抽出したＩＰデスティネーションアドレスとＵＤＰデスティネーションポート番号の組により転送ストリームデータのコンテンツを識別できることとする。
【００３９】
図３に示すストリーム配信装置１１は、受信回路２１、書込処理部２２、パケットバッファ２３、コピー制御部２４、コンテンツ識別子検索テーブル２５、一時記憶テーブル２６、データ設定部２７、要求バッファ２８、コピー配信制御テーブル２９、コピー処理部３０、コピー処理バッファ３１、読出処理部３２、送信回路３３により構成され、それぞれが本図の矢印にて記載されたデータを主にやり取りしながら一連の処理が実行される。
【００４０】
図３における各機能を説明する。受信回路２１は、パケットのＭＡＣレイヤ以下を終端し、パケット受信を後段の書込処理部２２へ通知する。
【００４１】
書込処理部２２は、パケット受信通知後、受信回路２１が受信したパケットをパケットバッファ２３ヘ転送するとともに、書き込んだバッファの先頭番地とバッファ長をコピー制御部２４へ通知する。パケットバッファ２３は、受信パケットを格納しておくバッファである。
【００４２】
コピー制御部２４は、受信パケットのヘッダ情報をキーにコンテンツ識別子検索テーブル２５を検索することにより、コンテンツ識別子を求め、コピー処理を後段に依頼する。また、分割パケットの場合は、先頭パケットにしか記載されていないコンテンツ情報を一時記憶テーブル２６にて記録、参照、削除しながら一連の分割パケットのコピー配信の宛先を参照可能とする。なお、コピー制御部２４の処理の流れは、図７を用いて詳細に説明する。
【００４３】
コンテンツ識別子検索テーブル２５は、図４のとおり、受信ＵＤＰデスティネーションポート番号、受信ＩＰデスティネーションアドレス、コンテンツ識別子を構成要素に持ち、受信情報からコンテンツ識別子を割り出すために使用する。
【００４４】
一時記憶テーブル２６は、コンテンツ識別子、パケット識別子、設定時刻値を持ち、先頭パケット以降の分割パケットとコンテンツをリンク付けするテーブルである。
【００４５】
データ設定部２７は、配信に先立ち、図４および図５のテーブルを事前に作成して維持管理する。コンテンツ識別子検索テーブル２５には、受信ＵＤＰデスティネーションポート番号、受信ソースＩＰアドレス、コンテンツ識別子を、コピー配信制御テーブル２９には、コンテンツ識別子、コピー数、送信デスティネーションポート番号、送信ＩＰデスティネーションアドレス、チェックサム差分計算値をそれぞれ設定する。
【００４６】
なお、ここでコピー数とは、コンテンツ毎に配信するクライアント数を示す。また、チェックサム差分計算値とは、受信パケットのＩＰアドレス、ＵＤＰポート番号、配信するパケットのＩＰアドレス、ＵＤＰポート番号から、チェックサム再計算時の演算の一部の計算値であり、ＩＰヘッダチェックサムとＵＤＰチェックサムを計算するための差分計算値を持つ。
【００４７】
本実施例においては、チェックサム差分計算値は、以下のように求める。計算に用いる変数を以下のように定義する。
【００４８】
受信パケットのＩＰソースアドレスをＳＡ１
受信パケットのＩＰデスティネーションアドレスをＤＡ１
受信パケットのソースポート番号をＳＰ１
受信パケットのデスティネーションポート番号をＤＰ１
受信パケットのプロトコル識別子をＰＲＯＴ１
受信パケットのＵＤＰデータグラム長をＬＥＮ１
送信パケットのＩＰソースアドレスをＳＡ２
送信パケットのＩＰデスティネーションアドレスをＤＡ２
送信パケットのソースポート番号をＳＰ２
送信パケットのデスティネーションポート番号をＤＰ２
送信パケットのプロトコル識別子をＰＲＯＴ２
送信パケットのＵＤＰデータグラム長をＬＥＮ２
よって、チェックサム差分情報は、受信パケットの変数の和を引いて、送信パケットの変数の和を加えればよい。よって、式（１）のようになる。
【００４９】
ＳＡ２＋ＤＡ２＋ＳＰ２＋ＤＰ２＋ＰＲＯＴ２＋ＬＥＮ２−（ＳＡ１＋ＤＡ１＋ＳＰ１＋ＤＰ１＋ＰＲＯＴ１＋ＬＥＮ１）  式（１）
ここで、ＩＰヘッダのプロトコル識別子、ＵＤＰデータグラムのＬｅｎｇｔｈ、ＵＤＰソースおよびデスティネーションポート番号は変化がないものとすると、式（２）のように簡略化できる。
【００５０】
ＳＡ２＋ＤＡ２＋ＤＰ２−（ＳＡ１＋ＤＡ１＋ＤＰ１）  式（２）
さらに今回の実施例では、ＤＡ１とＳＡ２が同じＩＰアドレスを指すため、両変数は相殺される。したがって、
ＤＡ２＋ＤＰ２−（ＳＡ１＋ＤＰ１）      式（３）
をチェックサム差分計算値として用いる。この計算結果は図５に示した。
【００５１】
本実施形態においては、式（３）を使った例により説明したが、ストリームサーバやクライアントの条件により、ＵＤＰソースポート番号や、ＩＰアドレスがストリーム配信装置１１の入り出で書き換えられる場合もある。その場合には、式（１）により計算することができる。
【００５２】
要求バッファ２８は、コピー処理要求をコンテンツ識別子、バッファ番地、バッファ長としてエントリーし、コピー処理部３０により読み出されるバッファである。
【００５３】
コピー配信制御テーブル２９は、コンテンツ識別子、コピー数、送信デスティネーションポート番号、送信デスティネーションＩＰアドレス、チェックサム差分計算値を持ち、コンテンツ毎の宛先情報を管理するテーブルである。
【００５４】
コピー処理部３０は、要求バッファ２８を検索し、要求が存在する場合に、当該要求を取り出す。まず、コンテンツ識別子をキーとしてコピー配信制御テーブル２９から送信デスティネーションポート番号、送信デスティネーションＩＰアドレス、コピー数、チェックサム差分計算値を引く。また、バッファ番地とバッファ長により、受信済みのパケットをパケットバッファ２３からコピー処理バッファ３１に読み出す。
【００５５】
次に、コピー処理部３０は、ＩＰヘッダチェックサム値を、ＩＰヘッダのＩＰアドレス受信値、ＩＰアドレス送信値とＩＰヘッダのチェックサム差分計算値から演算する。また、ＵＤＰチェックサム値は、ＩＰアドレスの受信値、送信値、ＵＤＰポート番号の送信値、受信値とＵＤＰチェックサム差分計算値から演算する。
【００５６】
さらに、コピー処理部３０は、ＩＰアドレス、ＵＤＰポート番号に関し、送信値を設定するとともに、計算済みのＩＰヘッダチェックサム値、ＵＤＰパケットチェックサム値を設定する。
【００５７】
これにより、送信すべき１パケット分のＩＰヘッダおよびＵＤＰヘッダがクライアント用に設定され、当該パケットは、読出処理部３２により受信回路３３へ送られ、最終的にクライアントへ到着する。
【００５８】
コピー処理部３０は、これらの一連の処理をクライアント毎に実行し、全クライアント分の処理が完了した時点で、要求バッファ２８を確認し、要求が存在する場合には、上記処理を繰り返す。
【００５９】
コピー処理バッファ３１は、パケットバッファ２３からパケットデータをロードし、コピー処理部３０が一時的に処理するために使用されるバッファである。
【００６０】
読出処理部３２は、処理済みのパケットをコピー処理バッファ３１から送信回路３３へ転送する。
【００６１】
送信回路３３は、処理済のパケットをＭＡＣレイヤパケットにカプセル化してクライアント向けに転送する。
【００６２】
図４は、本発明のストリーム配信装置および方法における、コンテンツ識別子検索テーブル２５の実施形態を示す。本図では、受信パケットのデスティネーションポート番号とＩＰデスティネーションアドレスにより、コンテンツ識別子を検索することができる。
【００６３】
図５は、本発明のストリーム配信装置および方法における、コピー配信制御テーブル２６の実施形態を示す。本図では、コンテンツ識別子から、当該コンテンツの配信データにマッピングするものであり、コピー数と、配信先毎のデスティネーションポート番号、ＩＰデスティネーションアドレス、チェックサム差分計算値を持つ。
【００６４】
図６は、本発明のストリーム配信装置および方法における、一時記憶テーブル２９の実施形態を示す。本図では、パケット識別子から、コンテンツ識別子と当該エントリーを登録した時刻（時：分：秒）を引くことができる。
【００６５】
図７は、本発明のストリーム配信装置におけるコピー制御部を中心としたパケットを組み立てずにコピー転送する部分の処理の流れを示す。
【００６６】
コピー処理部２４は、まず、書込処理部２２から受信したパケットのバッファ番地、バッファ長を割込み通知されたことを契機に、パケットバッファ２３ヘアクセスし、当該パケットのＩＰデスティネーションアドレスとＵＤＰデスティネーションポート番号、パケットヘッダから分割識別子、パケット識別子、分割オフセットを取り出す（１０１）。ここで、分割識別子は、受信したパケットが分割パケットの最終か分割されていない場合を“０”、分割パケットで先頭か中間パケットの場合を“１”で表示する。本実施形態においては、ＩＰパケットヘッダのＦｌａｇｓの２ビット目の値を用いる。また、パケット識別子は、分割した一連のパケットを一意に識別する番号で、ＩＰパケットの場合は、ＩＰパケットヘッダのＩｄｅｎｔｉｆｉｃａｔｉｏｎ、Ｐｒｏｔｏｃｏｌ、ＳｏｕｒｃｅＡｄｄｒｅｓｓの三つのフィールドの値を一組にした値とする。なお、本実施形態ではＰｒｏｔｏｃｏｌフィールドの値はＵＤＰを示す“１７”で固定であり、かつストリームサーバ１２は一つですべての場合において同一アドレスのため、Ｉｄｅｎｔｉｆｉｃａｔｉｏｎの値のみを使って識別することとする。なお、プロトコルが複数ある場合、あるいはサーバが複数存在する場合は、三つすべての番号を使用する必要がある。さらに、分割オフセットは、分割パケットは元のパケットデータのどの位置に相当するかを表示するものである。本実施形態では、ＩＰヘッダのＦｒａｇｍｅｎｔＯｆｆｓｅｔフィールドの値を使用する。
【００６７】
コピー制御部２４は、結局、受信パケットのＩＰアドレス、ＵＤＰポート番号、分割識別子、パケット識別子、分割オフセットをパケットバッファ２３から求める。ここで、分割パケットの種類を以下のように整理することができる。
【００６８】
ａ）非分割パケット：分割識別子＝０、分割オフセット＝０
ｂ）分割パケットの先頭パケット：分割識別子＝１、分割オフセット＝０
ｃ）分割パケットの中間パケット：分割識別子＝１、分割オフセット≠０
ｄ）分割パケットの最終パケット：分割識別子＝０、分割オフセット≠０
ａ）からｄ）の４つのパターンについて、以下のとおり振分け処理を行う（１０２）。
【００６９】
ａ）の場合は、まず受信パケットのＵＤＰデスティネーションポート番号とＩＰデスティネーションアドレスをキーに、コンテンツ識別子検索テーブル２５にアクセスし、当該受信パケットの運ぶストリームのコンテンツ識別子を求める（１０３）。このコンテンツ識別子とバッファ番地、バッファ長を要求バッファに入力することにより，後段のコピー処理を依頼する（１０４）。
【００７０】
ｂ）の場合は、ａ）の処理（１０５、１０６）をした後、コンテンツ識別子とパケット識別子を一時記憶テーブル２６にエントリーする（１０７）。その際、エントリー毎にタイマ監視をするため、登録時刻を記入する（１０７）。
【００７１】
ｃ）の場合は、パケット識別子をキーに一時記憶テーブル２６を検索し、コンテンツ識別子を求める（１０８）。その後、コンテンツ識別子とバッファ番地、パケット長を要求バッファに入力することにより、後段のコピー処理を依頼する（１０９）。
【００７２】
ｄ）の場合は、ｃ）の処理（１１０、１１１）を実行後、一連の分割パケットに使用した一時記憶テーブル２６のエントリーを削除する（１１２）。
【００７３】
さらに、コピー制御部２４は、一時記憶テーブル２６のエントリー毎にタイマー監視を行い、５分経過したかどうかをチェックする（１１３）。このとき、経過しても存在する場合は、そのエントリーを削除する（１１４）。その後、処理を先頭に戻し、割込み待ちとなり、再度同様の処理を繰り返す。
【００７４】
以上述べたとおり、本発明の本実施形態では、分割パケットにて転送されるストリームコンテンツデータをパケット単位で（パケット組立て処理なしで）コピー配信処理が可能となる。
【００７５】
このように、本発明のストリーム配信装置によれば、ストリームデータパケットが分割して転送される場合においても、パケット組立て待ち遅延を削減し、遅延の少ない配信処理が可能となる。さらに、分割パケットの組立て処理や再分割処理など、従来の汎用プロセッサ系で実行されていた処理が不要となるため、それらの処理を削減することにより、実行ステップ数が削減され、パケット当りの処理時間を短くすることができる。これにより、ストリームデータパケットの処理容量が向上する。以上の理由により、低遅延かつ大規模なストリーム放送サービスを本発明の装置および方法により実現することができる。
【００７６】
【発明の効果】
以上説明したように、本発明によれば、分割パケットで転送されるストリームデータの転送処理を簡略化することにより、高速かつ大容量なストリーム配信を実現することができる。
【図面の簡単な説明】
【図１】本発明による遅延時間軽減効果を説明するための図。
【図２】本発明実施例のストリーム配信装置の接続構成を示す図。
【図３】本発明実施例のストリーム配信装置のブロック構成図。
【図４】本発明実施例のコンテンツ識別子検索テーブルを示す図。
【図５】本発明実施例のコピー配信制御テーブルを示す図。
【図６】本発明実施例の一時記憶テーブルを示す図。
【図７】本発明実施例のコピー制御部を中心とした処理フローを示す図。
【符号の説明】
１ａ、、１ｂ、１２  ストリームサーバ
２ａ、２ｂ、１１  ストリーム配信装置
３ａ〜５ａ、３ｂ〜５ｂ、１５−１〜１５−Ｎ  クライアント
６ａ〜１７ａ、６ｂ〜１７ｂ  分割パケット
１３  受信回線
１４−１〜１４−Ｎ  送信回線
２１  受信回路
２２  書込処理部
２３  パケットバッファ
２４  コピー制御部
２５  コンテンツ識別子検索テーブル
２６  一時記憶テーブル
２７  データ設定部
２８  要求バッファ
２９  コピー配信制御テーブル
３０  コピー処理部
３１  コピー処理バッファ
３２  読出処理部
３３  送信回路
【図１】
0003558978.tif 000002
【図２】
0003558978.tif 000003
【図３】
0003558978.tif 000004
【図４】
0003558978.tif 000005
【図５】
0003558978.tif 000006
【図６】
0003558978.tif 000007
【図７】
0003558978.tif 000008