【文献】
田中 壮 他,クライアントのRTTを考慮したプッシュ配信サーバにおける配信制御方式の検討,映像情報メディア学会 2013年年次大会講演予稿集,日本,一般社団法人映像情報メディア学会,2013年 8月 7日
(58)【調査した分野】(Int.Cl.,DB名)
IPコンテンツを配信する複数の配信サーバと、複数の前記配信サーバのいずれかに接続し前記IPコンテンツを受信する複数の受信装置と、前記IPコンテンツの配信を要求する前記受信装置が接続する前記配信サーバを決定する配信サーバ管理装置と、を備える配信サーバ振り分けシステムであって、
前記配信サーバ管理装置は、
前記配信サーバそれぞれのアドレスを示す配信サーバ情報、および、前記受信装置と前記配信サーバとの間のRTT(Round Trip Time)を所定の時間間隔で区分し、各区分に含まれる各受信装置のRTTの受信装置数を、複数の前記配信サーバ毎に格納する配信サーバ処理装置数情報を記憶する記憶部と、
前記受信装置から前記IPコンテンツの配信を要求する配信参加要求を受信したときに、前記配信サーバ情報を、当該配信参加要求を送信してきた受信装置に送信する配信サーバ情報送信部と、
前記受信装置から前記配信サーバそれぞれとの間のRTTの計測結果を示す配信サーバRTT情報を受信したときに、前記配信サーバ毎の前記配信サーバ処理装置数情報を参照し、前記配信サーバそれぞれとの間のRTTの計測結果に対応する前記区分を特定し、当該特定した区分の前記受信装置数が最も少ない前記配信サーバを、前記配信参加要求を送信してきた受信装置の接続先として決定する配信サーバ振り分け処理部と、
前記決定した配信サーバを示す接続先配信サーバ情報を、前記配信参加要求を送信してきた受信装置に送信する接続先配信サーバ情報送信部と、を備え、
前記受信装置は、
前記配信参加要求を送信する配信参加要求送信部と、
前記配信サーバ管理装置から前記配信サーバ情報を取得したときに、前記配信サーバ情報に示される前記配信サーバそれぞれとの間でRTTを計測するRTT計測部と、
前記配信サーバそれぞれとの間のRTTの計測結果を前記配信サーバRTT情報として前記配信サーバ管理装置に送信する配信サーバRTT情報送信部と、
前記接続先配信サーバ情報を受信したときに、前記接続先配信サーバ情報に示される前記決定した配信サーバとの間でセッションを確立し、前記IPコンテンツを受信するコンテンツ受信制御部と、を備え、
前記配信サーバそれぞれは、RTTが大きい前記受信装置から順に、前記受信装置それぞれの配信時刻を決定し前記IPコンテンツを送信すること
を特徴とする配信サーバ振り分けシステム。
IPコンテンツを配信する複数の配信サーバと、複数の前記配信サーバのいずれかに接続し前記IPコンテンツを受信する複数の受信装置と、前記IPコンテンツの配信を要求する前記受信装置が接続する前記配信サーバを決定する配信サーバ管理装置と、を備える配信サーバ振り分けシステムの前記配信サーバ管理装置であって、
前記配信サーバそれぞれのアドレスを示す配信サーバ情報、および、前記受信装置と前記配信サーバとの間のRTT(Round Trip Time)を所定の時間間隔で区分し、各区分に含まれる各受信装置のRTTの受信装置数を、複数の前記配信サーバ毎に格納する配信サーバ処理装置数情報を記憶する記憶部と、
前記受信装置から前記IPコンテンツの配信を要求する配信参加要求を受信したときに、前記配信サーバ情報を、当該配信参加要求を送信してきた受信装置に送信する配信サーバ情報送信部と、
前記受信装置から前記配信サーバそれぞれとの間のRTTの計測結果を示す配信サーバRTT情報を受信したときに、前記配信サーバ毎の前記配信サーバ処理装置数情報を参照し、前記配信サーバそれぞれとの間のRTTの計測結果に対応する前記区分を特定し、当該特定した区分の前記受信装置数が最も少ない前記配信サーバを、前記配信参加要求を送信してきた受信装置の接続先として決定する配信サーバ振り分け処理部と、
前記決定した配信サーバを示す接続先配信サーバ情報を、前記配信参加要求を送信してきた受信装置に送信する接続先配信サーバ情報送信部と、
を備えることを特徴とする配信サーバ管理装置。
【発明を実施するための形態】
【0022】
以下、本発明を実施するための形態(以下、「実施形態」という)について図面を参照して説明する。
【0023】
<配信サーバ振り分けシステムの概要>
最初に、本実施形態に係る配信サーバ振り分けシステム1000の概要について説明する。
図1は、本実施形態に係る配信サーバ振り分けシステム1000を説明するための図である。
図1に示すように、配信サーバ振り分けシステム1000は、複数の配信サーバ3(コンテンツ配信サーバ)と、配信サーバ3にネットワーク(IP網)を介して接続される複数の受信装置2と、複数の受信装置2にネットワークを介して接続される配信サーバ管理装置1とを含んで構成される。
なお、配信サーバ3は、
図1においては、配信サーバ「A」,「B」,「C」の3つを例示しているが、2つ以上の配信サーバ3であればよい。また、
図1においては、受信装置2のうち、受信装置2(2a)が、IPコンテンツの配信サービスの提供を受ける場合を例として説明する。
【0024】
図1に示すように、まず、新たにIPコンテンツの配信を受けようとする受信装置2(2a)は、配信サーバ管理装置1に対し、配信参加要求を送信する(ステップS1)。
【0025】
続いて、配信サーバ管理装置1は、受信装置2(2a)に対してIPコンテンツを配信する配信サーバの候補となる複数の配信サーバ3(
図1においては、配信サーバ「A」,「B」,「C」)の接続先(アドレス)を示した情報である配信サーバ情報110(詳細は、後記する
図3参照)を、受信装置2(2a)に送信する(ステップS2)。
【0026】
次に、受信装置2(2a)は、受信した配信サーバ情報110に示される配信サーバ3(配信サーバ「A」,「B」,「C」)それぞれに対し、例えば、ICMP(Internet Control Message Protocol)のpingコマンドを実行することにより、RTT(往復遅延時間)を計測する(ステップS3)。受信装置2(2a)は、計測した配信サーバ3それぞれとの間のRTTの計測結果を、配信サーバRTT情報210(後記する
図8参照)として自身の記憶部(後記する
図7の記憶部22)に記憶する。
【0027】
続いて、受信装置2(2a)は、配信サーバRTT情報210を配信サーバ管理装置1に送信する(ステップS4)。
そして、配信サーバ管理装置1は、IPコンテンツを配信する複数の配信サーバ3における受信装置2のRTTの偏りが低減するように、受信装置2(2a)に配信する配信サーバ3を決定する(配信サーバ振り分け処理:ステップS5)。配信サーバ管理装置1は、決定した接続先となる配信サーバ3を示す情報を、接続先配信サーバ情報として受信装置2(2a)に送信する(ステップS6)。
【0028】
受信装置2(2a)は、接続先配信サーバ情報で示される配信サーバ3との間でセッションを確立し、その配信サーバ3からIPコンテンツを受信する(ステップS7)。
【0029】
このようにすることで、本実施形態に係る配信サーバ振り分けシステム1000によれば、複数の配信サーバ3から複数の受信装置2へ一斉にIPコンテンツを配信する際に、各受信装置2におけるIPコンテンツの到達時刻のばらつきを低減することができる。
【0030】
次に、配信サーバ振り分けシステム1000を構成する各装置(配信サーバ管理装置1、受信装置2、配信サーバ3)について具体的に説明する。
【0031】
≪配信サーバ管理装置1≫
まず、本実施形態に係る配信サーバ管理装置1について説明する。
図2は、本実施形態に係る配信サーバ管理装置1の構成例を示す機能ブロック図である。配信サーバ管理装置1は、受信装置2からの配信参加要求を受信し、複数の配信サーバ3にうちから、偏りが低減するように、配信参加要求を送信してきた受信装置2にIPコンテンツを配信する配信サーバ3を決定する装置である。この配信サーバ管理装置1は、制御部10、通信部11、図示を省略した入出力部、記憶部12を含んで構成される。
【0032】
通信部11は、ネットワーク(IP網)を介して、受信装置2から配信参加要求等を受信したり、受信装置2に対して、配信サーバ情報110(
図3)や接続先配信サーバ情報等を送信したりする通信インタフェースにより構成される。また、入出力部(図示省略)は、同じく図示を省略した、キーボード等の入力手段やモニタ等の出力手段等との間で情報の入出力を行う入出力インタフェースにより構成される。
【0033】
制御部10は、配信サーバ管理装置1全体の制御を司り、配信参加要求受信部101、配信サーバ情報送信部102、配信サーバRTT情報受信部103、配信サーバ振り分け処理部104および接続先配信サーバ情報送信部105を備える。
【0034】
配信参加要求受信部101は、通信部11を介して、受信装置2から配信参加要求を受信し、配信サーバ情報送信部102に出力する。
【0035】
配信サーバ情報送信部102は、配信参加要求受信部101から配信参加要求を受け取ると、記憶部12内の配信サーバ情報110(
図3)を参照し、配信参加要求を送信してきた受信装置2に、各配信サーバ3の接続先(アドレス)を示す配信サーバ情報110を送信する。
【0036】
図3は、本実施形態に係る配信サーバ情報110のデータ構成例を示す図である。
図3に示すように、配信サーバ情報110は、配信サーバ3の固有な識別子である配信サーバID毎に、接続先(アドレス)が格納される。この接続先には、例えば、IPアドレスやURL等が格納される。
【0037】
図2に戻り、配信サーバRTT情報受信部103は、受信装置2から配信サーバRTT情報210(
図8)を受信し、記憶部12内の受信装置RTT情報120(
図4)に格納する。この配信サーバRTT情報210は、後記するように、受信装置2が各配信サーバ3との間においてRTTを計測した結果を示す情報である。
【0038】
図4は、本実施形態に係る受信装置RTT情報120のデータ構成例を示す図である。
図4に示すように、受信装置RTT情報120は、受信装置2の受信装置ID毎に、その受信装置2が計測した各配信サーバ3との間のRTTの値(計測結果)が格納される。
配信サーバRTT情報受信部103は、配信サーバRTT情報210を送信してきた受信装置2の受信装置IDに対応付けて、配信サーバRTT情報210に示される各配信サーバ3との間のRTTの値を受信装置RTT情報120に格納する。
例えば、受信装置ID「6」の受信装置2から受信した配信サーバRTT情報210に基づき、配信サーバRTT情報受信部103は、
図4の受信装置RTT情報120の6行目に示すように、配信サーバ「A」との間のRTTの値「12ms」、配信サーバ「B」との間のRTTの値「18ms」、配信サーバ「C」との間のRTTの値「25ms」を格納する。
【0039】
図2に戻り、配信サーバ振り分け処理部104は、記憶部12に記憶された、受信装置RTT情報120(
図4)および配信サーバ処理装置数情報130(
図5)に基づき、配信サーバ振り分け処理を実行することにより、受信装置2が接続する配信サーバ3を決定する。ここで、配信サーバ振り分け処理部104が実行する配信サーバ振り分け処理では、各配信サーバ3が担当する受信装置2のRTTの割合(所定の時間間隔で区分したカテゴリにおける受信装置数)について偏りが低減されるように、具体的には、該当する区分の受信装置数が最も少ない配信サーバ3から順に、接続する配信サーバ3が決定される。なお、詳細は後記する
図10を用いて説明する。
【0040】
図5は、本実施形態に係る配信サーバ処理装置数情報130のデータ構成例を示す図である。配信サーバ処理装置数情報130は、配信サーバ3毎にその配信サーバ3がIPコンテンツの配信を担当する受信装置2のRTTの割合(所定の時間間隔で区分したカテゴリにおける受信装置数)が格納される。ここで、
図5(a)は、配信サーバ「A」の配信サーバ処理装置数情報130(130A)を示す。
図5(b)は、配信サーバ「B」の配信サーバ処理装置数情報130(130B)を示す。
図5(c)は、配信サーバ「C」の配信サーバ処理装置数情報130(130C)を示す。
【0041】
図5(a)〜(c)に示すように、配信サーバ処理装置数情報130は、配信サーバID131およびRTTを所定の時間間隔で区分したカテゴリ132に対応付けて、受信装置数133の情報が格納される。
図5(a)を例として具体的に説明すると、配信サーバID131には、配信サーバ3のIDとして「A」(
図5(a)においては(配信サーバ「A」)と表記)が格納される。カテゴリ132は、配信サーバ3が配信する受信装置2のRTTの値を所定の時間間隔で区分するものである。例えば、1行目に示すカテゴリ132が「0ms−5ms」は、RTTの値が、0ms以上5ms未満であることを示している。同様に、2行目に示すカテゴリ132が「5ms−10ms」は、RTTの値が、5ms以上10ms未満であることを示している。以降のカテゴリ132のRTTの区分も同様である。
【0042】
受信装置数133は、カテゴリ132で示される区分によるRTTの範囲に含まれる受信装置2の数が格納される。例えば、
図5(a)の1行目では、配信サーバ「A」がIPコンテンツの配信を担当する受信装置2のうち、RTTの値が「0ms−5ms」(0ms以上5ms未満)に含まれる受信装置2の数(受信装置数133)が「10」であることを示し、
図5(a)の2行目では、RTTの値が「5ms−10ms」(5ms以上10ms未満)に含まれる受信装置2の数(受信装置数133)が「9」であることを示している。
【0043】
なお、本実施形態においては、このカテゴリ132を所定の時間間隔として5ms単位に区分しているが、5ms単位は一例であり、ネットワーク管理者等が任意に設定することができる。また、
図5(a)〜(c)それぞれに示す符号134A,134B,134Cについては、配信サーバ振り分け処理(後記する
図10)の詳細な説明の際に必要となるものであり、後記する。
【0044】
配信サーバ振り分け処理部104は、配信サーバ振り分け処理により、受信装置2(2a)に接続する配信サーバ3を決定すると、記憶部12内の配信先受信装置情報140(
図6)に、決定した配信サーバ3によるIPコンテンツの配信先として配信参加要求を送信してきた受信装置2(2a)を登録する。
また、配信サーバ振り分け処理部104は、決定した配信サーバ3の配信サーバ処理装置数情報130(
図5)について、今回配信対象となる受信装置2のRTTの値が含まれるカテゴリ132の受信装置数133に「1」を加える。
【0045】
図6は、本実施形態に係る配信先受信装置情報140のデータ構成例を示す図である。
図6に示すように、配信先受信装置情報140は、各配信サーバ3がIPコンテンツの配信を担当する受信装置2を示す情報である。この配信先受信装置情報140には、配信サーバ3の配信サーバID141に対応付けて、IPコンテンツの配信先となる受信装置(接続先)142およびRTT143が格納される。
【0046】
例えば、
図6の1行目を例に説明すると、配信サーバID141には、配信サーバ3のIDとして「A」(
図6においては(配信サーバ「A」)と表記)が格納される。受信装置(接続先)142には、配信サーバID141に示される配信サーバ3がIPコンテンツを配信する受信装置2のアドレス(例えば、IPアドレス等)が「aaa.bbb.ccc.ddd」のように格納される。また、RTT143には、配信サーバID141で示される配信サーバ3と、受信装置(接続先)142で示される受信装置2との間のRTTの値が「32ms」のように格納される。
【0047】
図2に戻り、接続先配信サーバ情報送信部105は、配信先受信装置情報140(
図6)を参照し、配信サーバ振り分け処理部104が決定した接続先となる配信サーバ3を示す情報を接続先配信サーバ情報として、配信参加要求を送信してきた受信装置2に対し送信する。
【0048】
記憶部12は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等の記憶手段からなり、前記した配信サーバ情報110、受信装置RTT情報120、配信サーバ処理装置数情報130、配信先受信装置情報140等が記憶される。
【0049】
なお、この制御部10は、例えば、記憶部12に格納されたプログラムを、図示を省略したCPU(Central Processing Unit)がメインメモリであるRAMに展開し実行することで実現される。
【0050】
≪受信装置2≫
次に、本実施形態に係る受信装置2について説明する。
図7は、本実施形態に係る受信装置2の構成例を示す機能ブロック図である。受信装置2は、配信サーバ3からIPコンテンツの配信を受ける装置である。この受信装置2は、
図1において説明したように、IPコンテンツの配信を要求する際には、配信サーバ管理装置1に配信参加要求を送信し、配信サーバ管理装置1が複数の配信サーバ3の中から決定した配信サーバ3との間でセッションを確立しIPコンテンツの配信を受ける。この受信装置2は、制御部20、通信部21、図示を省略した入出力部、記憶部22を含んで構成される。
【0051】
通信部21は、ネットワーク(IP網)を介して、配信サーバ管理装置1から配信サーバ情報110(
図3)や接続先配信サーバ情報等を受信したり、配信サーバ管理装置1に対して、配信参加要求や配信サーバRTT情報210(後記する
図8参照)等を送信したりする通信インタフェースにより構成される。また、入出力部(図示省略)は、同じく図示を省略した、キーボード等の入力手段やモニタ等の出力手段等との間で情報の入出力を行う入出力インタフェースにより構成される。
【0052】
制御部20は、受信装置2全体の制御を司り、配信参加要求送信部201、配信サーバ情報受信部202、RTT計測部203、配信サーバRTT情報送信部204、接続先配信サーバ情報受信部205およびコンテンツ受信制御部206を備える。
【0053】
配信参加要求送信部201は、入出力部を介してIPコンテンツを受信する指示情報を受け付けること等を契機として、配信サーバ管理装置1に対して配信参加要求を送信する。
【0054】
配信サーバ情報受信部202は、配信サーバ管理装置1から配信サーバ情報110(
図3)を受信し、その配信サーバ情報110をRTT計測部203に出力する。
【0055】
RTT計測部203は、配信サーバ情報受信部202から受け取った配信サーバ情報110(
図3)に示される各配信サーバ3との間で、RTTを計測し、記憶部22内の配信サーバRTT情報210(
図8)に格納する。
具体的には、RTT計測部203は、例えば、ICMPのpingコマンドを実行することにより、各配信サーバ3に向けて、応答を返信する旨の要求情報(エコー要求)を送信し、各配信サーバ3からの応答情報(エコー応答)を受信し、要求情報(エコー要求)を送信した時刻と、応答情報(エコー応答)を受信した時刻との差によって、RTT(往復遅延時間)を計測する。また、RTT計測部203は、受信装置2と各配信サーバ3との間の送受信をTCP(Transmission Control Protocol)で行っている場合には、受信装置2からの要求メッセージに対する配信サーバ3からのACKメッセージを受信し、要求メッセージを送信した時刻と、ACKメッセージを受信した時刻との差によって、RTT(往復遅延時間)を計測するようにしてもよい。
【0056】
図8は、本実施形態に係る配信サーバRTT情報210のデータ構成例を示す図である。
図8に示すように、配信サーバRTT情報210には、RTT計測部203により計測された、各配信サーバ3との間のRTTの値(計測結果)が格納される。
【0057】
図7に戻り、配信サーバRTT情報送信部204は、記憶部22に記憶された配信サーバRTT情報210に、その受信装置2自身の受信装置IDを付して、配信サーバ管理装置1に送信する。
【0058】
接続先配信サーバ情報受信部205は、配信サーバ管理装置1から、接続先となる配信サーバ3を示す接続先配信サーバ情報を受信し、コンテンツ受信制御部206に出力する。
【0059】
コンテンツ受信制御部206は、接続先配信サーバ情報受信部205から受け取った接続先配信サーバ情報に示される配信サーバ3との間でセッションを確立し、その配信サーバ3からIPコンテンツを受信する。また、コンテンツ受信制御部206は、IPコンテンツの配信に関する制御全般を実行する。例えば、コンテンツ受信制御部206は、IPコンテンツの配信が終了したと判定すると、セッションを確立していた配信サーバ3に対し切断要求を送信する。
【0060】
記憶部22は、ハードディスクやフラッシュメモリ、RAM等の記憶手段からなり、前記した配信サーバRTT情報210等が記憶される。
【0061】
なお、この制御部20は、例えば、記憶部22に格納されたプログラムを、図示を省略したCPUがメインメモリであるRAMに展開し実行することで実現される。
【0062】
≪配信サーバ3≫
本実施形態に係る配信サーバ3(
図1)それぞれは、前記した非特許文献1に示される配信サーバ(コンテンツ配信サーバ)である。
この配信サーバ3では、データの受信が最も遅い、つまり、RTT(往復遅延時間)の値が最も大きい受信装置2のデータ受信時刻を全ての受信装置2のデータ受信時刻の目標値に設定する。そして、配信サーバ3は、RTTが大きい受信装置2から順に、1つの受信装置2当たりの配信所要時間を考慮して、各受信装置2の配信時刻を算出しIPコンテンツを配信する。このようにすることにより、配信サーバ3は、受信装置2間のIPコンテンツの受信時刻のばらつきを抑制することができる。
【0063】
以上説明したように、本実施形態に係る配信サーバ振り分けシステム1000、配信サーバ管理装置1および受信装置2によれば、複数の配信サーバ3から複数の受信装置2へ一斉にIPコンテンツを配信する際に、各受信装置2における配信情報(IPコンテンツ)の到達時刻のばらつきを低減することができる。
【0064】
<配信サーバ振り分けシステムの動作>
次に、配信サーバ振り分けシステム1000を構成する各装置の具体的な動作について説明する。
配信サーバ振り分けシステム1000の全体の処理の流れについては、
図1に参照して説明したため、ここでは省略し、配信サーバ管理装置1および受信装置2の具体的な動作について詳細に説明する。
【0065】
≪配信サーバ管理装置1の動作≫
まず、配信サーバ管理装置1の動作について説明する。
図9は、本実施形態に係る配信サーバ管理装置1の動作を示すフローチャートである。
なお、配信サーバ管理装置1には、各配信サーバ3の接続先を示す配信サーバ情報110(
図3)と、配信サーバ3毎にその配信サーバ3が担当する受信装置2のRTTの割合(所定の時間間隔で区分したカテゴリにおける受信装置数)が格納される配信サーバ処理装置数情報130(
図5)とが予め格納されているものとする。
【0066】
図9に示すように、まず、配信サーバ管理装置1の配信参加要求受信部101は、受信装置2(ここでは、受信装置2(2a)とする。)からIPコンテンツの配信を要求する配信参加要求を受信する(ステップS10)。そして、配信参加要求受信部101は、受信した配信参加要求を配信サーバ情報送信部102に出力する。
【0067】
続いて、配信サーバ情報送信部102は、記憶部12内に格納され、各配信サーバ3の接続先(アドレス)を示す配信サーバ情報110(
図3)を、配信参加要求を送信してきた受信装置2(2a)に送信する(ステップS11)。
【0068】
次に、配信サーバ管理装置1の配信サーバRTT情報受信部103は、受信装置2から配信サーバRTT情報210(
図8)を受信し、記憶部12内の受信装置RTT情報120(
図4)に格納する(ステップS12)。
【0069】
そして、配信サーバ管理装置1の配信サーバ振り分け処理部104は、配信サーバRTT情報受信部103により、受信装置RTT情報120に新たな配信サーバRTT情報210が格納されたことを契機として、配信サーバ振り分け処理を実行する(ステップS13)。この配信サーバ振り分け処理において、配信サーバ振り分け処理部104は、受信装置RTT情報120に格納された新たな配信サーバRTT情報210に示される、受信装置2(2a)と各配信サーバ3との間のRTTの値、および、配信サーバ処理装置数情報130に基づき、各配信サーバ3が担当する受信装置2のRTTの割合(所定の時間間隔で区分したカテゴリにおける受信装置数)について偏りが低減されるように、受信装置2(2a)に接続する配信サーバ3を決定する。なお、この配信サーバ振り分け処理の詳細は、後記する
図10において説明する。
【0070】
続いて、配信サーバ振り分け処理部104は、記憶部12内の配信先受信装置情報140(
図6)に、決定した配信サーバ3の配信先として配信参加要求を送信してきた受信装置2(2a)を登録する(ステップS14)。具体的には、配信サーバ振り分け処理部104は、決定した配信サーバ3の配信サーバID141に対応付けて、IPコンテンツの配信先となる受信装置(接続先)142およびRTT143を格納する。
【0071】
また、配信サーバ振り分け処理部104は、決定した配信サーバ3の配信サーバ処理装置数情報130(
図5)を更新する(ステップS15)。具体的には、配信サーバ振り分け処理部104は、決定した配信サーバ3の配信サーバ処理装置数情報130のそのRTTのカテゴリ132に対応する受信装置数133に「1」を加える更新を行う。
【0072】
次に、配信サーバ管理装置1の接続先配信サーバ情報送信部105は、配信先受信装置情報140(
図6)に新たな受信装置2が登録されたことを契機として、配信先受信装置情報140を参照し、配信サーバ振り分け処理部104が決定した接続先となる配信サーバ3を示す情報を接続先配信サーバ情報として、配信参加要求を送信してきた受信装置2(2a)に対し送信し(ステップS16)、処理を終える。
【0073】
〔配信サーバ振り分け処理〕
次に、配信サーバ管理装置1の配信サーバ振り分け処理部104が行う配信サーバ振り分け処理(
図9のステップS13)について詳細に説明する。
図10は、本実施形態に係る配信サーバ管理装置1の配信サーバ振り分け処理部104が行う配信サーバ振り分け処理を示すフローチャートである。
なお、ここでは、
図9のステップS12において、配信サーバ管理装置1の配信サーバRTT情報受信部103が、
図8に例示する配信サーバRTT情報210(配信サーバ「A」との間のRTTの値「12ms」,配信サーバ「B」との間のRTTの値「18ms」,配信サーバ「C」との間のRTTの値「25ms」)を受信装置2(2a)から受信し、記憶部12内の受信装置RTT情報120(
図4)の受信装置ID「6」に示すように格納したものとして説明する。また、配信サーバ3の数(配信サーバの総数)は、配信サーバ「A」,「B」,「C」で示される「3」であるものとして説明する。
【0074】
配信サーバ振り分け処理部104は、受信装置RTT情報120(
図4)に、新たな情報(受信装置IDおよび各配信サーバ3との間のRTTを示す配信サーバRTT情報210)が追加されたことを契機として、以下に示す、配信サーバ振り分け処理を実行する。
この配信サーバ振り分け処理において、配信サーバ振り分け処理部104は、まず、受信装置RTT情報120(
図4)を参照し、各配信サーバ3との間のRTTの値を取得する。そして、配信サーバ振り分け処理部104は、配信サーバ3毎の配信サーバ処理装置数情報(
図5)を参照し、配信サーバ3それぞれとの間のRTTの計測結果(配信サーバRTT情報210)に対応する区分を特定する。続いて、その特定した区分の受信装置数133が最も少ない配信サーバ3を、配信参加要求を送信してきた受信装置2の接続先として決定する。また、配信サーバ振り分け処理部104は、接続先として決定した配信サーバ3との間のRTTの計測結果が、所定の基準値(後記する「RTT
def」)以上である場合に、特定した区分の受信装置数133が最も少ない前記配信サーバ3ではなく、最も少ない配信サーバ3から順にその次に受信装置数が少ない配信サーバ3を抽出し、当該抽出した配信サーバ3との間のRTTの計測結果が所定の基準値未満である場合に、その抽出した配信サーバ3を、配信参加要求を送信してきた受信装置2の接続先として決定してもよい。以下、
図10を参照して詳細に説明する。
【0075】
まず、配信サーバ振り分け処理部104は、受信装置RTT情報120(
図4)を参照し、新たに登録された受信装置2に関する各配信サーバ3との間のRTTの値を取得する(ステップS20)。
ここでは、配信サーバ振り分け処理部104は、受信装置RTT情報120から、新たに登録された情報として、受信装置IDが「6」の受信装置2(2a)について、配信サーバ「A」との間のRTTの値が「12ms」、配信サーバ「B」との間のRTTの値が「18ms」、配信サーバ「C」との間のRTTの値が「25ms」であることを示す情報を取得する。
【0076】
次に、配信サーバ振り分け処理部104は、
図5に示す各配信サーバ3の配信サーバ処理装置数情報130(130a,130b,130c)を参照し、配信サーバ3毎に、ステップS20において取得したRTTの値について、
図5に示すカテゴリ132(RTTの所定の時間間隔での区分)を確定し、対応する受信装置数133を取得する(ステップS21)。
【0077】
具体的には、配信サーバ振り分け処理部104は、まず、ステップS20において取得した情報のうち、配信サーバ「A」との間のRTTの値「12ms」について、
図5(a)に示す配信サーバ処理装置数情報130(130A)を参照し、そのRTTの値「12ms」を含むカテゴリ132が「10ms−15ms」(10ms以上15ms未満)であることを確定し、対応する受信装置数133として「8」を取得する。次に、配信サーバ振り分け処理部104は、配信サーバ「B」との間のRTTの値「18ms」について、
図5(b)に示す配信サーバ処理装置数情報130(130B)を参照し、そのRTTの値「18ms」を含むカテゴリ132が「15ms−20ms」(15ms以上20ms未満)であることを確定し、対応する受信装置数133として「10」を取得する。続いて、配信サーバ振り分け処理部104は、配信サーバ「C」との間のRTTの値「25ms」について、
図5(c)に示す配信サーバ処理装置数情報130(130C)を参照し、そのRTTの値「25ms」を含むカテゴリ132が「25ms−30ms」(25ms以上30ms未満)であることを確定し、対応する受信装置数133として「9」を取得する。
【0078】
つまり、仮に接続先を配信サーバ「A」とした場合に含まれるカテゴリ132での現時点の受信装置数133は「8」であり、仮に接続先を配信サーバ「B」とした場合に含まれるカテゴリ132での現時点の受信装置数133は「10」であり、仮に接続先を配信サーバ「C」とした場合に含まれる現時点の受信装置数133は「9」である。
【0079】
続いて、配信サーバ振り分け処理部104は、ステップS21において取得した各配信サーバ3の受信装置数133を少ない順にソートし、接続先として選択する配信サーバ3の優先順位(n)を決定する(ステップS22)。
ここで、配信サーバ振り分け処理部104は、受信装置数133が「8」であり、受信装置数133が最も少ない配信サーバ「A」を優先順位n=1に決定する(
図5(a)の符号134A参照)。受信装置数133が「9」であり、2番目に受信装置数133が少ない配信サーバ「C」を優先順位n=2に決定する(
図5(c)の符号134C参照)。また、受信装置数133が「10」であり、3番目に受信装置数133が少ない配信サーバ「B」を優先順位n=3に決定する(
図5(b)の符号134B参照)。なお、受信装置数133が同数の場合は、同数の配信サーバ3の中から、ランダムに優先順位nの順を決定する。
【0080】
このように優先順位(n)を決定することにより、各配信サーバ3の該当するカテゴリ132における受信装置数133が少ない配信サーバ3から順に、新たに配信する受信装置2を振り分けることができる。これにより各配信サーバ3において、あるRTTの値周辺の受信装置2の配信が集中することを防ぐことができる。
【0081】
次に、配信サーバ振り分け処理部104は、初期値としてn=1(優先順位1番目)を抽出する(ステップS23)。
【0082】
続いて、配信サーバ振り分け処理部104は、以下の(式1)の条件を満たすか否かを判定する(ステップS24)。ここで、maxは、配信サーバ3の総数である。
n ≦ max … (式1)
【0083】
そして、(式1)の条件を満たす場合には(ステップS24→Yes)、次のステップS25に進み、(式1)の条件を満たさない場合には(ステップS24→No)、ステップS28に進む。
ここでは、配信サーバ振り分け処理部104は、n=1であり、配信サーバ3の総数(max)は「3」であるので、(式1)を満たすものとして(ステップS24→Yes)、ステップS25に進む。
【0084】
次に、配信サーバ振り分け処理部104は、以下の(式2)の条件を満たすか否かを判定する(ステップS25)。ここで、RTT
nは、n番目の配信サーバ3のRTTの値を示す。また、RTT
defは、配信サーバ振り分け処理の対象となるRTTの基準値を示す。
RTT
n < RTT
def … (式2)
【0085】
そして、(式2)の条件を満たす場合には(ステップS25→Yes)、次のステップS26に進み、(式2)の条件を満たさない場合には(ステップS25→No)、ステップS27に進む。
【0086】
このRTT
defは、配信サーバ3の故障等により極端にRTT(往復遅延時間)の値が大きい配信サーバ3への振り分けを除外するために設定するものである。最もRTTが大きな受信装置2に合わせてしまうと、配信システム全体が遅延してしまうことになってしまう。よって、例え、受信装置数133が少ない配信サーバ3であっても、RTTの値が基準値(RTT
def)以上の場合、つまり、他のRTTの値に比べ極端にRTTの値が大きい場合には、その配信サーバ3を接続先に決定しないようにするものである。
【0087】
配信サーバ振り分け処理部104は、(式2)の条件を満たす場合(ステップS25→Yes)、つまり、n番目のRTTの値(RTT
n)が、基準値(RTT
def)未満である場合には、その優先順位n番目の配信サーバ3を接続先に決定する(ステップS26)。一方、(式2)の条件を満たさない場合(ステップS25→No)、つまり、n番目のRTTの値(RTT
n)が、基準値(RTT
def)以上である場合には、ステップS27へ進み、nに「1」を加えて(n=n+1)、ステップS24に戻って処理を続ける。
なお、基準値(RTT
def)は、例えば、
図5に示す配信サーバ処理装置数情報130のカテゴリ132の区分の最大値である「35ms」とする。また、この基準値(RTT
def)は、ネットワーク管理者等により設定され、配信サーバ管理装置1の記憶部12に予め記憶させておくものとする。
【0088】
ここで、配信サーバ振り分け処理部104は、n=1(優先順位1番目)の配信サーバ3(配信サーバ「A」)との間のRTTの値が「12ms」であり、基準値(RTT
def)の「35ms」より小さいため、(式2)の条件を満たし(ステップS25→Yes)、次のステップS26に進み、n=1(1番目)の配信サーバ3(配信サーバ「A」)を接続先の配信サーバ3に決定する。
【0089】
そして、配信サーバ振り分け処理部104は、配信サーバ振り分け処理を終了し、
図9のステップS14以降の処理を行う。
【0090】
また、配信サーバ振り分け処理部104は、ステップS25において(式2)の条件を満たさない場合(ステップS25→No)、仮に、配信サーバ3との間のRTTの値が「40ms」であるとすると、ステップS27に進み、nに「1」を加えて(n=n+1)、次の優先順位の配信サーバ3について、ステップS24以降の処理を続ける。
【0091】
また、配信サーバ振り分け処理部104は、ステップS24において(式1)の条件を満たさない場合(ステップS24→No)、つまり、優先順位(n)が配信サーバ3の総数を超えたとき(このときは、ステップS25においてRTTの値が全て基準値(RTT
def)以上の場合である。)は、ステップS28において、受信装置RTT情報120を参照し、RTTの値が最も小さい配信サーバ3を、接続先となる配信サーバ3に決定する。そして、配信サーバ振り分け処理部104は、配信サーバ振り分け処理を終了し、
図9のステップS14以降の処理を行う。
【0092】
このようにすることにより、配信サーバ振り分け処理部104は、各配信サーバ3の該当するカテゴリ132における受信装置数133が少ない配信サーバ3から順に、新たに配信する受信装置2を決定することができる。よって、各配信サーバ3において、あるRTTの値周辺の受信装置2の配信が集中することを防ぐことができる。
【0093】
このように、本実施形態に係る配信サーバ管理装置1によれば、受信装置数が少ない順に接続先となる配信サーバ3を決定することにより、各配信サーバ3において、受信装置2のRTTの偏りを抑制することができる。
また、配信サーバ管理装置1は、受信装置数が少ない配信サーバ3であっても、RTTの値(計測結果)が、所定の基準値以上である場合に、その配信サーバ3を接続先に決定しないことができる。よって、その配信サーバ3が担当する受信装置2への配信全体の遅延を防ぐことができる。
【0094】
≪受信装置2の動作≫
次に、受信装置2の動作について説明する。
図11は、本実施形態に係る受信装置2の動作を示すフローチャートである。
【0095】
まず、受信装置2の配信参加要求送信部201は、配信サーバ管理装置1に対して配信参加要求を送信する(ステップS30)。
【0096】
次に、受信装置2の配信サーバ情報受信部202は、配信サーバ管理装置1から配信サーバ情報110(
図3)を受信する(ステップS31)。そして、配信サーバ情報受信部202は、その配信サーバ情報110をRTT計測部203に出力する。
【0097】
続いて、RTT計測部203は、配信サーバ情報受信部202から受け取った配信サーバ情報110に示される各配信サーバ3との間で、RTT(往復遅延時間)を計測し、記憶部22内に配信サーバRTT情報210(
図8)として格納する(ステップS32)。
【0098】
そして、配信サーバRTT情報送信部204は、記憶部22に記憶された配信サーバRTT情報210に、その受信装置2自身の受信装置IDを付して、配信サーバ管理装置1に送信する(ステップS33)。
【0099】
次に、接続先配信サーバ情報受信部205は、配信サーバ管理装置1から、接続先となる配信サーバ3を示す接続先配信サーバ情報を受信する(ステップS34)。そして、接続先配信サーバ情報受信部205は、その受信した接続先配信サーバ情報をコンテンツ受信制御部206に出力する。
【0100】
続いて、コンテンツ受信制御部206は、接続先配信サーバ情報受信部205から受け取った接続先配信サーバ情報に示される配信サーバ3との間でセッションを確立する(ステップS35)。そして、コンテンツ受信制御部206は、セッションを確立した配信サーバ3からIPコンテンツを受信する(ステップS36)。
【0101】
次に、コンテンツ受信制御部206は、受信したIPコンテンツの配信が終了したか否かを判定する(ステップS37)。そして、配信が終了していない場合には(ステップS37→No)、ステップS36に戻り、IPコンテンツの受信を継続する。一方、配信が終了している場合には(ステップS37→Yes)、次のステップS38に進む。
【0102】
ステップS38において、コンテンツ受信制御部206は、セッションを確立していた配信サーバ3に切断要求を送信し、処理を終了する。
【0103】
このように、本実施形態に係る受信装置2によれば、配信サーバ管理装置1から配信サーバ情報110を受信して、配信サーバ3それぞれとの間のRTTを計測し、配信サーバ管理装置1に送信することができる。また、受信装置2は、配信サーバ管理装置1が決定した配信サーバ3との間でセッションを確立することにより、他の受信装置2との間における配信遅延のばらつきが抑制された状態でIPコンテンツを受信することができる。
【0104】
以上、本発明の実施形態について説明したが、本発明は、ここで説明した実施形態に限定されるものではない。
例えば、受信装置2のRTT計測部203は、各配信サーバ3との間のRTT(往復遅延時間)を計測するものとしたが、各配信サーバ3において時刻を同期させた計時手段を備えさせ、受信装置2から受信したメッセージの受信時刻を計時し、その受信時刻を配信サーバ3それぞれから受信装置2に返信させるようにしてもよい。つまり、RTT(往復遅延時間)ではなく、片方向の遅延時間を計測することによりRTTの代わりとしてもよい。