JP3558978B2 - ストリーム配信装置および方法および記録媒体 - Google Patents
ストリーム配信装置および方法および記録媒体 Download PDFInfo
- Publication number
- JP3558978B2 JP3558978B2 JP2000306444A JP2000306444A JP3558978B2 JP 3558978 B2 JP3558978 B2 JP 3558978B2 JP 2000306444 A JP2000306444 A JP 2000306444A JP 2000306444 A JP2000306444 A JP 2000306444A JP 3558978 B2 JP3558978 B2 JP 3558978B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- stream
- content
- data
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、映像、音声を含むストリーム放送の配信に利用する。本発明は、大規模かつ高速な放送サービスを提供するストリーム配信技術に関する。
【0002】
【従来の技術】
従来、インターネット上に設置されたストリーム配信装置としては、RealNetworks社などのスプリッタ製品が代表的である。これは、汎用パソコンや汎用ワークステーションなどの汎用プロセッサ上で動作し、ストリームサーバから受信した1本のストリームデータを1または複数のクライアントに対してコピー配信するものである。
【0003】
従来のストリーム放送の制御を行うストリーミングプロトコルでは、放送コンテンツ毎にUDP(User Datagram Protocol)ポート番号に対応させてストリーム配信が行われている。UDPポート番号は、クライアント、スプリッタ、サーバ等の配信機器の接続構成により、下流の機器が受信ポート番号を決定する方式となっているため、サーバ、スプリッタ、クライアントという構成でストリーム配信を行う場合は、スプリッタ側でUDPポート番号を変換する機能を持っている。
【0004】
【発明が解決しようとする課題】
従来のスプリッタは、汎用プロセッサの通信機能をベースとした技術である。一般的に、ストリームデータはIP(Internet Protocol)パケット上にUDPパケットのペイロードにストリーム転送プロトコルを載せ(例えばIETF(Internet Engineering Task Force:インターネット技術標準化委員会)RFC(Requestfor Comments)1889で規定されたRTP(Real−time Transport Protocol)プロトコル)、その上に音声や映像データをエンコードした符号データを載せて転送している。
【0005】
したがって、汎用プロセッサのOS(Operation System)が提供するIPパケットプロトコル解析機能、UDPパケットプロトコル解析機能を利用して処理されている。各プロトコル解析機能は、レイヤ毎に処理内容が規定されている。よって、レイヤ毎にヘッダ上のプロトコル情報を読み出し、プロトコルデータ正常性チェック処理、状態変数の遷移処理、加算/減算処理など、すべての規定処理を実行後、次のレイヤに係る処理を順じ進める形で行われている。このため、レイヤ毎にプロトコル解析処理をするためのメモリオペレーションがオーバヘッドとなり高速化処理に向いていない。
【0006】
しかしながら、ストリームパケットの転送に特化した処理を想定すると、サーバから受信したパケットを複製しそのヘッダを配布表に基づいて、IPアドレスとUDPポート番号を変換することが主な処理である。よって、必要最小限の処理に限定した処理系が高速化に適していると考えられる。
【0007】
ところで、ストリームデータの長さは一般的に様々である。転送するネットワーク上のルータ等の機器では、1パケット長の上限値が規定されており、一つのIPパケットがその規定値を超過した場合はパケットを分割して転送する方法がとられている。この場合には、先頭パケットにはUDPヘッダが含まれるが、二番目以降のパケットはUDPヘッダが含まれないため、そのパケットからだけではどのコンテンツを運ぶパケットかが識別できない。
【0008】
その結果、分割パケットは一旦バッファリングされ、1つの長いパケットに組み立てた上で、コンテンツを識別し配信処理を行っている。この場合には、分割パケットすべてがスプリッタに到着してから複製処理、ヘッダ変換を実行するため、大きな遅延が発生している。
【0009】
例えば、300Kb/sのストリームコンテンツが6000byteパケットで転送される場合であれば、転送パケット上限値が1500byteとすると4パケットに分割される。1パケット当り40ms程度(=1500byte×8/300000b/s)かかるため、4パケット転送するために高速回線で転送しても少なくとも120msは必要となる。これがスプリッタ1段中継で必要となるため、多段で中継される場合はさらに遅延時間が増えてしまい、リアルタイムの放送サービスには向いていない。
【0010】
以上述べたように、汎用プロセッサ利用により、レイヤ毎にプロトコル処理されているため、オーバヘッドが大きく、高速化、大規模化に向いていない。特に、分割パケットで転送されるストリームデータは一旦パケットに組立て、複製およびヘッダ変換処理をするため、すべての分割パケットを待合わせる分だけ転送遅延が発生する。
【0011】
本発明は、このような背景に行われたものであって、分割パケットで転送されるストリームデータの転送処理を簡略化することにより、高速かつ大容量なストリーム配信を実現することができるストリーム配信装置および方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明は、ストリームパケットを受信すると、パケットヘッダを参照してあらかじめ決められた宛先に配信するために、受信したパケットヘッダ情報から当該パケットが運ぶコンテンツを識別する機能と、同パケットヘッダ情報から複数のパケットに分割転送していることを識別する機能と、分割されたパケットを一意に識別する機能と、コンテンツ毎に配信すべきクライアント宛の配信情報を登録したコピー配布表および当該表を管理する機能とを持つことを特徴とする。
【0013】
一つのコンテンツが、分割パケットにより転送される場合は、コンテンツを識別する情報が先頭のパケットヘッダにしか含まれていない。そこで、それ以外の分割パケットもコンテンツを識別できるようにするために、まず先頭パケットのヘッダ情報から当該パケット群が運ぶコンテンツを識別し、当該コンテンツのコピー配布表を参照して当該受信パケットの複製とヘッダ書換えを行う際に、追加で当該受信パケットのヘッダに記載されたパケット識別情報とコンテンツとを関連付けし、それを一時記憶テーブルに登録する。この一時記憶テーブルから先頭以降のパケットがパケット識別情報をキーにして関連コンテンツ名を引当て、先頭パケットと同様にコピー配布表を参照して配信する。さらに、分割された最終パケットを識別する機能を持ち、そのパケットが一連の分割パケットのうち、最終パケットである場合は、使用していた一時記憶テーブルエントリーを削除する機能を持つこともできる。
【0014】
なお、何らかの理由により一時記憶テーブルに設定されたエントリーが一連の分割パケットを転送後も抹消されない場合が想定される。そのために、一定期間テーブルエントリーを監視し、当該エントリーが抹消されない場合は、強制的に削除する機能を持つこともできる。
【0015】
このように本発明によれば、パケット単位での処理のため、分割パケットを組立てあるいは分割する処理を削減することができる。すなわち、ストリームデータが分割パケットで転送された場合であっても、パケット単位で転送処理ができるため、一連の分割パケットをすべて待合せるための遅延時間を削減することができる。
【0016】
本発明による遅延時間軽減効果を図1を参照して説明する。図1(1)はパケット組立て方式のパケットデータの流れを示し、従来方式に相当する。ここで、1aはストリームサーバ、2aはストリーム配信装置、3a、4a、5aはクライアント、6a〜8aはストリームサーバ(1a)が送信する分割パケット、9aから7aは、ストリーム配信装置(2a)が送信する分割パケットを示す。
【0017】
また、図1(2)はパケット非組立て方式のパケットデータの流れを示し、本発明の装置および方法を利用した場合に相当する。ここで、1bはストリームサーバ、2bはストリーム配信装置、3b、4b、5bはクライアント、6b〜8bはストリームサーバ(1b)が送信する分割パケット、9bから7bは、ストリーム配信装置(2b)が送信する分割パケットを示す。
【0018】
図1(1)と図1(2)とを比較すると、従来方式では、8aの最終パケットが到着した時点でパケットを組立て9a以降のパケット配信処理をする。そのため、ストリーム配信装置(2a)がパケットを受信して送信するまでに最低、分割パケット6a〜8aが転送される時間分の遅延が発生する。これに対して、本発明では、6bの分割パケットを受信してすぐパケット配信処理ができるため、ほとんど遅延が発生しないことが分かる。
【0019】
すなわち、本発明の第一の観点は、ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントヘ放送配信するストリーム配信装置である。
【0020】
ここで、本発明の特徴とするところは、一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別する分割パケット識別手段と、コンテンツ毎に配信すべきクライアント宛ての配信情報を登録したコピー配布表と、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対し前記コピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信する手段とを備えたところにある。
【0021】
これにより、一つのコンテンツが複数のパケットに分割転送されている場合でも、個々のパケットについて転送処理を即座に行うことができるので、高速かつ大容量なストリーム配信を実現することができる。
【0022】
前記分割パケット識別手段が識別を行うために用いるデータを生成する手段と、このデータを一時記憶する手段とが設けられ、前記データを生成する手段は、前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別する手段と、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成する手段とを含み、前記分割パケット識別手段は、受信パケットのヘッダ情報を引数として前記一時記憶する手段に記憶された前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する手段を含むことが望ましい。これにより、前記パケット群を構成する全パケットが揃うまで待つことなく、前記パケット群を構成する個々のパケットをそれぞれ識別することができる。
【0023】
前記パケット群の最終パケットを識別する手段が設けられ、最終パケットが識別されたときには前記一時記憶する手段に記憶された当該コンテンツに関する前記リンク付けするデータを削除する手段を備えることが望ましい。これにより、前記一時記憶する手段を効率良く運用することができる。さらに、一定時間経過した前記一時記憶する手段の前記リンク付けするデータを削除する手段を備えることが望ましい。これにより、例えば、配信が中断したストリーム放送が発生した場合でも、前記一時記憶する手段に無駄なデータが残存することを回避できる。
【0024】
本発明の第二の観点は、ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントヘ放送配信するストリーム配信方法である。
【0025】
ここで、本発明の特徴とするところは、一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別し、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対しコンテンツ毎に配信すべきクライアント宛ての配信情報を登録したコピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信するところにある。
【0026】
前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別し、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成してこれを記憶しておき、受信パケットのヘッダ情報を引数として記憶している前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別することが望ましい。
【0027】
前記パケット群の最終パケットを識別し、最終パケットが識別されたときには記憶している当該コンテンツに関する前記リンク付けするデータを削除することが望ましい。さらに、一定時間経過した記憶している前記リンク付けするデータを削除することが望ましい。
【0028】
本発明の第三の観点は、所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を本発明のストリーム配信装置に相応する装置とするソフトウェアが記録された記録媒体である。
【0029】
【発明の実施の形態】
本発明実施例のストリーム配信装置の構成および接続構成を図2および図3を参照して説明する。図2は本発明実施例のストリーム配信装置の接続構成を示す図である。図3は本発明実施例のストリーム配信装置のブロック構成図である。
【0030】
本発明は、図2に示すように、ストリームサーバ12の送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアント15−1〜15−Nヘ放送配信するストリーム配信装置11である。
【0031】
ここで、本発明の特徴とするところは、図3に示すコピー制御部24には、一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別する分割パケット識別手段を備え、コピー配信制御テーブル29には、コンテンツ毎に配信すべきクライアント宛ての配信情報を登録したコピー配布表を備え、コピー制御部24、コピー処理部30、読出処理部32、送信回路33により、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対し前記コピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信するところにある。
【0032】
また、コピー制御部24には、前記パケット群を構成するパケットを識別するために用いるデータを生成する手段を備え、このデータを一時記憶する一時記憶テーブル26を備え、コピー制御部24は、前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別し、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成し、受信パケットのヘッダ情報を引数として一時記憶テーブル26に記憶された前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する。
【0033】
また、コピー制御部24には、前記パケット群の最終パケットを識別する手段が設けられ、最終パケットが識別されたときには一時記憶テーブル26に記憶された当該コンテンツに関する前記リンク付けするデータを削除する手段を備える。さらに、コピー制御部24は、一定時間経過した一時記憶テーブル26の前記リンク付けするデータを削除する。
【0034】
本発明のストリーム配信装置11は、所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を本発明のストリーム配信装置11に相応する装置とするソフトウェアが記録された記録媒体により当該ソフトウェアをコンピュータ装置にインストールすることにより実現できる。
【0035】
以下、図面を参照して本発明に関わるストリーム配信装置および方法の実施形態について説明する。本実施形態におけるストリーム配信装置の接続構成を図2により説明する。図2において、本発明のストリーム配信装置11は、ストリームサーバ12に受信回線13により接続され、ストリームコンテンツを受信する。
【0036】
また、本装置は、送信回線14−1から送信回線14−Nを経由してクライアント15−1からクライアント15−Nが各々接続され、コピー後のストリームコンテンツが各クライアントへ配信される。この場合には、ストリーム配信装置11がストリームサーバ12から受信したパケットのIPソースアドレスはストリームサーバ12、IPデスティネーションアドレスはストリーム配信装置11をそれぞれ示す。
【0037】
また、ストリーム配信装置11がクライアント1−Nへ送信するパケットのIPソースアドレスはストリーム配信装置11、IPデスティネーションアドレスはクライアント15−1〜Nをそれぞれ示す。
【0038】
本実施形態では、ストリーム配信装置11は、ストリームデータをUDPパケットにて転送することとする。その場合には、ストリーム配信装置11は、ストリームサーバ12から受信したパケットから抽出したIPデスティネーションアドレスとUDPデスティネーションポート番号の組により転送ストリームデータのコンテンツを識別できることとする。
【0039】
図3に示すストリーム配信装置11は、受信回路21、書込処理部22、パケットバッファ23、コピー制御部24、コンテンツ識別子検索テーブル25、一時記憶テーブル26、データ設定部27、要求バッファ28、コピー配信制御テーブル29、コピー処理部30、コピー処理バッファ31、読出処理部32、送信回路33により構成され、それぞれが本図の矢印にて記載されたデータを主にやり取りしながら一連の処理が実行される。
【0040】
図3における各機能を説明する。受信回路21は、パケットのMACレイヤ以下を終端し、パケット受信を後段の書込処理部22へ通知する。
【0041】
書込処理部22は、パケット受信通知後、受信回路21が受信したパケットをパケットバッファ23ヘ転送するとともに、書き込んだバッファの先頭番地とバッファ長をコピー制御部24へ通知する。パケットバッファ23は、受信パケットを格納しておくバッファである。
【0042】
コピー制御部24は、受信パケットのヘッダ情報をキーにコンテンツ識別子検索テーブル25を検索することにより、コンテンツ識別子を求め、コピー処理を後段に依頼する。また、分割パケットの場合は、先頭パケットにしか記載されていないコンテンツ情報を一時記憶テーブル26にて記録、参照、削除しながら一連の分割パケットのコピー配信の宛先を参照可能とする。なお、コピー制御部24の処理の流れは、図7を用いて詳細に説明する。
【0043】
コンテンツ識別子検索テーブル25は、図4のとおり、受信UDPデスティネーションポート番号、受信IPデスティネーションアドレス、コンテンツ識別子を構成要素に持ち、受信情報からコンテンツ識別子を割り出すために使用する。
【0044】
一時記憶テーブル26は、コンテンツ識別子、パケット識別子、設定時刻値を持ち、先頭パケット以降の分割パケットとコンテンツをリンク付けするテーブルである。
【0045】
データ設定部27は、配信に先立ち、図4および図5のテーブルを事前に作成して維持管理する。コンテンツ識別子検索テーブル25には、受信UDPデスティネーションポート番号、受信ソースIPアドレス、コンテンツ識別子を、コピー配信制御テーブル29には、コンテンツ識別子、コピー数、送信デスティネーションポート番号、送信IPデスティネーションアドレス、チェックサム差分計算値をそれぞれ設定する。
【0046】
なお、ここでコピー数とは、コンテンツ毎に配信するクライアント数を示す。また、チェックサム差分計算値とは、受信パケットのIPアドレス、UDPポート番号、配信するパケットのIPアドレス、UDPポート番号から、チェックサム再計算時の演算の一部の計算値であり、IPヘッダチェックサムとUDPチェックサムを計算するための差分計算値を持つ。
【0047】
本実施例においては、チェックサム差分計算値は、以下のように求める。計算に用いる変数を以下のように定義する。
【0048】
受信パケットのIPソースアドレスをSA1
受信パケットのIPデスティネーションアドレスをDA1
受信パケットのソースポート番号をSP1
受信パケットのデスティネーションポート番号をDP1
受信パケットのプロトコル識別子をPROT1
受信パケットのUDPデータグラム長をLEN1
送信パケットのIPソースアドレスをSA2
送信パケットのIPデスティネーションアドレスをDA2
送信パケットのソースポート番号をSP2
送信パケットのデスティネーションポート番号をDP2
送信パケットのプロトコル識別子をPROT2
送信パケットのUDPデータグラム長をLEN2
よって、チェックサム差分情報は、受信パケットの変数の和を引いて、送信パケットの変数の和を加えればよい。よって、式(1)のようになる。
【0049】
SA2+DA2+SP2+DP2+PROT2+LEN2−(SA1+DA1+SP1+DP1+PROT1+LEN1) 式(1)
ここで、IPヘッダのプロトコル識別子、UDPデータグラムのLength、UDPソースおよびデスティネーションポート番号は変化がないものとすると、式(2)のように簡略化できる。
【0050】
SA2+DA2+DP2−(SA1+DA1+DP1) 式(2)
さらに今回の実施例では、DA1とSA2が同じIPアドレスを指すため、両変数は相殺される。したがって、
DA2+DP2−(SA1+DP1) 式(3)
をチェックサム差分計算値として用いる。この計算結果は図5に示した。
【0051】
本実施形態においては、式(3)を使った例により説明したが、ストリームサーバやクライアントの条件により、UDPソースポート番号や、IPアドレスがストリーム配信装置11の入り出で書き換えられる場合もある。その場合には、式(1)により計算することができる。
【0052】
要求バッファ28は、コピー処理要求をコンテンツ識別子、バッファ番地、バッファ長としてエントリーし、コピー処理部30により読み出されるバッファである。
【0053】
コピー配信制御テーブル29は、コンテンツ識別子、コピー数、送信デスティネーションポート番号、送信デスティネーションIPアドレス、チェックサム差分計算値を持ち、コンテンツ毎の宛先情報を管理するテーブルである。
【0054】
コピー処理部30は、要求バッファ28を検索し、要求が存在する場合に、当該要求を取り出す。まず、コンテンツ識別子をキーとしてコピー配信制御テーブル29から送信デスティネーションポート番号、送信デスティネーションIPアドレス、コピー数、チェックサム差分計算値を引く。また、バッファ番地とバッファ長により、受信済みのパケットをパケットバッファ23からコピー処理バッファ31に読み出す。
【0055】
次に、コピー処理部30は、IPヘッダチェックサム値を、IPヘッダのIPアドレス受信値、IPアドレス送信値とIPヘッダのチェックサム差分計算値から演算する。また、UDPチェックサム値は、IPアドレスの受信値、送信値、UDPポート番号の送信値、受信値とUDPチェックサム差分計算値から演算する。
【0056】
さらに、コピー処理部30は、IPアドレス、UDPポート番号に関し、送信値を設定するとともに、計算済みのIPヘッダチェックサム値、UDPパケットチェックサム値を設定する。
【0057】
これにより、送信すべき1パケット分のIPヘッダおよびUDPヘッダがクライアント用に設定され、当該パケットは、読出処理部32により受信回路33へ送られ、最終的にクライアントへ到着する。
【0058】
コピー処理部30は、これらの一連の処理をクライアント毎に実行し、全クライアント分の処理が完了した時点で、要求バッファ28を確認し、要求が存在する場合には、上記処理を繰り返す。
【0059】
コピー処理バッファ31は、パケットバッファ23からパケットデータをロードし、コピー処理部30が一時的に処理するために使用されるバッファである。
【0060】
読出処理部32は、処理済みのパケットをコピー処理バッファ31から送信回路33へ転送する。
【0061】
送信回路33は、処理済のパケットをMACレイヤパケットにカプセル化してクライアント向けに転送する。
【0062】
図4は、本発明のストリーム配信装置および方法における、コンテンツ識別子検索テーブル25の実施形態を示す。本図では、受信パケットのデスティネーションポート番号とIPデスティネーションアドレスにより、コンテンツ識別子を検索することができる。
【0063】
図5は、本発明のストリーム配信装置および方法における、コピー配信制御テーブル26の実施形態を示す。本図では、コンテンツ識別子から、当該コンテンツの配信データにマッピングするものであり、コピー数と、配信先毎のデスティネーションポート番号、IPデスティネーションアドレス、チェックサム差分計算値を持つ。
【0064】
図6は、本発明のストリーム配信装置および方法における、一時記憶テーブル29の実施形態を示す。本図では、パケット識別子から、コンテンツ識別子と当該エントリーを登録した時刻(時:分:秒)を引くことができる。
【0065】
図7は、本発明のストリーム配信装置におけるコピー制御部を中心としたパケットを組み立てずにコピー転送する部分の処理の流れを示す。
【0066】
コピー処理部24は、まず、書込処理部22から受信したパケットのバッファ番地、バッファ長を割込み通知されたことを契機に、パケットバッファ23ヘアクセスし、当該パケットのIPデスティネーションアドレスとUDPデスティネーションポート番号、パケットヘッダから分割識別子、パケット識別子、分割オフセットを取り出す(101)。ここで、分割識別子は、受信したパケットが分割パケットの最終か分割されていない場合を“0”、分割パケットで先頭か中間パケットの場合を“1”で表示する。本実施形態においては、IPパケットヘッダのFlagsの2ビット目の値を用いる。また、パケット識別子は、分割した一連のパケットを一意に識別する番号で、IPパケットの場合は、IPパケットヘッダのIdentification、Protocol、SourceAddressの三つのフィールドの値を一組にした値とする。なお、本実施形態ではProtocolフィールドの値はUDPを示す“17”で固定であり、かつストリームサーバ12は一つですべての場合において同一アドレスのため、Identificationの値のみを使って識別することとする。なお、プロトコルが複数ある場合、あるいはサーバが複数存在する場合は、三つすべての番号を使用する必要がある。さらに、分割オフセットは、分割パケットは元のパケットデータのどの位置に相当するかを表示するものである。本実施形態では、IPヘッダのFragmentOffsetフィールドの値を使用する。
【0067】
コピー制御部24は、結局、受信パケットのIPアドレス、UDPポート番号、分割識別子、パケット識別子、分割オフセットをパケットバッファ23から求める。ここで、分割パケットの種類を以下のように整理することができる。
【0068】
a)非分割パケット:分割識別子=0、分割オフセット=0
b)分割パケットの先頭パケット:分割識別子=1、分割オフセット=0
c)分割パケットの中間パケット:分割識別子=1、分割オフセット≠0
d)分割パケットの最終パケット:分割識別子=0、分割オフセット≠0
a)からd)の4つのパターンについて、以下のとおり振分け処理を行う(102)。
【0069】
a)の場合は、まず受信パケットのUDPデスティネーションポート番号とIPデスティネーションアドレスをキーに、コンテンツ識別子検索テーブル25にアクセスし、当該受信パケットの運ぶストリームのコンテンツ識別子を求める(103)。このコンテンツ識別子とバッファ番地、バッファ長を要求バッファに入力することにより,後段のコピー処理を依頼する(104)。
【0070】
b)の場合は、a)の処理(105、106)をした後、コンテンツ識別子とパケット識別子を一時記憶テーブル26にエントリーする(107)。その際、エントリー毎にタイマ監視をするため、登録時刻を記入する(107)。
【0071】
c)の場合は、パケット識別子をキーに一時記憶テーブル26を検索し、コンテンツ識別子を求める(108)。その後、コンテンツ識別子とバッファ番地、パケット長を要求バッファに入力することにより、後段のコピー処理を依頼する(109)。
【0072】
d)の場合は、c)の処理(110、111)を実行後、一連の分割パケットに使用した一時記憶テーブル26のエントリーを削除する(112)。
【0073】
さらに、コピー制御部24は、一時記憶テーブル26のエントリー毎にタイマー監視を行い、5分経過したかどうかをチェックする(113)。このとき、経過しても存在する場合は、そのエントリーを削除する(114)。その後、処理を先頭に戻し、割込み待ちとなり、再度同様の処理を繰り返す。
【0074】
以上述べたとおり、本発明の本実施形態では、分割パケットにて転送されるストリームコンテンツデータをパケット単位で(パケット組立て処理なしで)コピー配信処理が可能となる。
【0075】
このように、本発明のストリーム配信装置によれば、ストリームデータパケットが分割して転送される場合においても、パケット組立て待ち遅延を削減し、遅延の少ない配信処理が可能となる。さらに、分割パケットの組立て処理や再分割処理など、従来の汎用プロセッサ系で実行されていた処理が不要となるため、それらの処理を削減することにより、実行ステップ数が削減され、パケット当りの処理時間を短くすることができる。これにより、ストリームデータパケットの処理容量が向上する。以上の理由により、低遅延かつ大規模なストリーム放送サービスを本発明の装置および方法により実現することができる。
【0076】
【発明の効果】
以上説明したように、本発明によれば、分割パケットで転送されるストリームデータの転送処理を簡略化することにより、高速かつ大容量なストリーム配信を実現することができる。
【図面の簡単な説明】
【図1】本発明による遅延時間軽減効果を説明するための図。
【図2】本発明実施例のストリーム配信装置の接続構成を示す図。
【図3】本発明実施例のストリーム配信装置のブロック構成図。
【図4】本発明実施例のコンテンツ識別子検索テーブルを示す図。
【図5】本発明実施例のコピー配信制御テーブルを示す図。
【図6】本発明実施例の一時記憶テーブルを示す図。
【図7】本発明実施例のコピー制御部を中心とした処理フローを示す図。
【符号の説明】
1a、、1b、12 ストリームサーバ
2a、2b、11 ストリーム配信装置
3a〜5a、3b〜5b、15−1〜15−N クライアント
6a〜17a、6b〜17b 分割パケット
13 受信回線
14−1〜14−N 送信回線
21 受信回路
22 書込処理部
23 パケットバッファ
24 コピー制御部
25 コンテンツ識別子検索テーブル
26 一時記憶テーブル
27 データ設定部
28 要求バッファ
29 コピー配信制御テーブル
30 コピー処理部
31 コピー処理バッファ
32 読出処理部
33 送信回路
Claims (9)
- ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントへ放送配信するストリーム配信装置において、
一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別する分割パケット識別手段と、
コンテンツ毎にコンテンツ識別情報、ユーザ識別情報、送信IPアドレス、チェックサム再計算時の演算の一部の計算値であるチェックサム差分計算値を含む配信情報を登録したコピー配信表と、
受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対し前記コピー配布表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信する手段と
を備えたことを特徴とするストリーム配信装置。 - 前記分割パケット識別手段が識別を行うために用いるデータを生成する手段と、
このデータを一時記憶する手段と
が設けられ、
前記データを生成する手段は、
前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別する手段と、
前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成する手段と
を含み、
前記分割パケット識別手段は、受信パケットのヘッダ情報を引数として前記一時記憶する手段に記憶された前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する手段を含む
請求項1記載のストリーム配信装置。 - 前記パケット群の最終パケットを識別する手段が設けられ、
最終パケットが識別されたときには前記一時記憶する手段に記憶された当該コンテンツに関する前記リンク付けするデータを削除する手段を備えた請求項2記載のストリーム配信装置。 - 一定時間経過した前記一時記憶する手段の前記リンク付けするデータを削除する手段を備えた請求項3記載のストリーム配信装置。
- ストリームサーバの送信するストリーム放送のパケットを受信して当該パケットをコピー後にクライアントへ放送配信するストリーム配信方法において、
一つのコンテンツが複数のパケットに分割転送されているときにはその分割転送されるパケット群を構成するパケットを識別し、受信パケットから前記パケット群を構成するパケットが一つ識別される毎にそのパケットに対しコンテンツ毎にコンテンツ識別情報、ユーザ識別情報、送信IPアドレス、チェックサム再計算時の演算の一部の計算値であるチェックサム差分計算値を含む配信情報を登録したコピー配信表を参照して配信すべきクライアントに対する当該パケットの複製とヘッダ書換えとを行い当該クライアント宛てに送信する
ことを特徴とするストリーム配信方法。 - 前記パケット群を構成する先頭パケットのヘッダ情報から当該パケットが運ぶコンテンツを識別し、前記ヘッダ情報に書込まれた前記パケット群を構成する全パケットにユニークに付与されたパケット識別情報と当該コンテンツとをリンク付けするデータを生成してこれを記憶しておき、受信パケットのヘッダ情報を引数として記憶している前記リンク付けするデータを検索し前記パケット群を構成するパケットを識別する請求項5記載のストリーム配信方法。
- 前記パケット群の最終パケットを識別し、最終パケットが識別されたときには記憶している当該コンテンツに関する前記リンク付けするデータを削除する請求項6記載のストリーム配信方法。
- 一定時間経過した記憶している前記リンク付けするデータを削除する請求項7記載のストリーム配信方法。
- 所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を請求項1ないし4のいずれかに記載のストリーム配信装置に相応する装置とするソフトウェアが記録された記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000306444A JP3558978B2 (ja) | 2000-10-05 | 2000-10-05 | ストリーム配信装置および方法および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000306444A JP3558978B2 (ja) | 2000-10-05 | 2000-10-05 | ストリーム配信装置および方法および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002118589A JP2002118589A (ja) | 2002-04-19 |
JP3558978B2 true JP3558978B2 (ja) | 2004-08-25 |
Family
ID=18787132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000306444A Expired - Lifetime JP3558978B2 (ja) | 2000-10-05 | 2000-10-05 | ストリーム配信装置および方法および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3558978B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6268066B2 (ja) * | 2013-09-20 | 2018-01-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
CN109905748B (zh) * | 2013-09-20 | 2022-05-10 | 松下电器(美国)知识产权公司 | 图像编码方法及装置、图像解码方法及装置 |
JP2016021639A (ja) * | 2014-07-14 | 2016-02-04 | 日本電気株式会社 | 通信装置、通信方法及びプログラム |
JP7155893B2 (ja) * | 2018-11-07 | 2022-10-19 | 日本電信電話株式会社 | 中継装置、中継方法及び中継プログラム |
-
2000
- 2000-10-05 JP JP2000306444A patent/JP3558978B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002118589A (ja) | 2002-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7363347B2 (en) | Method and system for reestablishing connection information on a switch connected to plural servers in a computer network | |
US6374300B2 (en) | Method and system for storing load balancing information with an HTTP cookie | |
US7451193B1 (en) | Method and apparatus for reducing overhead on a proxied connection | |
US7831712B1 (en) | System and method for performing application level persistence | |
EP1732285B1 (en) | Apparatus and methods for a high performance hardware network protocol processing engine | |
US6973506B2 (en) | Position identifier management apparatus and method, mobile computer, and position identifier processing method | |
TWI411279B (zh) | 封包聚合的方法與系統 | |
US7079501B2 (en) | Method and system for efficiently delivering content to multiple requesters | |
US7496678B2 (en) | Method and system for unified caching of media content | |
US20020191600A1 (en) | Method and apparatus for communicating using labeled data packets in a network | |
US7925789B2 (en) | Cookie invalidation or expiration by a switch | |
JPH11224219A (ja) | 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体 | |
JP4177346B2 (ja) | 負荷分散システム、実サーバ及び負荷分散方法 | |
JP2006277570A (ja) | 負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法 | |
US20090103537A1 (en) | System for switching between communication devices, switching method, and switching program | |
JPH1063598A (ja) | マルチキャスト通信方法及びマルチキャスト通信システムと、マルチキャスト通信用サーバ | |
US8209371B2 (en) | Method and system for managing communication in a computer network using aliases of computer network addresses | |
US7287084B1 (en) | Enabling encryption of application level persistence between a server and a client | |
JP3558978B2 (ja) | ストリーム配信装置および方法および記録媒体 | |
JP4460693B2 (ja) | 情報検索機能をもつネットワークシステム | |
GB2380373A (en) | Data packet transmission for a directly addressed multicast protocol | |
JP2003069640A (ja) | イーサネット(登録商標)上における明示的マルチキャストサービス方法及び装置 | |
JP4986265B2 (ja) | 通信装置、その動作方法、及び動作プログラム | |
JP3579335B2 (ja) | ストリーム配信装置 | |
JP3464375B2 (ja) | 通信データ処理方法及びそのネットワーク間接続装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040519 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3558978 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120528 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140528 Year of fee payment: 10 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |