(57)【特許請求の範囲】
【請求項１】
ストリームサーバから送信されたストリームデータパケットを受信し、当該ストリームデータパケットを少なくとも１つのクライアントに送信するストリーム中継制御装置におけるストリーム中継制御方法であって、
クライアントから送信されたパケットを受信し、当該パケットを解析し、コンテンツ視聴要求もしくはコンテンツ視聴停止要求である時、当該コンテンツ同時配信数を計数した上で配信処理リソース量を算出し、再送処理可能リソース量を推定し、
クライアントから送信されたパケットを受信し、当該パケットを解析し、パケット再送要求である時、再送処理可能かの比較演算処理を行い、
再送処理可能な場合、要求されたパケットをクライアントに送信する
ことを特徴とするストリーム中継制御方法。
【請求項２】
請求項１記載のストリーム中継制御方法において、
ストリームサーバから送信されたストリームデータパケットよりストリーム情報要素を解析し、配信処理リソース量を算出する
ことを特徴とするストリーム中継制御方法。
【請求項３】
請求項２記載のストリーム中継制御方法において、
ストリーム情報要素の値に応じて再送処理可能リソース量を推定する
ことを特徴とするストリーム中継制御方法。
【請求項４】
請求項１記載のストリーム中継制御方法において、
クライアントから送信されたパケット再送要求メッセージより要求パケット数を解析し、当該数に応じて再送要求処理可能かの比較演算処理を行い、
再送処理可能な場合、要求されたパケットをクライアントに対して送信する
ことを特徴とするストリーム中継制御方法。
【請求項５】
請求項１記載のストリーム中継制御方法において、
再送処理可能リソース量を推定する際、ストリームデータパケットサイズと、最大転送可能パケットサイズとから当該ストリームデータパケットをコピー処理するための時間を推定し、
当該ストリームコンテンツの同時視聴数が増加もしくは減少する際にストリーム中継制御装置全体のコピー処理時間を算出し、再送要求処理可能数を推定し、
クライアントから再送要求が発生した場合、現在の再送処理中数と再送要求処理可能数とを比較し、
再送要求処理可能数の方が大きい場合は当該要求を受け付け、再送要求処理可能数のほうが小さい場合は当該要求を受け付けない
ことを特徴とするストリーム中継制御方法。
【請求項６】
ストリームサーバから送信されたストリームデータパケットを受信し、当該ストリームデータパケットを少なくとも１つのクライアントに送信するストリーム中継制御装置におけるストリーム中継制御プログラムであって、
該プログラムはストリーム中継制御装置を構成するコンピュータ上で、
クライアントから送信されたパケットを受信し、当該パケットを解析し、コンテンツ視聴要求もしくはコンテンツ視聴停止要求である時、当該コンテンツ同時配信数を計数した上で配信処理リソース量を算出し、再送処理可能リソース量を推定し、
クライアントから送信されたパケットを受信し、当該パケットを解析し、パケット再送要求である時、再送処理可能かの比較演算処理を行い、
再送処理可能な場合、要求されたパケットをクライアントに送信する処理を実行する
ことを特徴とするストリーム中継制御プログラム。
【請求項７】
請求項６記載のストリーム中継制御プログラムにおいて、
ストリームサーバから送信されたストリームデータパケットよりストリーム情報要素を解析し、配信処理リソース量を算出する
ことを特徴とするストリーム中継制御プログラム。
【請求項８】
請求項７記載のストリーム中継制御プログラムにおいて、
ストリーム情報要素の値に応じて再送処理可能リソース量を推定する
ことを特徴とするストリーム中継制御プログラム。
【請求項９】
請求項６記載のストリーム中継制御プログラムにおいて、
クライアントから送信されたパケット再送要求メッセージより要求パケット数を解析し、当該数に応じて再送要求処理可能かの比較演算処理を行い、
再送処理可能な場合、要求されたパケットをクライアントに対して送信する
ことを特徴とするストリーム中継制御プログラム。
【請求項１０】
請求項６記載のストリーム中継制御プログラムにおいて、
再送処理可能リソース量を推定する際、ストリームデータパケットサイズと、最大転送可能パケットサイズとから当該ストリームデータパケットをコピー処理するための時間を推定し、
当該ストリームコンテンツの同時視聴数が増加もしくは減少する際にストリーム中継制御装置全体のコピー処理時間を算出し、再送要求処理可能数を推定し、クライアントから再送要求が発生した場合、現在の再送処理中数と再送要求処理可能数とを比較し、
再送要求処理可能数の方が大きい場合は当該要求を受け付け、再送要求処理可能数のほうが小さい場合は当該要求を受け付けない
ことを特徴とするストリーム中継制御プログラム。
【請求項１１】
請求項６乃至１０いずれか記載のストリーム中継制御プログラムを記録したことを特徴とするコンピュータ読み取り可能な媒体。
【請求項１２】
ストリームサーバとクライアントとの間でストリームデータパケットを中継するストリーム中継制御装置であって、
ストリームサーバから送信されたストリームデータパケットを受信する手段と、
当該ストリームデータパケットを格納する共通メモリと、
当該ストリームデータパケットを少なくとも１つのクライアントに転送する手段と、
クライアントから送信されたパケットを受信する手段と、
当該パケットの情報を解析する手段と、
要求受付可能リソース量を算出する手段と、
再送要求の受付可能性を判断する手段と、
当該要求に対するストリームデータパケットをクライアントに転送する手段とを具備した
ことを特徴とするストリーム中継制御装置。
【請求項１３】
請求項１２記載のストリーム中継制御装置において、
ストリームサーバから送信されたストリームデータパケットよりストリーム情報要素を解析する手段を具備した
ことを特徴とするストリーム中継制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上で大規模なストリームデータ配信サービスを効率的に実現するためのストリーム中継制御方法、そのプログラム及びそのプログラムを記録した媒体並びにストリーム中継制御装置に関する。
【０００２】
【従来の技術】
従来、インターネット上でストリーム配信を行う場合、一般に、ストリームコンテンツの要求及び設定を行うストリーム設定プロトコル、設定に基づいてストリームコンテンツを配信するストリーム配信プロトコル及び配信中のストリームコンテンツパケットの配信状況や配信品質の通知、サーバ・クライアント間の接続状態の通知を行うストリーム制御プロトコルが用いられる。
【０００３】
ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）で規定されるプロトコルとしては、ＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｒｍｉｎｇ  Ｐｒｏｔｏｃｏｌ：ＲＦＣ２３２６）、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ：ＲＦＣ１８８９）及びＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ：ＲＦＣ１８８９）が挙げられる。
【０００４】
また、これら以外のプロトコルを用いてストリーム配信を行う際も、上記機能を持ったプロトコルが利用されている。例として、Ｍｉｃｒｏｓｏｆｔ社のＭＭＳプロトコル、Ｒｅａｌ  Ｎｅｔｗｏｒｋ社のＲＤＴ、ＰＮＡプロトコルなどが挙げられる。
【０００５】
いずれのプロトコルにおいても、クライアントまでのネットワーク等でパケットが廃棄された場合、当該パケットを再度サーバから送信させることで欠落したパケットを回復させる、再送と呼ばれるメカニズムを有することが一般的である。このメカニズムを図１を用いて説明する。
【０００６】
図１はストリーム中継網（ストリーム配信ネットワーク）とその間で送受信されるパケットやメッセージの一例を示すもので、図中、１０１，１０２はクライアント、２００はストリーム中継制御装置、３００はストリームサーバである。
【０００７】
（ストリーム配信設定処理）
クライアント１０１が特定のストリームコンテンツの受信要求メッセージａをストリーム中継制御装置２００に対して送信すると、ストリーム中継制御装置２００は当該ストリームコンテンツが既に自装置で配信中かどうかを確認し、配信中でない場合はストリームサーバ３００に当該ストリーム受信要求メッセージａ’を送信する。
【０００８】
当該メッセージを受信したストリームサーバ３００は、通常、ストリーム受信許可メッセージｂをストリーム中継制御装置２００に対して応答する。ストリーム中継制御装置２００では、当該メッセージｂ’をクライアント１０１に対して送信する。
【０００９】
このシーケンス処理終了に伴い、ストリームサーバ３００から当該ストリーム（データ）パケット１，２，…がストリーム中継制御装置２００に対して送信され、当該ストリームパケットを受信したストリーム中継制御装置２００は現在の配信対象を検索し、クライアント１０１にのみ当該ストリームパケット１，２，…を送信する。
【００１０】
次に、クライアント１０２においても当該ストリームコンテンツを受信しようとする場合、クライアント１０２はストリーム中継制御装置２００に対して当該ストリームコンテンツの受信要求メッセージｃを送信する。
【００１１】
当該メッセージを受信したストリーム中継制御装置２００は当該ストリームコンテンツが既に自装置で配信中であることを確認し、ストリーム受信許可メッセージｄをクライアント１０２に対して送信する。
【００１２】
このシーケンス処理終了に伴い、ストリーム中継制御装置２００はストリームサーバ３００から送信されたストリームパケットを受信した時、クライアント１０１，１０２に対して当該パケットを複製した上で送信する。
【００１３】
（再送要求処理）
ストリームパケット受信中に特定のパケットが中継ネットワークでの廃棄等の原因により欠落した場合、クライアントは上流サーバ等に対して当該パケットの再送を要求する。図１の場合、クライアント１０１はストリームパケット３を受信できなかったことを認識し、ストリーム中継制御装置２００に対してストリームパケット３の再送要求メッセージｅを送信する。ストリーム中継制御装置２００では、当該メッセージｅを受信して内容を解析し、クライアント１０１に対して要求されたストリームパケット３を再送信する。
【００１４】
【発明が解決しようとする課題】
上記の再送処理を行う場合、ネットワークの通信品質状況によっては、ストリーム中継制御装置２００やストリームサーバ３００において、各クライアントから再送要求が大量に発生することによるメッセージ処理輻輳が生じてしまう可能性がある。この場合、当該メッセージに応じた再送要求処理によるストリームパケットコピー処理の割り込みのために、ストリームパケットのコピー処理自身も行えなくなってしまい、さらに再送要求が頻発してしまう可能性がある。
【００１５】
また、クライアントによっては、ネットワーク品質が非常に劣化しているために再送要求メッセージの大量送信を行う場合があるが、このようなクライアントに対して再送要求処理を行ったとしても再びパケット廃棄が生じ、同一パケットの再送要求が頻発してしまう可能性があり、ストリーム中継制御装置等の有する再送要求処理リソースの浪費になる可能性がある。
【００１６】
上記の問題に対して、予め再送要求処理受付数を定めておき、その数以上の要求がきた場合には処理を行わないという方法が考えられるが、その場合には、実際にはより多くの要求を受け付けられるリソースを有しているにも拘わらず、要求処理を行わないためにクライアントの視聴品質が劣化してしまったり、反対に、既に再送要求処理リソースを割り当てることができなくなっているにも拘わらず、再送要求処理を受け付けてしまったために処理能力オーバーとなり、新たなパケット廃棄を起こしてしまうという問題があった。
【００１７】
これまで説明したように、従来の技術では、ネットワーク品質の低下等に起因したストリームパケットの大量廃棄による、各クライアントからの再送要求処理が頻発した場合、ストリームサーバあるいはストリーム中継制御装置での当該要求処理可能リソースを越えてしまい、その結果としてサーバ自身でのパケット廃棄による、さらなる再送要求を招いてしまうという問題があった。
【００１８】
これを解決しようとして、予め定めた再送要求処理受付数に従って要求受付処理を行った場合は、実際の処理可能リソースとの乖離のため、クライアントの視聴品質の劣化あるいはサーバ自身での処理能力オーバーによるクライアントでの新たな再送要求を引き起こしてしまうという問題があった。
【００１９】
本発明は、このような背景に鑑みてなされたものであり、大規模なストリーム配信を行った状況で、効率的にクライアント毎の要求処理に応答可能とすることを目的としている。
【００２０】
【課題を解決するための手段】
上記目的を達成するため、本発明のストリーム中継制御方法では、クライアントから送信されたパケットを受信し、当該パケットを解析し、コンテンツ視聴要求もしくはコンテンツ視聴停止要求である時、当該コンテンツ同時配信数を計数した上で配信処理リソース量を算出し  再送処理可能リソース量を推定し、クライアントから送信されたパケットを受信し、当該パケットを解析し、パケット再送要求である時、再送処理可能かの比較演算処理を行い、再送処理可能な場合、要求されたパケットをクライアントに送信することを特徴とする。
【００２１】
また、本発明では、ストリームサーバから送信されたストリームデータパケットよりストリーム情報要素を解析し、配信処理リソース量を算出することを特徴とする。
【００２２】
また、本発明では、ストリーム情報要素の値に応じて再送処理可能リソース量を推定することを特徴とする。
【００２３】
また、本発明では、クライアントから送信されたパケット再送要求メッセージより要求パケット数を解析し、当該数に応じて再送要求処理可能かの比較演算処理を行い、再送処理可能な場合、要求されたパケットをクライアントに対して送信することを特徴とする。
【００２４】
また、本発明では、再送処理可能リソース量を推定する際、ストリームデータパケットサイズと、最大転送可能パケットサイズとから当該ストリームデータパケットをコピー処理するための時間を推定し、当該ストリームコンテンツの同時視聴数が増加もしくは減少する際にストリーム中継制御装置全体のコピー処理時間を算出し、再送要求処理可能数を推定し、クライアントから再送要求が発生した場合、現在の再送処理中数と再送要求処理可能数とを比較し、再送要求処理可能数の方が大きい場合は当該要求を受け付け、再送要求処理可能数のほうが小さい場合は当該要求を受け付けないことを特徴とする。
【００２５】
なお、これらのストリーム中継制御方法は、前述した各処理をコンピュータ上で実行するプログラム、もしくは該プログラムを記録したコンピュータ読み取り可能な媒体によっても実現できる。
【００２６】
また、本発明のストリーム中継制御装置では、ストリームサーバから送信されたストリームデータパケットを受信する手段と、当該ストリームデータパケットを格納する共通メモリと、当該ストリームデータパケットを少なくとも１つのクライアントに転送する手段と、クライアントから送信されたパケットを受信する手段と、当該パケットの情報を解析する手段と、要求受付可能リソース量を算出する手段と、再送要求の受付可能性を判断する手段と、当該要求に対するストリームデータパケットをクライアントに転送する手段とを具備したことを特徴とする。
【００２７】
また、本発明では、ストリームサーバから送信されたパケットよりストリーム情報要素を解析する手段を具備したことを特徴とする。
【００２８】
これらにより、ストリーム中継制御装置の残余リソース量に応じて、クライアントからのストリームパケット再送要求を処理することで、大規模ストリーム配信を効率的に行うことが可能となる。
【００２９】
【発明の実施の形態】
［第１の実施の形態］
本発明の第１の実施の形態について、図２乃至図６を参照して説明する。
【００３０】
図２はストリーム中継制御装置の主要ブロック構成を示すもので、図中、２０１ａ，２０１ｂは外部との回線、２０２ａ，２０２ｂは回線終端部、２０３ａ，２０３ｂはパケット振り分け部、２０４はリクエストパケット解析部、２０５は再送要求処理部、２０６はコピー処理部、２０７は再送要求受付部、２０８は共通メモリ、２０９はリソース管理部、２１０はストリーム情報解析部である。
【００３１】
なお、ストリーム中継網全体の構成、その間で送受信されるパケットやメッセージは従来の場合と同様である。
【００３２】
（再送処理可能数算出処理）
まず、再送処理可能数算出処理について説明する。
【００３３】
ストリーム中継制御装置２００において、ストリームサーバ３００から送信されたストリームの各種のプロパティが含まれたストリーム情報パケットを回線２０１ａ及び回線終端部２０２ａを経由して受信すると、パケット振り分け部２０３ａで当該パケットがストリーム情報パケットであることを解析し（図３のステップｓ１）、ストリーム情報解析部２１０に出力し（図３のステップｓ２）、そこで当該ストリームコンテンツの情報要素を抽出する。具体的には、当該ストリームコンテンツの最大ＵＤＰパケットサイズ（Ｍａｘ  Ｐａｃｋｅｔ  Ｓｉｚｅ）を抽出する。
【００３４】
その後、リソース管理部２０９において、当該ストリームコンテンツについて、ストリームサーバ３００から送信されたストリームパケットをコピー配信するために必要なコンテンツコピー処理時間（Ｃｏｎｔｅｎｔ  Ｃｏｐｙ  Ｃｏｓｔ）を以下の式に従い算出する（図４のステップｓ１１，ｓ１２）。
【００３５】
Ｃｏｎｔｅｎｔ  Ｃｏｐｙ  Ｃｏｓｔ ｉ＝（ＣＣＡｌｆａ＊（ＭＴＵ＋ＣＣＢｅｔａ）＊ＲＤ＋（ＣＣＡｌｆａ＊（ＭＰＳ ｉ−ＭＴＵ＊ＲＤ）＋ＣＣＢｅｔａ）                                                  ……（１）
但し、ＲＤ＝Ｒｏｕｎｄ  Ｄｏｗｎ（ＭＰＳ ｉ／ＭＴＵ）
ＭＰＳ ｉ：当該コンテンツｉのＭａｘ  Ｐａｃｋｅｔ  Ｓｉｚｅ
ＭＴＵ：コンテンツ受信ＩＦのＭＴＵサイズ
ＣＣＡｌｆａ，ＣＣＢｅｔａ：算出用定数
次に、トータルコピー処理時間（Ｔｏｔａｌ  Ｃｏｐｙ  Ｃｏｓｔ）を以下の式に従い算出する（図４のステップｓ１３）。
【００３６】
Ｔｏｔａｌ  Ｃｏｐｙ  Ｃｏｓｔ：＝Ｔｏｔａｌ  Ｃｏｐｙ  Ｃｏｓｔ
＋Ｃｏｐｙ  Ｃｏｓｔ ｉ（新規接続時）            ……（２）
Ｔｏｔａｌ  Ｃｏｐｙ  Ｃｏｓｔ：＝Ｔｏｔａｌ  Ｃｏｐｙ  Ｃｏｓｔ
−Ｃｏｐｙ  Ｃｏｓｔ ｉ（切断時）                ……（３）
但し、クライアントが当該コンテンツに新規接続してきた場合には式（２）により算出し、切断要求してきた場合には式（３）により算出する。
【００３７】
次に、再送要求処理可能数を以下の式に従い算出する（図４のステップｓ１４）。
【００３８】
Ｒｅｍａｉｎ  Ｎｕｍ＝（１００−Ｔｏｔａｌ  Ｃｏｐｙ  Ｃｏｓｔ）
／Ｐｒｏｃｅｓｓ  Ｔｉｍｅ                        ……（４）
但し、Ｐｒｏｃｅｓｓ  Ｔｉｍｅ：再送要求処理可能時間
なお、その後、クライアントの接続数に変動があった場合は、その都度、トータルコピー処理時間及び再送要求処理可能数を再計算する（図４のステップｓ１５，ｓ１６，ｓ１７）。
【００３９】
（再送要求受付処理）
次に、クライアントから再送要求メッセージパケットが送信された場合の、ストリーム中継制御装置２００での再送要求受付処理の流れについて説明する。
【００４０】
まず、クライアントからのパケットを回線２０１ｂ及び回線終端部２０２ｂを経由して受信する。パケット振り分け部２０３ｂでクライアントからのストリームパケット再送要求パケットであることを識別し、リクエストパケット解析部２０４に通知する（図３のステップｓ１，ｓ３）。
【００４１】
次に、リクエストパケット解析部２０４では、以下の判断式に従い、再送要求受付可能かを判断する（図５のステップｓ２１）。
【００４２】
もし、Ｒｅｍａｉｎ  Ｎｕｍ−Ｒｅｓｅｎｄ  Ｐｒｏｃｅｓｓ  Ｎｕｍ＞０ならば再送要求を受け付ける（但し、Ｒｅｓｅｎｄ  Ｐｒｏｃｅｓｓ  Ｎｕｍ：再送処理中数）。
【００４３】
再送要求を受け付けた場合には、再送処理可能数を１減算し（図５のステップｓ２２）、再送要求中数（Ｒｅｓｅｎｄ  Ｐｒｏｃｅｓｓ  Ｎｕｍ）を１加算する（図５のステップｓ２３）。なお、Ｒｅｍａｉｎ  Ｎｕｍ−Ｒｅｓｅｎｄ  Ｐｒｏｃｅｓｓ  Ｎｕｍ≦０ならば、クライアントに要求不許可のパケットを送信する（図５のステップｓ２４）。
【００４４】
また、再送処理が終了した場合には、再送要求中数（Ｒｅｓｅｎｄ  Ｐｒｏｃｅｓｓ  Ｎｕｍ）を１減算する（図６のステップｓ３１）。
【００４５】
以上説明した第１の実施の形態により、ストリーム中継制御装置の処理リソースに応じて、クライアントからのストリームパケット再送要求処理を行うことができるようになる。
【００４６】
［第２の実施の形態］
本発明の第２の実施の形態について、図７を参照して説明する。なお、第１の実施の形態と同じ処理をする部分については説明を省略する場合がある。
【００４７】
図７はストリーム中継制御装置の主要ブロック構成を示すもので、ここでは図１に示した第１の実施の形態での構成に加えて、要求数解析部２１１を有しているところに特徴がある。
【００４８】
（再送要求受付処理）
クライアントから再送要求メッセージパケットが送信された場合の、ストリーム中継制御装置２００での再送要求受付処理の流れについて説明する。
【００４９】
リクエストパケット解析部２０４で、クライアントからのストリームパケット再送要求パケットを解析した後、要求数解析部２１１にストリームパケット再送要求メッセージ情報を通知する。要求数解析部２１１では、当該メッセージ中に格納されている、再送要求ＵＤＰパケット数を解析する。その結果、１つの再送要求メッセージ中に、ある一定数以上の再送要求パケット数が格納されていた場合は、当該クライアントの要求を受け付けない。
【００５０】
以上説明した第２の実施の形態により、当該クライアントのネットワーク品質が著しく低下していることによる大量のストリームパケットの廃棄に伴う大量の再送要求に対し、当該クライアントの要求を受け付けないことでストリーム中継制御装置２００の再送処理可能リソースの浪費を防ぐことが可能となる。また、この処理により、再送要求を頻発してしまうような異常なクライアントからのストリームパケット再送要求に対しても、ストリーム中継制御装置２００の再送処理可能リソースの浪費を防ぐことが可能となる。
【００５１】
前述した説明において、コピーコストの算出式として式（１）の場合の説明を行ったが、Ｍａｘ  Ｐａｃｋｅｔ  Ｓｉｚｅに比例したコピーコスト算出式を用いたり、コピーコストを固定値で算出した上で、再送処理可能数を算出することは容易に可能である。
【００５２】
【発明の効果】
以上説明したように、本発明によれば、大規模なストリーム配信を行った状況で、ストリーム中継制御装置のリソース量に応じて効率的にクライアント毎の要求処理に応答することが可能となる。
【図面の簡単な説明】
【図１】ストリーム中継網とその間で送受信されるパケットやメッセージの一例を示す説明図
【図２】本発明のストリーム中継制御装置の第１の実施の形態を示す構成図
【図３】パケット振り分け処理の流れ図
【図４】再送処理可能数算出処理の流れ図
【図５】再送要求受付処理の流れ図
【図６】再送処理終了処理の流れ図
【図７】本発明のストリーム中継制御装置の第２の実施の形態を示す構成図
【符号の説明】
１０１，１０２：クライアント、２００：ストリーム中継制御装置、２０１ａ，２０１ｂ：外部との回線、２０２ａ，２０２ｂ：回線終端部、２０３ａ，２０３ｂ：パケット振り分け部、２０４：リクエストパケット解析部、２０５：再送要求処理部、２０６：コピー処理部、２０７：再送要求受付部、２０８：共通メモリ、２０９：リソース管理部、２１０：ストリーム情報解析部、２１１：要求数解析部、３００：ストリームサーバ。
【図１】
0003557188.tif 000002
【図２】
0003557188.tif 000003
【図３】
0003557188.tif 000004
【図４】
0003557188.tif 000005
【図５】
0003557188.tif 000006
【図６】
0003557188.tif 000007
【図７】
0003557188.tif 000008