(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5807710
(24)【登録日】2015年9月18日
(45)【発行日】2015年11月10日
(54)【発明の名称】コンテンツ配信システム、コンテンツ配信方法及びプログラム
(51)【国際特許分類】
H04L 12/807 20130101AFI20151021BHJP
H04L 12/813 20130101ALI20151021BHJP
H04N 21/238 20110101ALI20151021BHJP
H04L 29/08 20060101ALI20151021BHJP
G06F 13/00 20060101ALI20151021BHJP
【FI】
H04L12/807
H04L12/813
H04N21/238
H04L13/00 307C
G06F13/00 540A
【請求項の数】3
【全頁数】13
(21)【出願番号】特願2014-205575(P2014-205575)
(22)【出願日】2014年10月6日
(62)【分割の表示】特願2010-532830(P2010-532830)の分割
【原出願日】2009年10月9日
(65)【公開番号】特開2015-57890(P2015-57890A)
(43)【公開日】2015年3月26日
【審査請求日】2014年10月6日
(31)【優先権主張番号】特願2008-262757(P2008-262757)
(32)【優先日】2008年10月9日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【弁理士】
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】大須賀 徹
【審査官】
上田 翔太
(56)【参考文献】
【文献】
特開2002−281103(JP,A)
【文献】
特開2008−187723(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/807
G06F 13/00
H04L 12/813
H04L 29/08
H04N 21/238
(57)【特許請求の範囲】
【請求項1】
ユーザ端末から到来したコンテンツデータのダウンロード要求に応じてサーバ装置から前記ユーザ端末へ前記コンテンツデータを配信するコンテンツ配信システムであって、
前記コンテンツデータを格納するコンテンツデータ記憶部と、
前記コンテンツデータ記憶部が記憶している前記コンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいて前記コンテンツデータを前記ユーザ端末へ送信する第1送信部と、
前記コンテンツデータ記憶部が記憶している前記コンテンツデータを取得して、前記スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいて前記コンテンツデータを前記ユーザ端末へ送信する第2送信部と、
前記コンテンツデータの送信を開始したときは前記第2送信部が送信して、前記第2送信部が送信したコンテンツデータのデータ量が閾値に達した後に前記第1送信部が前記コンテンツデータの未送信データを送信するように制御する送信制御部と
を備え、
前記送信制御部は、前記第2トランスポートプロトコルがTCPの場合、前記第2送信部から前記第1送信部に切り替えるときに、前記第1送信部の輻輳ウィンドウサイズの初期値を、前記第2送信部の送信終了時の輻輳ウィンドウサイズ、又は前記第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように再設定し、前記第2トランスポートプロトコルがUDPの場合、前記第2送信部から前記第1送信部に切り替えるときに、前記サーバ装置と前記ユーザ端末との間のUDPによる配信を終了し、前記サーバ装置と前記ユーザ端末との間でTCPによるコネクションを確立する処理を行うと共に、前記第1送信部の輻輳ウィンドウサイズの初期値を、前記第2送信部の送信終了時の送信データレートと往復遅延時間とを乗算した値、又は前記第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように設定する
ことを特徴とするコンテンツ配信システム。
【請求項2】
ユーザ端末から到来したコンテンツデータのダウンロード要求に応じてサーバ装置から前記ユーザ端末へ前記コンテンツデータを配信するコンテンツ配信方法であって、
前記コンテンツデータを格納するコンテンツデータ記憶段階と、
前記コンテンツデータ記憶段階において記憶されている前記コンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいて前記コンテンツデータを前記ユーザ端末へ送信する第1送信段階と、
前記コンテンツデータ記憶段階において記憶されている前記コンテンツデータを取得して、前記スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいて前記コンテンツデータを前記ユーザ端末へ送信する第2送信段階と、
前記コンテンツデータの送信を開始したときは前記第2送信段階において送信されて、前記第2送信段階において送信されたコンテンツデータのデータ量が閾値に達した後に前記第1送信段階において前記コンテンツデータの未送信データが送信されるように制御する送信制御段階と
を含み、
前記送信制御段階においては、前記第2トランスポートプロトコルがTCPの場合、前記第2送信段階から前記第1送信段階に切り替えるときに、前記第1送信段階における輻輳ウィンドウサイズの初期値を、前記第2送信段階における送信終了時の輻輳ウィンドウサイズ、又は前記第1送信段階において最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように再設定し、前記第2トランスポートプロトコルがUDPの場合、前記第2送信段階から前記第1送信段階に切り替えるときに、前記サーバ装置と前記ユーザ端末との間のUDPによる配信を終了し、前記サーバ装置と前記ユーザ端末との間でTCPによるコネクションを確立する処理を行うと共に、前記第1送信段階における輻輳ウィンドウサイズの初期値を、前記第2送信段階における送信終了時の送信データレートと往復遅延時間とを乗算した値、又は前記第1送信段階において最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように設定する
ことを特徴とするコンテンツ配信方法。
【請求項3】
ユーザ端末から到来したコンテンツデータのダウンロード要求に応じて前記ユーザ端末へ前記コンテンツデータを配信するサーバ装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記コンテンツデータを格納するコンテンツデータ記憶部、
前記コンテンツデータ記憶部が記憶している前記コンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいて前記コンテンツデータを前記ユーザ端末へ送信する第1送信部、
前記コンテンツデータ記憶部が記憶している前記コンテンツデータを取得して、前記スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいて前記コンテンツデータを前記ユーザ端末へ送信する第2送信部、
前記コンテンツデータの送信を開始したときは前記第2送信部が送信して、前記第2送信部が送信したコンテンツデータのデータ量が閾値に達した後に前記第1送信部が前記コンテンツデータの未送信データを送信するように制御する送信制御部
として機能させ、
前記送信制御部は、前記第2トランスポートプロトコルがTCPの場合、前記第2送信部から前記第1送信部に切り替えるときに、前記第1送信部の輻輳ウィンドウサイズの初期値を、前記第2送信部の送信終了時の輻輳ウィンドウサイズ、又は前記第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように再設定し、前記第2トランスポートプロトコルがUDPの場合、前記第2送信部から前記第1送信部に切り替えるときに、前記サーバ装置と前記ユーザ端末との間のUDPによる配信を終了し、前記サーバ装置と前記ユーザ端末との間でTCPによるコネクションを確立する処理を行うと共に、前記第1送信部の輻輳ウィンドウサイズの初期値を、前記第2送信部の送信終了時の送信データレートと往復遅延時間とを乗算した値、又は前記第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように設定する
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツ配信システム、コンテンツ配信方法及びプログラムに関する。本願は、2008年10月9日に出願された特願2008−262757号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【0002】
近年、コンピュータの高性能化やネットワークの広域化に伴い、ユーザが自分の視聴したいときに高品質な映像コンテンツを取得して視聴できるVOD(Video on Demand)サービスが広まってきている。映像コンテンツの配信方法としては、RTSP(Real Time Streaming Protocol)やMMS(Microsoft Media Services)といった専用のストリーミングサーバを用いたストリーミング配信と並んで、従来のWebコンテンツと同様にHTTP(Hypertext Transfer Protocol)/TCP(Transmission Control Protocol)を用いたプログレッシブダウンロードによる配信が広く用いられている。このプログレッシブダウンロードは、擬似ストリーミングまたはHTTPストリーミングとも呼ばれ、通常のウェブサーバ(HTTPサーバ)を用いてシステムを構築する容易性や、ファイアウォールでコンテンツのダウンロードが阻害される可能性が低いといったメリットを持っている。
【0003】
再生映像の途絶はユーザの体感品質に甚大な悪影響を与えるため、VODサービスなどの映像配信サービスにおいては、ユーザ端末にバッファを備えて、受信データレートの変動吸収を行っている。ユーザ端末にバッファを備えることによって途絶の発生を低減することができるが、設定された再生開始の事前に必要なデータ(以下、初期バッファデータ)の取得が完了しないと再生が開始されないため、ユーザの再生開始待ち時間が増大してしまうという問題がある。
【0004】
ストリーミング配信において、この問題を解決する技術として、特許文献1(特開2006−115477号公報)に記載のコンテンツ配信方法がある。このコンテンツ配信方法は、コンテンツの送信を行いながら可用帯域を実際に測定したり、または遅延時間やパケットロス率などの情報に基づいてTCPに従った送信データレートの振る舞いを推定したりして、他のコネクションとの公平性の維持が可能な送信データレートを導出する。そして、導出された送信データレートで初期バッファデータを取得することで、可能な限り早く初期バッファデータを取得して再生を開始することができる。このコンテンツ配信方法は、例えばMicrosoft(登録商標)のFast StreamingやRealNetworks(登録商標)のTurboPlayにて用いられている。
【0005】
また、特許文献2(特開2002−135506号公報)に記載の伝送制御方法は、インターネットを用いたファクシミリ通信を行う際に、相手端末により最大受信バッファサイズが指定されている場合には、そのときのネットワークの許容可能な最大データ転送速度(例えば、数百kbps〜数Mbps)で、バースト転送モードのデータ転送を行うので、最大限に有効な画情報伝送速度を用いることができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−115477号公報
【特許文献2】特開2002−135506号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら上記技術は、以下の点で改善の余地を有していた。特許文献1のコンテンツ配信方法をプログレッシブダウンロードに適用した場合、使用するトランスポートプロトコルがTCPであるため、TCPのスロースタート制御の影響を回避できず、初期バッファデータの高速取得が阻害されてしまう。すなわち、TCPでは、送信開始直後は小さい送信データレートで送信を行い、送信の成功に合わせて徐々に送信データレートを上げていくことでネットワークを輻輳させないようにしている。そのため、コンテンツ配信方法が導出した送信データレートの上限値の速度までTCPの送信データレートが増加するまでに時間がかかり、ユーザの待ち時間を増加させてしまう。
【0008】
特許文献2の伝送制御方法は、UDPモードおよびTCPモードの2つのモードを備え、TCPモードのスロースタート制御を含むフロー制御動作を回避するために、可能であればUDPモードにおいて画情報を伝送する。しかし、この伝送制御方法では、一度UDPモードを選択して画情報を送信した場合、UDPモードにおいてデータ転送速度を変更するものであって、送信途中にTCPモードに切替えることができない。また、特許文献2記載の技術を映像コンテンツのプログレッシブダウンロードに適用した場合、初期バッファデータのみならず映像コンテンツに含まれるデータすべてをUDPモードで送信することとなり、伝送の信頼性、再生画像の品質等の面で問題がある。
【0009】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、コンテンツの送信を開始するときにスロースタート制御を回避して、より高速の送信データレートで送信することで、コンテンツデータの再生を開始するまでのユーザの再生待ち時間を短縮することができるコンテンツ配信システム、コンテンツ配信方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の第1の形態によると、ユーザ端末から到来したコンテンツデータのダウンロード要求に応じてサーバ装置からユーザ端末へコンテンツデータを配信するコンテンツ配信システムであって、コンテンツデータを格納するコンテンツデータ記憶部と、コンテンツデータ記憶部が記憶しているコンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいてコンテンツデータをユーザ端末へ送信する第1送信部と、コンテンツデータ記憶部が記憶しているコンテンツデータを取得して、スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいてコンテンツデータをユーザ端末へ送信する第2送信部と、コンテンツデータの送信を開始したときは第2送信部が送信して、第2送信部が送信したコンテンツデータのデータ量が閾値に達した後に第1送信部がコンテンツデータの未送信データを送信するように制御する送信制御部とを備え、送信制御部は、第2トランスポートプロトコルがTCPの場合、第2送信部から第1送信部に切り替えるときに、第1送信部の輻輳ウィンドウサイズの初期値を、第2送信部の送信終了時の輻輳ウィンドウサイズ、又は第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように再設定し、第2トランスポートプロトコルがUDPの場合、第2送信部から第1送信部に切り替えるときに、サーバ装置とユーザ端末との間のUDPによる配信を終了し、サーバ装置とユーザ端末との間でTCPによるコネクションを確立する処理を行うと共に、第1送信部の輻輳ウィンドウサイズの初期値を、第2送信部の送信終了時の送信データレートと往復遅延時間とを乗算した値、又は第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように設定する。
【0011】
本発明の第2の形態によると、ユーザ端末から到来したコンテンツデータのダウンロード要求に応じてサーバ装置からユーザ端末へコンテンツデータを配信するコンテンツ配信方法であって、コンテンツデータを格納するコンテンツデータ記憶段階と、コンテンツデータ記憶段階において記憶されているコンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいてコンテンツデータをユーザ端末へ送信する第1送信段階と、コンテンツデータ記憶段階において記憶されているコンテンツデータを取得して、スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいてコンテンツデータをユーザ端末へ送信する第2送信段階と、コンテンツデータの送信を開始したときは第2送信段階において送信されて、第2送信段階において送信されたコンテンツデータのデータ量が閾値に達した後に第1送信段階においてコンテンツデータの未送信データが送信されるように制御する送信制御段階とを含み、送信制御段階においては、第2トランスポートプロトコルがTCPの場合、第2送信段階から第1送信段階に切り替えるときに、第1送信段階における輻輳ウィンドウサイズの初期値を、第2送信段階における送信終了時の輻輳ウィンドウサイズ、又は第1送信段階において最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように再設定し、第2トランスポートプロトコルがUDPの場合、第2送信段階から第1送信段階に切り替えるときに、サーバ装置とユーザ端末との間のUDPによる配信を終了し、サーバ装置とユーザ端末との間でTCPによるコネクションを確立する処理を行うと共に、第1送信段階における輻輳ウィンドウサイズの初期値を、第2送信段階における送信終了時の送信データレートと往復遅延時間とを乗算した値、又は第1送信段階において最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように設定する。
【0012】
本発明の第3の形態によると、ユーザ端末から到来したコンテンツデータのダウンロード要求に応じてユーザ端末へコンテンツデータを配信するサーバ装置として、コンピュータを機能させるプログラムであって、コンピュータを、コンテンツデータを格納するコンテンツデータ記憶部、コンテンツデータ記憶部が記憶しているコンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいてコンテンツデータをユーザ端末へ送信する第1送信部、コンテンツデータ記憶部が記憶しているコンテンツデータを取得して、スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいてコンテンツデータをユーザ端末へ送信する第2送信部、コンテンツデータの送信を開始したときは第2送信部が送信して、第2送信部が送信したコンテンツデータのデータ量が閾値に達した後に第1送信部がコンテンツデータの未送信データを送信するように制御する送信制御部として機能させ、送信制御部は、第2トランスポートプロトコルがTCPの場合、第2送信部から第1送信部に切り替えるときに、第1送信部の輻輳ウィンドウサイズの初期値を、第2送信部の送信終了時の輻輳ウィンドウサイズ、又は第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように再設定し、第2トランスポートプロトコルがUDPの場合、第2送信部から第1送信部に切り替えるときに、サーバ装置とユーザ端末との間のUDPによる配信を終了し、サーバ装置とユーザ端末との間でTCPによるコネクションを確立する処理を行うと共に、第1送信部の輻輳ウィンドウサイズの初期値を、第2送信部の送信終了時の送信データレートと往復遅延時間とを乗算した値、又は第1送信部が最初からコンテンツデータを送信したと仮定した場合の現在の輻輳ウィンドウサイズの推定値と等しくなるように設定するように機能させる。
【発明の効果】
【0013】
本発明によれば、コンテンツデータの送信を開始するときにスロースタート制御を回避して、より高速の送信データレートで送信することで、コンテンツデータの再生を開始するまでのユーザの再生待ち時間を短縮することができるコンテンツ配信システム、コンテンツ配信方法及びプログラムが提供される。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施形態に係るコンテンツ配信システムの構成図である。
【
図2】同実施形態に係るコンテンツ配信方法のフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0016】
図1は、本発明の実施形態に係るコンテンツ配信システムの構成図である。ユーザ端末3から到来したコンテンツデータのダウンロード要求に応じてサーバ装置1からユーザ端末3へコンテンツデータを配信するコンテンツ配信システムであって、コンテンツデータを格納しているコンテンツデータ記憶部11と、コンテンツデータ記憶部11からコンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいてコンテンツデータをユーザ端末3へ送信する第1送信部13と、コンテンツデータ記憶部11からコンテンツデータを取得して、スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいてコンテンツデータをユーザ端末3へ送信する第2送信部12と、コンテンツデータの送信を開始したときは第2送信部12にコンテンツデータを送信させて、第2送信部12の送信パラメータが閾値に達した後に第1送信部13にコンテンツデータの未送信データを送信させる送信制御部14と、を備えることができる。なお、ここでコンテンツデータとは、映像と音声のいずれか、または双方を含むものである。また、閾値は、コンテンツ配信事業者やユーザ端末3を利用しているユーザ等によって入力された指令に基づいて定めることができる。
【0017】
本実施形態に係るコンテンツ配信システムの構成の全部または一部は、ハードウェアで実現されてもよいし、あるいは、プロセッサに処理を実行させるコンピュータプログラム(またはプログラムコード)で実現されてもよい。プロセッサは、不揮発性メモリなどの記録媒体からそのコンピュータプログラムを読み出し実行する。
【0018】
第2送信部12、第1送信部13および送信制御部14の機能がコンピュータプログラムで実現される場合、当該コンピュータプログラムは、ユーザ端末3から到来したコンテンツデータのダウンロード要求に応じてサーバ装置1からユーザ端末3へコンテンツデータを配信するためにサーバ装置1に実行させるコンピュータプログラムであって、コンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいてコンテンツデータをユーザ端末3へ送信する第1送信処理と、コンテンツデータを取得して、スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいてコンテンツデータをユーザ端末3へ送信する第2送信処理と、を備え、コンテンツデータの送信を開始するときは第2送信処理を実行し、第2送信処理の送信パラメータが閾値に達した後に第1送信処理を実行することにより、コンテンツデータの未送信データをユーザ端末へ送信させることができる。
【0019】
本実施形態において、コンテンツデータの配信方式は、HTTP(Hypertext Transfer Protocol)/TCP(Transmission Control Protocol)に基づいてコンテンツデータを配信するプログレッシブダウンロードである。この場合、サーバ装置1は、ウェブサーバもしくはHTTPサーバと称される装置であり、第1トランスポートプロトコルはTCPである。これによって、ストリーミング専用サーバ装置およびストリーミング専用のトランスポートプロトコルを用いたシステムと比較して、容易にシステム構築ができる。
【0020】
また、ネットワーク2は、サーバ装置1とユーザ端末3を上述のように接続できるコンピュータネットワークであればよく、たとえばインターネットやLANである。
【0021】
ユーザ端末3は、ユーザの操作によってダウンロード要求を入力するユーザ入力部31と、ダウンロード要求をサーバ装置1へ送信し、サーバ装置1からコンテンツデータを受信する情報通信部32と、受信したコンテンツデータを格納するバッファ記憶部33と、格納されたコンテンツデータを再生するコンテンツ再生部34とを含むことができる。
【0022】
第2送信部12の送信パラメータは、第2送信部12が送信したコンテンツデータのデータ量としてもよい。ここで、上述した閾値は、予めコンテンツ事業者やユーザ等によって定められたデータ量であり、できればコンテンツ再生を開始するために事前に必要なデータのデータ量(初期バッファデータのデータ量)と等しくすることが望ましい。この場合、初期バッファデータを高速に配信して、ユーザの再生待ち時間を最大限に短縮することができる。そして、残りのコンテンツデータは、TCPによって他のトラヒックに多大な負荷をかけずに高品質に配信することができる。
【0023】
なお、初期バッファデータのデータ量は、コンテンツ配信事業者が全てのコンテンツデータに対して一律に定めてもよいし、コンテンツデータごとに定めてもよい。また、ユーザがユーザ入力部31から入力した任意のデータ量としてもよい。また、コンテンツ配信事業者やユーザによって予め定められた再生待ち時間を取得し、当該希望再生待ち時間とサーバ装置1(の第2送信部12)及びユーザ端末3間の伝送経路における送信データレートとを乗算することによって算出されたデータ量を初期バッファデータのデータ量としてもよい。
【0024】
上記のように閾値と初期バッファデータのデータ量とはコンテンツ配信事業者やユーザ等によって入力された指令によって任意に定められる値であり、可変的な値である。閾値をデータ量として定めるとき、閾値の設定可能範囲は、初期バッファデータのデータ量に相当するデータ量を含むことが望ましい。これによって、閾値が、初期バッファデータのデータ量と等しくなるように定めることができる。すなわち、第2送信部12から送信したコンテンツデータが初期バッファデータのデータ量に相当するデータ量に達した後に、送信制御部14は第1送信部13に未送信のコンテンツデータを送信させることも可能となる。
【0025】
閾値が初期バッファデータのデータ量と等しく定められたとき、第1送信部13がコンテンツデータ記憶部11から取得するコンテンツデータのデータ量は、初期バッファデータを除く残りの送信対象部分のみでもよいし、コンテンツデータの全てでもよい。初期バッファデータを除く残りの送信対象部分のみを取得する場合、第1送信部13が送信する時間を短縮することができる。なお、コンテンツデータの全てを取得する場合、ユーザ端末3は初期バッファデータを2度受信することになるので、これを破棄してもよい。また、第1送信部13から受信した初期バッファデータを用いて、第2送信部12から受信した初期バッファデータのうち、伝送損失した箇所を補完するなどに利用してもよい。
【0026】
コンテンツデータ記憶部11は、閾値および再生待ち時間のうち少なくとも一つを格納する領域(図示せず)を含んでもよい。これによって、第2送信部12は、コンテンツデータ記憶部11から閾値や再生待ち時間を取得することができる。
【0027】
第2送信部12から第1送信部13にコンテンツデータの送信元を切替えるときに、送信制御部14は、第1送信部13と情報通信部32との間にコネクションを確立するために必要な接続情報を第2送信部12から取得して、第1送信部13に伝送することができる。上記接続情報とは、たとえば、ユーザ端末3のIPアドレス、ユーザ端末3のポート番号、第2送信部12が送信したコンテンツデータのコンテンツID、第2送信部12が送信したコンテンツデータのデータ量および切替え時の第2送信部12の送信速度などである。なお、送信済みのコンテンツデータのデータ量を示す情報としては、パケットやチャンクといったコンテンツデータの断片の個数などがある。また、切替えたときの第2送信部12の送信速度を示す情報としては、第2送信部12の送信データレートや輻輳ウィンドウサイズなどがある。
【0028】
第1送信部13と比較して第2送信部12が高速な送信データレートにてコンテンツデータを送信できる手段を以下に例示する。たとえば、第2トランスポートプロトコルはTCPであって、第2送信部12は、閾値(初期バッファデータのデータ量)を予め設定された再生待ち時間で除算して求められた値と、サーバ装置1(の第2送信部12)およびユーザ端末3間の往復遅延時間(送信側がデータを送出してから、受信側から「送達確認」が届くまでの時間)とを乗算して算出した値をTCPの輻輳ウィンドウサイズの初期値として、コンテンツデータを送信してもよい。ここで、上記往復遅延時間は、直近の複数の通信のうちいずれか一つの通信における往復遅延時間を用いてもよいし、過去の通信の統計から往復遅延時間の平均値を算出して用いてもよいし、過去の通信の統計から往復遅延時間の最小値を用いてもよい。なお、上記再生待ち時間は、コンテンツ配信事業者やユーザ等によって任意に定められる。
【0029】
また、第2トランスポートプロトコルはTCPであって、第2送信部12は、第2送信部12およびユーザ端末3間の伝送経路における最も遅いリンク(ボトルネックリンク)の可用帯域幅と、第2送信部12およびユーザ端末3間の往復遅延時間とを乗算して算出した値をTCPの輻輳ウィンドウサイズの初期値として、コンテンツデータを送信してもよい。なお、ボトルネックリンクの可用帯域幅は、連続で送信される複数のパケット(パケットトレイン)の往復遅延時間の差分を算出することで求めることができる。
【0030】
上記の手段は送信データレートの初期値の設定方法であり、第1送信部13よりも第2送信部12が高速な送信データレートにてコンテンツデータを送信するには、その変化量が次のようであってもよい。すなわち、サーバ装置1およびユーザ端末3間のデータ伝送が正常に実行されたとき、第2送信部12の輻輳ウィンドウサイズの増加量が第1送信部13の輻輳ウィンドウサイズの増加量以上であってもよい。または、サーバ装置1およびユーザ端末3間のデータ伝送に輻輳が発生したとき(送信したパケットが損失したとき)、第2送信部12の輻輳ウィンドウサイズの減少量が第1送信部13の輻輳ウィンドウサイズの減少量以下であってもよい。
【0031】
なお、第2トランスポートプロトコルがTCPの場合、第2送信部から第1送信部に切替えるときには、サーバ装置1およびユーザ端末3間の通信状況が初期化されるので、第1送信部13の輻輳ウィンドウサイズの初期値を再設定する。このときに、送信制御部14は、第2送信部12の送信終了時の輻輳ウィンドウサイズを表す情報を取得し、第1送信部13の輻輳ウィンドウサイズの初期値を第2送信部12の送信終了時の輻輳ウィンドウサイズと等しくしてもよい。また、上記のような輻輳ウィンドウサイズの引継ぎを行わず、通常のTCPのスロースタート制御に従って、送信制御部14は第1送信部13の輻輳ウィンドウサイズの初期値を設定してもよい。さらに、送信制御部14は、第1送信部13が最初からコンテンツデータを送信した場合の輻輳ウィンドウサイズを閾値(初期バッファデータのデータ量)から推定して、推定した輻輳ウィンドウサイズを第1送信部13の輻輳ウィンドウサイズの初期値として設定してもよい。
【0032】
さらに、第2トランスポートプロトコルはUDP(User Datagram Protocol)であって、サーバ装置1(の第2送信部12)は、閾値(初期バッファデータのデータ量)を予め設定された再生待ち時間で除算して求められた値を送信データレートとして、コンテンツデータを送信してもよい。なお、上記再生待ち時間も、コンテンツ配信事業者やユーザ等によって任意に定められる。
【0033】
さらに、第2トランスポートプロトコルはUDPであって、第2送信部12は、サーバ装置1(の第2送信部12)およびユーザ端末3間の伝送経路における最も遅いリンク(ボトルネックリンク)の可用帯域幅に対応する送信データレートを用いて、コンテンツデータを送信してもよい。
なお、上記ボトルネックの可用帯域幅も、連続で送信される複数のパケット(パケットトレイン)の往復遅延時間の差分を算出することで求めることができる。
【0034】
なお、第2トランスポートプロトコルがUDPの場合、第2送信部から第1送信部に切替えるときには、第2送信部12と情報通信部32との間のUDPによる配信を終了し、第1送信部と情報通信部32との間でTCPによるコネクションを確立する処理を行う(通信セッションの張り直し)。TCPによるコネクションを確立する際には、第1送信部13については、輻輳ウィンドウサイズの初期値も設定する。このときに、送信制御部14は、通常のTCPのスロースタート制御に従って、第1送信部13の輻輳ウィンドウサイズの初期値を設定してもよい。また、送信制御部14は、第1送信部13が最初からコンテンツデータを送信した場合の輻輳ウィンドウサイズを閾値(初期バッファデータのデータ量)から推定して、推定した輻輳ウィンドウサイズを第1送信部13の輻輳ウィンドウサイズの初期値として設定してもよい。さらに、送信制御部14は、コンテンツの送信を行いながら可用帯域を実際に測定したり、または遅延時間やパケットロス率などの情報に基づいてTCPに従った送信データレートの振る舞いを推定したりして、他のコネクションとの公平性の維持が可能な送信データレートを導出し、導出された送信データレートと往復遅延時間とを乗算した値を、第1送信部13の輻輳ウィンドウサイズの初期値として設定してもよい。
【0035】
図2は、本実施形態に係るコンテンツ配信方法のフローチャートである。すなわち、ユーザ端末3から到来したコンテンツデータのダウンロード要求に応じてサーバ装置1からユーザ端末3へコンテンツデータを配信するコンテンツ配信方法であって、コンテンツデータを取得して、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいてコンテンツデータをユーザ端末3へ送信する第1送信ステップ(ステップS106)と、コンテンツデータを取得して、スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいてコンテンツデータをユーザ端末3へ送信する第2送信ステップ(ステップS104)と、を備え、コンテンツデータの送信を開始するときは上記第2送信ステップ(ステップS104)を実行し、第2送信ステップの送信パラメータが閾値に達した(ステップS105のYES)後に、上記第1送信ステップ(ステップS106)を実行することができる。以下に、その詳細を説明する。
【0036】
まず、ユーザ入力部31において、ユーザの操作によってダウンロード要求が入力される(ステップS101)。そして、入力されたダウンロード要求は、情報通信部32およびネットワーク2を介してサーバ装置1の送信制御部14に送信される(ステップS102)。送信制御部14は、受信したダウンロード要求が示すコンテンツデータの送信開始を第2送信部12に指令する。指令された第2送信部12は、情報通信部32との間にコネクションを確立する(ステップS103)。
【0037】
次に、第2送信部12は、コンテンツデータ記憶部11からコンテンツデータを取得して、スロースタートアルゴリズムが設定する送信データレートより高い送信データレートを設定する高速アルゴリズムを用いた第2トランスポートプロトコルに基づいてコンテンツデータをユーザ端末3へ送信する(ステップS104)。そして、送信パラメータが閾値に達した後(ステップS105のYES)に、第1送信部13は、送信データレートの初期値を低く設定して、徐々に送信データレートを高くするスロースタートアルゴリズムを用いた第1トランスポートプロトコルに基づいて、コンテンツデータをユーザ端末3へ送信する(ステップS106)。なお、送信パラメータが閾値に達するまでの間(ステップS105のNO)、第2送信部12がコンテンツデータの送信を続ける。
【0038】
本実施形態において、当該送信パラメータは、第2送信部12がユーザ端末3へコンテンツデータを送信するステップ(ステップS104)にて送信したコンテンツデータのデータ量である。また、当該閾値は、初期バッファデータのデータ量であるので、送信したデータ量が初期バッファデータのデータ量に達した後(ステップS105のYES)に、バッファ記憶部33は初期バッファデータの格納を終え、バッファ記憶部33からコンテンツデータを取得したコンテンツ再生部34は、コンテンツデータの再生を開始する(ステップS107)。
【0039】
第1送信部13は、コンテンツデータをすべて送信したのちにFINパケットを送信してコンテンツデータの送信を終了とする(ステップS108)。FINパケットを受信した情報通信部32は、第1送信部13とのコネクションを解放する。そして、コンテンツ再生部34は、バッファ記憶部33が格納したコンテンツデータをすべて再生したのちに終了する(ステップS109)。
【0040】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【0041】
たとえば、送信制御部14は、システムの状況によっては、第1送信部13及び第2送信部12のうち少なくとも一方に対してコンテンツデータの全てを送信させてもよい。また、送信制御部14は、システムの状況によっては、コンテンツデータの送信を開始したときは第1送信部13に送信させて、第1送信部13の送信パラメータが閾値に達した後に第2送信部12にコンテンツデータの未送信データを送信させてもよい。
【0042】
また、閾値が初期バッファデータのデータ量と相違するデータ量に定められたとき、送信制御部14は、第2送信部が送信したコンテンツデータのデータ量が、定められたデータ量に達した後に、第1送信部13にコンテンツデータの未送信データを送信させてもよい。すなわち、定められたデータ量が初期バッファデータのデータ量より少ないときは、ユーザ端末3としては再生を開始する前に受信データレートが低くなる(通常の受信データレートとなる)。逆に、定められたデータ量が初期バッファデータのデータ量より多いときは、ユーザ端末3としては再生を開始した後も、受信データレートが通常より高いままであり、当該所定のデータ量を受信した後に、受信データレートが低くなる(通常の受信データレートとなる)。
【0043】
さらに、第2送信部12の送信パラメータは、第2送信部12が送信開始してからの時間としてもよい。ここで、閾値は、ユーザやコンテンツ配信事業者等によって予め任意に定められた時間としてもよく、上記再生待ち時間と等しくしてもよい。この場合、送信制御部14は、コンテンツデータの送信を開始したときは第2送信部12に送信させて、第2送信部12がコンテンツデータを送信した時間が予め任意に定められた時間(再生待ち時間)に達した後に第1送信部13にコンテンツデータの未送信データを送信させてもよい。すなわち、ユーザ端末3としては、初期バッファデータを取得するしないにかかわらず、予め任意に定められた時間(再生待ち時間)に達した後に、受信データレートが低くなる(通常の受信データレートとなる)。
【0044】
さらに、サーバ装置1は、ユーザ端末3に「コンテンツデータを(全て)高速ダウンロードする」「初期バッファのみ高速ダウンロードする」「高速ダウンロードしない」等の選択肢を提示して、ユーザ端末3の選択に応じて送信制御部14は、閾値を閾値=∞(もしくは当該コンテンツデータのデータ量及び当該コンテンツデータの送信完了時間のうちいずれか一方)、閾値=初期バッファデータのデータ量、閾値=0などと判断して、判断された閾値に応じて第1送信部13及び第2送信部12を制御してもよい。
【0045】
さらに、コンテンツデータ記憶部11に格納するコンテンツデータはいずれから取得してもよく、外部のコンテンツ配信システムから取得してもよいし、外部の記憶装置に格納されているコンテンツデータを取得してもよい。
【0046】
さらに、コンテンツデータ記憶部11に閾値および再生待ち時間を格納する領域を含める構成がなくても、第2送信部12がユーザがユーザ入力部31から入力した閾値および再生待ち時間を取得するようにしてもよい。この場合、閾値および再生待ち時間はダウンロード要求とともに送信制御部14に送信され、第2送信部12は送信制御部14を介して閾値および再生待ち時間を取得するようにしてもよい。
【産業上の利用可能性】
【0047】
本発明によれば、コンテンツデータの送信を開始するときにスロースタート制御を回避して、より高速の送信データレートで送信することで、コンテンツデータの再生を開始するまでのユーザの再生待ち時間を短縮することができるコンテンツ配信システム、コンテンツ配信方法及びプログラムを提供することができる。
【符号の説明】
【0048】
1 サーバ装置
11 コンテンツデータ記憶部
12 第2送信部
13 第1送信部
14 送信制御部
2 ネットワーク
3 ユーザ端末
31 ユーザ入力部
32 情報通信部
33 バッファ記憶部
34 コンテンツ再生部