(57)【要約】【課題】ストリーム配信ネットワークにおいて、送出タイミング制御を必要とするストリームコンテンツデータの設定と同定を自律的に実施する。【解決手段】クライアントからストリームコンテンツの視聴要求メッセージがストリームサーバ部２０５に転送されるとともに、パケット振分部２０３にて解析される。ストリーム視聴要求パケットであると同定されると、該情報がリクエストパケット解析部２０４に通知される。リクエストパケット解析部２０４では該要求パケットが帯域要求パケットであった場合、該パケットから帯域情報を取得し、シェーパバッファ２０６での読み出し間隔をバッファ読出管理部２０７へ通知する。帯域要求パケットでなければ、リクエストパケット解析部２０４は利用ポート要求パケットであるかどうかを同定し、利用ポート要求パケットであった場合には、該要求パケットからポート番号情報を取得し、パケット振分部２０３に通知する。【選択図】      図３
2004349850.tif 000002
【特許請求の範囲】
【請求項１】
ストリーム配信サーバ装置において、
クライアントから送出されたストリームコンテンツ視聴要求メッセージを受信し、該メッセージから該コンテンツ視聴に必要とされる帯域を取得し、該帯域からバッファ読み出し時刻を設定し、かつ、クライアントから送出されたストリームコンテンツ視聴要求メッセージから該コンテンツデータ配信で利用するポート番号を取得し、パケット振り分け部に設定することを特徴とするストリームシェーパ制御方法。
【請求項２】
取得した帯域情報が、事前に設定された帯域基準値より大きい場合に、バッファ読み出し時刻を設定する、請求項１記載のストリームシェーパ制御方法。
【請求項３】
ストリーム配信サーバ装置において、
クライアントから送出されたストリーム視聴要求セッション設定パケットを受信し、該パケットからクライアントのＩＰアドレスを取得してパケット振り分け部に設定し、かつ、装置内部から送出されたストリームコンテンツデータパケットの宛先ＩＰアドレスが、事前に取得したクライアントのＩＰアドレスと同一かどうかを比較し、同一である場合、該データパケットの宛先ポート番号を取得し、パケット振り分け部に設定することを特徴とするストリームシェーパ制御方法。
【請求項４】
装置内部から送出されたストリームコンテンツデータパケットの送信数を一定時間算出し、該データパケットの必要送信帯域を算出して、バッファ読み出し時刻を設定する、請求項３記載のストリームシェーパ制御方法。
【請求項５】
算出された帯域情報が、事前に設定された帯域基準値より大きい場合に、バッファ読み出し時刻を設定する、請求項４に記載のストリームシェーバ制御方法。
【請求項６】
ストリームシェーバ制御装置において、
クライアントから送出されたストリームコンテンツ視聴要求メッセージを受信する手段と、
該パケットを解析して、該コンテンツ視聴に必要とされる帯域情報を取得する手段と、
前記帯域情報からバッファ読み出し時刻を設定する手段と、
クライアントから送出されたストリームコンテンツ視聴要求メッセージから該コンテンツデータ配信で利用するポート番号を取得し、パケット振り分け部に設定する手段と、
装置内部から送出された該ストリームコンテンツデータパケットを受信する手段と、
該パケットを前記の設定されたバッファ読み出し時刻にしたがって送出する手段を有することを特徴とするストリームシェーパ制御装置。
【請求項７】
取得した帯域情報と、事前に設定された帯域基準値との比較を行う手段をさらに有し、前者の方が大きい場合にバッファ読み出し時刻を設定する、請求項６記載のストリームシェーパ制御装置。
【請求項８】
ストリームシェーパ制御装置において、
クライアントから送出されたストリーム視聴要求セッション設定パケットを受信する手段と、
該パケットからクライアントのＩＰアドレスを取得する手段と、
該ＩＰアドレス情報をパケット振り分け部に設定する手段と、
装置内部から送出されたストリームコンテンツデータパケットを受信する手段と、
該データパケットの宛先ＩＰアドレスを取得する手段と、
該ＩＰアドレスが事前に取得されたクライアントのＩＰアドレスと同一かどうかを比較する手段と、
該データパケットの宛先ポート番号を取得し、両ＩＰアドレスが同一の場合、パケット振り分け部に設定する手段を有することを特徴とするストリームシェーパ制御装置。
【請求項９】
装置内部から送出されたストリームコンテンツデータパケットの送信数を一定時間算出する手段と、該データパケットの必要送信帯域を算出する手段と、バッファ読み出し時刻を設定する手段を有する、請求項８記載のストリームシェーパ制御装置。
【請求項１０】
算出された帯域情報と、事前に設定された帯域基準値との比較を行う手段をさらに有し、前者の方が大きい場合にバッファ読み出し時刻を設定する請求項９記載のストリームシェーパ制御装置。
【請求項１１】
請求項１から５のいずれかに記載のストリームシェーパ制御方法をコンピュータに実行させるためのストリームシェーパ制御プログラム。
【請求項１２】
請求項１１に記載のストリームシェーパ制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストリーム配信ネットワークサービスにおけるストリームシェーパ制御方法および装置に関する。
【０００２】
【従来の技術】
従来、インターネット上でのストリーム配信を行う場合、一般的には、ストリームコンテンツの要求および設定を行うストリーム設定プロトコル、設定に基づいて、ストリームコンテンツを配信するストリーム配信プロトコル、および配信中のストリームコンテンツパケットの配信状況や配信品質の通知、サーバークライアント間の接続性状態の通知を行うストリーム制御プロトコルが用いられる。ＩＥＴＦ  （Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）で規定されるプロトコルとしては、ＲＴＳＰ  （Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ：  ＲＦＣ２３２６（非特許文献１））などが擧げられる。また、これら以外のプロトコルを用いてストリーム配信を行う際にも、上記機能を持ったプロトコルが利用されている。例として、Ｍｉｃｒｏｓｏｆｔ社のＭＭＳプロトコル、Ｒｅａｌ  Ｎｅｔｗｏｒｋ社のＲＤＴ，  ＰＮＡプロトコルなどが擧げられる。
【０００３】
一般に、インターネット上のストリーム配信は、汎用のＰＣサーバ上のサーバアプリケーションにこれらのストリームプロトコルを実装することで実現されている。そのため、長時間配信を続けた際に、サーバアプリケーションがデッドロックを起こして停止してしまったり、当該アプリケーションからのパケットの送信が不安定になってしまい、クライアントユーザでのストリーム視聴が途絶えてしまうことが多かった。特に、長時間のストリーム配信を行うと、徐々にストリームサーバからの送信データレートがバースト的、すなわち、ある瞬間にはストリームデータで必要としている帯域の数倍のデータが一気に送信されたり、ある瞬間にはストリームデータの送信が停止したりするという現象が見られ、その状態が続くと、クライアントでの視聴品質が劣化するという問題がある（非特許文献２）。
【０００４】
【非特許文献１】
「ＲＦＣ２３２６」，［ｏｎｌｉｎｅ］，  ［２００３年３月２０日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２３２６．ｔｘｔ？ｎｕｍｂｅｒ＝２３２６＞
【非特許文献２】
小林英嗣、谷川真樹“広帯域ストリーミング放送ネットワークにおける配信サーバの送信レートの安定性の向上に関する評価”、２００３信学総全大、２００３
【０００５】
【発明が解決しようとする課題】
このような問題に対して、データパケットレートの送信タイミングを制御するシェーピングと呼ばれる技術が従来あり、これにより、前述のようなバースト的なパケット到着に対して、一定時刻でのパケット送信が行われる。
【０００６】
ところが、従来、シェーピング機能を有効にするためには、シェーピングすべきストリームコンテンツデータの宛先ＩＰアドレスや、宛先ポート番号、コンテンツが必要とする帯域といった情報を事前に設定しておく必要があった。
【０００７】
また、事前に決定したシェーピング情報と、クライアントで必要とする帯域情報とが必ずしも一致するとは限らず、この場合、無駄なリソースが使われてしまう、あるいは、データパケットレートの送信タイミングを制御するために設けられているシェーピング機能が有効に働かないという問題も生じていた。
【０００８】
本発明の目的は、ストリーム配信ネットワークにおいて、送出タイミング制御を必要とするストリームコンテンツデータの設定と同定を自律的に実施するストリームシェーパ制御方法と装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明のストリームシェーパ制御方法は、クライアントから送出されたストリームコンテンツ視聴要求メッセージを受信し、該メッセージから該コンテンツ視聴に必要とされる帯域を取得し、該帯域からバッファ読み出し時刻を設定し、かつ、クライアントから送出されたストリームコンテンツ視聴要求メッセージから該コンテンツデータ配信で利用するポート番号を取得し、パケット振り分け部に設定する。これにより、装置内部から送出されたストリームコンテンツデータパケットを該クライアントへ送信する時刻を制御する。
【００１０】
本発明の他のストリームシェーパ制御方法は、クライアントから送出されたストリーム視聴要求セッション設定パケットを受信し、該パケットからクライアントのＩＰアドレスを取得してパケット振り分け部に設定し、かつ、装置内部から送出されたストリームコンテンツデータパケットの宛先ＩＰアドレスが、事前に取得したクライアントのＩＰアドレスと同一かどうかを比較し、同一である場合、該データパケットの宛先ポート番号を取得し、パケット振り分け部に設定する。これにより、装置内部から送出されたストリームコンテンツデータパケットをシェーピングする対象とする。
【００１１】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１２】
図１は本発明におけるストリーム配信網の構成図である。
【００１３】
本ストリーム配信網は、ストリームエンコーダ１００とストリームサーバ２００とクライアント３００とネットワーク４００から構成され、これらはネットワーク４００とは回線１０１ａ、２０１ａ、３０１ａによりそれぞれ接続されている。本例では、各サーバ、クライアントが１台ずつネットワーク４００に接続されているが、それぞれ複数ある場合も同様であることは言うまでもない。
【００１４】
図２はストリームサーバ２００とクライアント３００との間でやり取りされるストリームコンテンツ視聴要求シーケンスの基本的な例である。処理シーケンスの流れについて以下に説明する。
【００１５】
図２に示す通り、クライアント３００から視聴したコンテンツ名が格納されたストリーム視聴要求メッセージがストリームサーバ２００に対して送信される。ストリームサーバ３００では、該メッセージ中のストリームコンテンツを配信可能な場合、クライアント２００に対して応答メッセージを送信する。次に、クライアント３００にて受信可能な帯域が格納されたメッセージをストリームサーバ２００に対して送信し、ストリームサーバ２００では、その帯域でストリーム送信可能な場合、クライアント３００に応答メッセージを送信する。さらに、クライアント３００にて、ストリームデータパケットを受信するのに必要な利用ポート番号をストリームサーバ２００に対して要求するための要求メッセージを送信する。ストリームサーバ２００では、該要求に基づいて、ストリームデータパケットを送信する際に利用するポート番号を設定し、応答メッセージをクライアント３００に通知する。その後、ストリームサーバ２００は、該ポート番号を利用した上で、該ストリームコンテンツデータパケットをクライアント３００に配信する。
【００１６】
本例では、コンテンツ名→帯域→利用ポート番号の順序でクライアント３００から要求がある場合のシーケンスについて説明したが、クライアント３００が利用するストリームプロトコルの種類によっては必ずしも上記順序に要求されるとは限らないが、その場合も同様のシーケンスであることは言うまでもない。
【００１７】
また、一般的には、クライアント３００とストリームサーバ２００とのストリーム視聴要求シーケンスはＴＣＰ  （Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）  を用いて行われ、ストリームサーバ２００からのストリームコンテンツデータパケットの転送はＵＤＰ  （Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を用いて行われるが、ＴＣＰを用いた場合でも、同様のシーケンスとなる。
【００１８】
図３はストリームサーバ２００中に搭載されたストリームシェーパ制御装置の構成例を示す図である。
【００１９】
ストリームシェーパ制御装置は、図３に示すとおり、回線２０１ａと受信部２０２ａと送信部２０２ｂとパケット振分部２０３とリクエストパケット解析部２０４とストリームサーバ部２０５とシェーパバッファ２０６とバッファ読出管理部２０７とパケット数計測部２０８から構成される。
【００２０】
本実施形態での処理の流れについて、図４に示されたフローチャートにしたがいながら、以下に説明する。
【００２１】
（シェーピング情報の自律設定処理）
クライアント３００からストリームコンテンツの視聴要求情報が格納されたパケットが回線２０１ａを経由して受信部２０２ａで受信される（ステップ５０１）。受信部２０２ａで受信されたパケットはストリームサーバ部２０５に転送されるとともに、パケット振分部２０３に転送され、解析される（ステップ５０２）。クライアント３００からのストリーム視聴要求パケットであると同定されると、該情報がリクエストパケット解析部２０４に通知される。リクエストパケット解析部２０４では該要求パケットが帯域要求パケットであるかどうかを同定する（ステップ５０３）。帯域要求パケットであった場合には、該パケットから帯域情報を取得し、該帯域情報からパケット数計測部２０８によりシェーパバッファ２０６での読み出し間隔を算出する（ステップ５０４）。算出方法としては一般に知られている方法を用いることができる。最も簡単な算出方法としてＭＴＵ（バイト）×８／帯域（ビット／ｓ）でパケットの送出間隔が求められる。そして算出された読み出し間隔をバッファ読出管理部２０７へ通知する。ステップ５０３で、該要求パケットが帯域要求パケットでなければ、リクエストパケット解析部２０４は該要求パケットが利用ポート要求パケットであるかどうかを同定する（ステップ５０６）。利用ポート要求パケットであった場合には、該要求パケットからポート番号情報を取得し、パケット振分部２０３に通知する（ステップ５０７）。
【００２２】
なお、ストリーム視聴要求パケットは、メッセージ種別が格納されている特定のフィールドを検索することで同定する。たとえば、ＲＴＳＰであればこの情報はＳＥＴＵＰメソッドに格納されている。帯域要求も同様である。ＲＴＳＰであれば、Ｂａｎｄｗｉｄｔｈ    ｒｅｑｕｅｓｔ  ｈｅａｄｅｒ  ｆｉｅｌｄにその情報が記載されている。利用要求パケットの場合、ＲＴＳＰであれば、ｃｌｉｅｎｔ＃ｐｏｒｔパラメータに記載されている。
【００２３】
（ストリーム配信処理）
ストリームサーバ部２０５は、クライアント３００から送信されたストリーム視聴要求にしたがって、ストリームコンテンツデータパケットを受信部２０２ａに送信する。受信部２０２ａでは、パケット振分部２０３に該データを転送する。パケット振分部２０３では、シェーピング情報の自律設定処理にて設定されたポート番号を利用したパケットであることを、宛先ポート番号と同一かどうかによって同定し、シェーピングを行うためのシェーパバッファ２０６に該パケットを格納する。バッファ読出管理部２０７では、該パケットを読み出すための読み出し間隔にしたがって、シェーパバッファ２０６から該パケットを送信部２０２ｂに送信し、回線２０１ｂを経由して、クライアント３００に対してストリームコンテンツデータパケットを送信する。
【００２４】
以上、説明した第１の実施の形態により、クライアント３００から視聴要求されたストリームコンテンツのデータパケットをシェーピングして送信するために必要な情報を、クライアント３００から要求された使用要求メッセージから自律的に取得することで、事前にシェーパの設定を行うことなくシェーピングすることが可能となる。
【００２５】
（第２の実施の形態）
本発明の第２の実施の形態について図５から図７を用いながら説明する。なお、第１の実施の形態と同じ処理をする部分については、説明を省略する場合がある。
【００２６】
本実施形態では、第１の実施の形態と異なり、クライアント３００からのストリーム視聴要求パケットからは明示的にストリームの帯域や利用ポート番号が取得できない場合を想定している。
【００２７】
（シェーピング情報の自律設定処理）
図５に示すように、クライアント３００から来たストリーム視聴要求パケットを受信部２０２ａで受信し（ステップ６０１）、パケット振分部２０３にて該パケットがクライアント３００からのストリーム視聴要求セッション上のパケットであるかどうかを、パケットの宛先ポート番号が、ストリーム制御プロトコルで利用すると規定されたポート番号と同じかどうか比較することによって、同定する（ステップ６０２）。ストリーム視聴要求セッションのパケットであった場合には、該パケットの送信元ＩＰアドレスを取得する（ステップ６０３）。
【００２８】
クライアント３００とストリームサーバ部２０５は、第１の実施の形態で説明した通り、ストリーム視聴要求メッセージ情報にしたがって、ストリームデータパケットを送信するための利用ポート番号等のネゴシエーションを行い、ストリームサーバ部２０５からストリームコンテンツデータパケットの送信が開始される。その際、図６に示す通り、受信部２０２ａにてストリームコンテンツデータパケットを受信すると（ステップ７０１）、パケット振分部２０３にて当該パケットがストリームサーバ２００内部から送信されたストリームコンテンツデータパケットかどうかを同定する（ステップ７０２）。一般的に、内部から送信されたパケットかどうかを同定するには、該パケットの送信元ＩＰアドレスがストリームサーバ２００の回線に設定されたＩＰアドレスであるかどうかで容易に判別可能である（ステップ７０３）。同定の結果、事前取得したクライアント３００のＩＰアドレスと同一である場合には、該パケットの宛先ポート番号を取得し、パケット振分部２０７に当該情報を登録する（ステップ７０４）。
【００２９】
さらに、図７に示すように、該受信パケットがストリームコンテンツデータパケットである場合（ステップ８０１、８０２）、パケット数監視終了時刻になっているかどうか判断し（ステップ８０３）、終了時刻を越えている場合にはパケット数監視を終了し、必要帯域の算出を行い、バッファ読出管理部２０７に該帯域情報から算出されたパケット読み出し間隔情報を設定する（ステップ８０４）。一方、パケット数監視終了時刻になっていない場合、パケット数監視が未開始であればパケット数監視フェーズに入り、パケット数監視終了時刻を設定した上で、パケット数を１加算する（ステップ８０５〜８０７）。ここで、パケット数監視終了時刻は、現在の時刻にパケット数監視間隔を加算することで算出される。例えば１０秒間の該パケット到着個数を監視する。パケット数監視が開始されていれば、パケット数を１加算する（ステップ８０８）。
【００３０】
（ストリーム配信処理）
これまでに説明したシェーピング情報の自律設定処理により、第１の実施の形態で説明した通り、配信中のストリームコンテンツデータパケットをシェーピングして配信することが可能となる。
【００３１】
以上、説明した第２の実施形態により、クライアント３００からのストリーム視聴要求メッセージ情報に、必要帯域や利用ポート番号が格納されていない場合、あるいは、該情報をクライアント３００からのストリーム視聴要求メッセージ情報から取得することが困難な場合であっても、ストリームシェーパ制御装置にて自律的にシェーピング情報を取得し、設定することができ、ストリームコンテンツデータパケットをシェーピングして一定間隔でクライアントに配信することが可能となる。
【００３２】
（第３の実施形態）
本発明の第３の実施形態を図８を用いて説明する。まず、リクエストパケット解析部２０４は帯域基準値を内部に設定する（ステップ９０１）。以下、図４のステップ５０１〜５０４と同じ処理が行なわれる（ステップ９０２〜９０５）。次に、リクエストパケット解析部２０４は取得した帯域情報を設定された帯域基準値と比較する（ステップ９０６）。帯域情報が帯域基準値よりも大きければ、ステップ５０５と同じく、バッファ読み出し間隔をバッファ読み出し管理部２０７へ通知する（ステップ９０７）。ステップ９０８、ステップ９０９は図４のステップ５０６、ステップ５０７と同じ処理である。
【００３３】
なお、ストリームシェーピング装置は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ―ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【００３４】
【発明の効果】
以上説明したように、本発明によれば、ストリーム配信ネットワークサービスにおいて、送出タイミング制御を必要とするストリームコンテンツデータパケットの設定と同定を自律的に実施することが可能となる。
【図面の簡単な説明】
【図１】ストリーム配信網の構成図である。
【図２】ストリームサーバ２００とクライアント３００との間でやり取りされるストリームコンテンツ視聴要求シーケンスの例を示す図である。
【図３】ストリームサーバ２００中に搭載されたストリームシェーパ制御装置の構成例を示す図である。
【図４】第１の実施形態のシェーピング情報の自律設定処理のフローチャートである。
【図５】第２の実施形態のシェーピング情報の自律設定処理のフローチャートである。
【図６】第２の実施形態のシェーピング情報の自律設定処理のフローチャートである。
【図７】受信パケットがストリームコンテンツデータパケットである場合の処理のフローチャートである。
【図８】第３の実施形態のシェーピング情報の自律設定処理のフローチャートである。
【符号の説明】
１００    ストリームエンコーダ
２００    ストリームサーバ
２０１ａ、２０１ｂ        回線
２０２ａ        受信部
２０２ｂ        送信部
２０３    パケット振分部
２０４    リクエストパケット解析部
２０５    ストリームサーバ部
２０６    シェーパバッファ
２０７    バッファ読出管理部
２０８    パケット数計測部
３００    クライアント
４００    ネットワーク
５０１〜５０７、６０１〜６０３、７０１〜７０４、８０１〜８０８、９０１〜９０９    ステップ
【図１】
2004349850.tif 000003
【図２】
2004349850.tif 000004
【図３】
2004349850.tif 000005
【図４】
2004349850.tif 000006
【図５】
2004349850.tif 000007
【図６】
2004349850.tif 000008
【図７】
2004349850.tif 000009
【図８】
2004349850.tif 000010