IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

<>
  • 特許-配信経路決定装置およびそのプログラム 図1
  • 特許-配信経路決定装置およびそのプログラム 図2
  • 特許-配信経路決定装置およびそのプログラム 図3
  • 特許-配信経路決定装置およびそのプログラム 図4
  • 特許-配信経路決定装置およびそのプログラム 図5
  • 特許-配信経路決定装置およびそのプログラム 図6
  • 特許-配信経路決定装置およびそのプログラム 図7
  • 特許-配信経路決定装置およびそのプログラム 図8
  • 特許-配信経路決定装置およびそのプログラム 図9
  • 特許-配信経路決定装置およびそのプログラム 図10
  • 特許-配信経路決定装置およびそのプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】配信経路決定装置およびそのプログラム
(51)【国際特許分類】
   H04W 28/04 20090101AFI20240502BHJP
   H04W 4/06 20090101ALI20240502BHJP
   H04W 40/12 20090101ALI20240502BHJP
   H04W 76/14 20180101ALI20240502BHJP
   H04W 92/18 20090101ALI20240502BHJP
【FI】
H04W28/04
H04W4/06
H04W40/12
H04W76/14
H04W92/18
【請求項の数】 6
(21)【出願番号】P 2020122539
(22)【出願日】2020-07-17
(65)【公開番号】P2022019019
(43)【公開日】2022-01-27
【審査請求日】2023-06-05
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】森 翔平
(72)【発明者】
【氏名】関口 頌一朗
(72)【発明者】
【氏名】西村 敏
(72)【発明者】
【氏名】山本 正男
【審査官】伊藤 嘉彦
(56)【参考文献】
【文献】特開2011-160023(JP,A)
【文献】特表2010-533321(JP,A)
【文献】米国特許出願公開第2020/0026606(US,A1)
【文献】特開2016-015730(JP,A)
【文献】特開2006-005746(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04W 4/00 - 99/00
H04B 7/24 - 7/26
H04L 45/00
H04L 67/00
H04N 7/00
(57)【特許請求の範囲】
【請求項1】
端末装置が配信サーバから配信される配信データの欠落データを他の端末装置との直接通信により補完するための端末装置の組を決定する配信経路決定装置であって、
前記端末装置から前記欠落データの有無を示す受信状況情報を収集する受信状況収集部と、
前記受信状況情報に基づいて、前記欠落データのうちで、端末装置間の直接通信で補完可能なデータ数を、経路コストとして算出する経路コスト算出部と、
端末装置の組のそれぞれにおいて直接通信を行うか否かを変数として、より少ない端末装置の組で前記データ数を最大化する数理モデルを生成する数理モデル化部と、
前記数理モデルで前記欠落データを補完するデータを予め定めた制約条件で最大化する前記数理モデルの変数の解を計算するモデル変数計算部と、
前記モデル変数計算部で計算された変数の解に基づいて、直接通信を行う端末装置の組を決定する経路決定部と、
前記経路決定部で決定された端末装置の組を配信経路情報として対応する端末装置に通知する配信経路通知部と、
を備えることを特徴とする配信経路決定装置。
【請求項2】
前記数理モデル化部は、
関数値が最小化されることで、前記欠落データのうちで、端末装置間の直接通信で補完可能なデータを最大化する特性を有する目的関数を生成する目的関数定式化部と、
関数値が最小化されることで、前記欠落データを補完する端末装置の組の数を予め定めた数で制約する特性を有する制約関数を生成する制約関数定式化部と、を備え、
前記モデル変数計算部は、前記目的関数と前記制約関数とを加算した全体関数を前記数理モデルとし、前記数理モデルを最小化する前記変数の解を計算することを特徴とする請求項1に記載の配信経路決定装置。
【請求項3】
前記モデル変数計算部は、前記目的関数と前記制約関数とをバランス係数を乗じて加算して前記変数の解を計算し、
前記解を用いた前記目的関数および前記制約関数の値がそれぞれ予め定めた閾値以下となるように、前記バランス係数を調整し、前記数理モデルの解を求める計算を繰り返すことを特徴とする請求項2に記載の配信経路決定装置。
【請求項4】
前記制約関数は、1台の端末装置が直接通信で接続する端末装置の接続数に制約を課す関数と、すべての端末装置が直接通信で接続する端末装置の接続総数に制約を課す関数とのいずれか、または、それらを加算した関数であることを特徴とする請求項2または請求項3に記載の配信経路決定装置。
【請求項5】
前記数理モデルは、制約なし二次形式二値変数最適化表現、または、イジングモデル表現で表されたモデルであることを特徴とする請求項1から請求項4のいずれか一項に記載の配信経路決定装置。
【請求項6】
コンピュータを、請求項1から請求項5のいずれか一項に記載の配信経路決定装置として機能させるための配信経路決定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ配信を補完するための端末装置間の経路を決定する配信経路決定装置およびそのプログラムに関する。
【背景技術】
【0002】
従来、映像、音声等のデータを配信する通信経路として、インターネットに加えて、端末装置間の直接通信によってデータを授受する手法が知られている。
例えば、データを複数のモバイル端末に配信する際に、配信途中で欠落したデータを、端末装置間の直接通信により補完する技術が開示されている(特許文献1,非特許文献1参照)。
この技術は、多数のモバイル端末がコンテンツ配信サーバからデータを受信する際に、欠落データを、他のデータ受信済のモバイル端末から取得することで、ネットワークの通信速度の低下を抑え、安定した大規模なデータ配信を可能としている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2014/057595号
【非特許文献】
【0004】
【文献】“NEC、世界初、モバイル端末のみで大規模な情報配信ネットワークを構築する技術を開発”、[online]、[令和2年7月7日検索]、インターネット<URL:https://jpn.nec.com/press/201312/20131203_01.html>
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の端末装置間でデータを補完する技術は、端末装置がデータ補完可能な端末を探索するため、端末装置の処理負荷が大きいという問題とともに、端末数が増大した場合、端末装置間の直接通信に用いるネットワークの輻輳、電波干渉等が発生するという問題がある。
この問題を解決する一手法として、端末装置間の直接通信において、物理的に近い、電波強度が大きい等の条件に基づいて少数の端末装置間で接続を行うことも考えられる。しかし、この手法では、十分に欠落データを補完することができないという問題が発生してしまう。
【0006】
本発明は、このような従来技術の問題点に鑑みてなされたもので、直接通信する端末装置の数を抑えて、端末装置間の欠落データを補完可能な経路を決定する配信経路決定装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
前記課題を解決するため、本発明に係る配信経路決定装置は、端末装置が配信サーバから配信される配信データの欠落データを他の端末装置との直接通信により補完するための端末装置の組を決定する配信経路決定装置であって、受信状況収集部と、経路コスト算出部と、数理モデル化部と、モデル変数計算部と、経路決定部と、配信経路通知部と、を備える構成とした。
【0008】
かかる構成において、配信経路決定装置は、受信状況収集部によって、端末装置から予め定めたデータ量ごとの欠落データの有無を示す受信状況情報を収集する。例えば、受信状況収集部は、端末装置からパケット単位で欠落の有無を二値の情報で収集する。
そして、配信経路決定装置は、経路コスト算出部によって、受信状況収集部で収集された受信状況情報に基づいて、欠落データのうちで、端末装置間の直接通信で補完可能なデータ数を、経路コストとして算出する
【0009】
そして、配信経路決定装置は、数理モデル化部によって、端末装置の組のそれぞれにおいて直接通信を行うか否かを変数として、より少ない端末装置の組でデータ数を最大化する数理モデルを生成する。この数理モデルは、二次形式二値変数最適化表現、または、イジングモデル表現で表すことができる。
さらに、配信経路決定装置は、モデル変数計算部によって、数理モデルで欠落データを補完するデータを予め定めた制約条件で最大化する数理モデルの変数の解を計算する。このモデル変数計算部は、数理モデルの最適化問題を求解する計算を行うことで、変数の解を求める。
そして、配信経路決定装置は、経路決定部によって、モデル変数計算部で計算された変数の解に基づいて、直接通信を行う端末装置の組を決定する。
【0010】
そして、配信経路決定装置は、配信経路通知部によって、経路決定部で決定された端末装置の組を配信経路情報として対応する端末装置に通知する。
これによって、配信経路情報を通知された端末装置の組だけで直接通信により、欠落データの補完が行われることになる。
なお、配信経路決定装置は、コンピュータを、前記した各機能部として機能させるための配信経路決定プログラムで動作させることができる。
【発明の効果】
【0011】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、直接通信する端末装置の数を制限して、端末装置間の欠落データを補完可能な経路を決定することができる。
これによって、本発明によれば、ネットワークの負荷を抑えて、安定した大規模なデータ配信を行うことが可能になる。
【図面の簡単な説明】
【0012】
図1】本発明の実施形態に係る配信経路決定装置を含む配信システムの構成例を示すブロック図である。
図2】本発明の実施形態に係る配信経路決定装置の構成例を示すブロック図である。
図3図2の経路コスト算出部における経路コストの算出処理を説明するための説明図であって、(a)は1台の端末装置と直接通信する例、(b)は2台の端末装置と直接通信する例を示す。
図4図2の数理モデル化部の構成例を示すブロック図である。
図5図4の目的関数定式化部が生成する目的関数のパラメータ行列の例を示す図である。
図6図4の第1制約関数定式化部が生成する第1制約関数のパラメータ行列の例を示す図である。
図7図4の第2制約関数定式化部が生成する第2制約関数のパラメータ行列の例を示す図である。
図8図2の経路決定部における経路の決定処理を説明するための説明図である。
図9】本発明の実施形態に係る配信経路決定装置の動作を示すフローチャートである。
図10図2の数理モデル化部の他の構成例を示すブロック図である。
図11図10の第3制約関数定式化部が生成する第3制約関数のパラメータ行列の例を示す図である。
【発明を実施するための形態】
【0013】
[配信経路決定装置を含む配信システムの全体構成]
まず、図1を参照して、本発明の実施形態に係る配信経路決定装置を含む配信システムの全体構成について説明する。
【0014】
配信システムSは、データを配信サーバ1から端末装置2に配信するものである。図1に示すように、配信システムSは、配信サーバ1と、複数の端末装置2と、配信経路決定装置3と、計算機4と、を備える。
【0015】
配信サーバ1は、データを格納し、端末装置2からの要求に応じたデータを、ネットワークNを介して配信するものである。データは、どのようなデータでもよく、例えば、映像、画像、音声、文書等である。
【0016】
端末装置2は、配信サーバ1にデータを要求し、ネットワークNを介して受信するものである。ここでは、端末装置2として、4台(2,2,2,2)例示しているが、この台数は、4台に限定されるものではない。
端末装置2は、データを受信中に、ネットワークNを介して受信状況情報を配信経路決定装置3に通知する。そして、端末装置2は、配信経路決定装置3から通知される配信経路情報に基づいて、ネットワークNを介して他の端末装置と直接通信を行う。他の端末装置と直接通信を行うことで、端末装置2は、配信サーバ1から配信途中に消失したデータを補完する。
この端末装置2は、通信機能を有する端末であれば、特に限定するものではないが、例えば、スマートフォン端末、タブレット端末、パーソナルコンピュータ、ウェアラブル端末等である。
【0017】
端末装置2が配信経路決定装置3に通知する受信状況情報は、予め定めたデータ単位(例えば、IPパケット、UDPセグメント等)ごとに、受信に成功したか否かを示す情報である。ここでは、以下の式(1)に示すh[i]の配列で、受信状況情報を表すこととする。
【0018】
【数1】
【0019】
ここで、iは端末装置2の識別値であって、図1の例では、i=1,2,3,4である。また、h[i]の要素“0”は、予め定めたデータ単位で受信に失敗したことを示し、要素“1”は、予め定めたデータ単位で受信に成功したことを示す。
また、受信状況情報のサイズ(データ単位の個数)は任意であるが、式(1)では、“10”の例を示している。
【0020】
配信経路決定装置3は、端末装置2からネットワークNを介して通知される受信状況情報に基づいて、欠落データを取得するための直接通信を行う端末装置の組を決定し、配信経路情報として、端末装置2に通知するものである。
例えば、端末装置2が、端末装置2j1および端末装置2j2から、欠落データを取得可能である場合、配信経路決定装置3は、端末装置2に対する配信経路情報r[i]を、以下の式(2)に示すように、直接通信を行う端末装置を列挙する。
【0021】
【数2】
【0022】
配信経路決定装置3は、直接通信を行う端末装置の組を、組合せ最適化問題の数理モデルとして定式化し、数理モデルの解を計算機4で求める。
ここでは、配信経路決定装置3は、数理モデルHを以下の式(3)に示すQUBO(Quadratic unconstrained binary optimization:制約なし二次形式二値変数最適化)表現で構築する。
【0023】
【数3】
【0024】
ここで、x[a],x[b]は、ベクトルxのa番目およびb番目の要素であり、端末装置間で端末間通信を行うか否かを示す二値変数である。Q[a,b]は、パラメータ行列Qのa行目b列目の要素であり、二値変数の積x[a],x[b]の係数となる。
配信経路決定装置3は、式(3)の数理モデルHを最小化するx[a],x[b]の組を、計算機4を用いて計算する。
なお、数理モデルHは、QUBO表現以外にも、それと等価なイジングモデル表現を用いてもよい。
この配信経路決定装置3については、あとで詳細に説明する。
【0025】
計算機4は、配信経路決定装置3で生成される数理モデルの解を計算により求めるものである。
計算機4は、配信経路決定装置3で生成される数理モデルの解を計算するものであれば、どのような計算機でもよい。例えば、計算機4は、QUBOやイジングモデルを求解するアニーリング方式の計算機である。
なお、計算機4は、独立した構成とする必要はなく、配信経路決定装置3の内部に備える構成としてもよい。
【0026】
ネットワークN,N,Nは、有線または無線のネットワーク回線である。ネットワークN,N,Nは、同一の規格を用いてもよいし、異なる規格を用いてもよい。ただし、ネットワークの輻輳、電波干渉等を回避するため、異なる規格のネットワークを用いることが好ましい。例えば、ネットワークNにEthernet(登録商標)を利用し、ネットワークNにWi-Fi(登録商標)を利用し、ネットワークNにBluetooth(登録商標)を利用する。
以下、本発明の実施形態に係る配信経路決定装置の構成および動作について説明する。
【0027】
[配信経路決定装置の構成]
図2を参照(適宜図1参照)して、本発明の実施形態に係る配信経路決定装置3の構成について説明する。
配信経路決定装置3は、記憶部MEと、通信部NCと、制御部CLと、を備える。
【0028】
記憶部MEは、配信経路決定プログラムPを記憶するROM(Read Only Memory)等の記憶媒体である。配信経路決定プログラムPは、図示を省略したRAM(Random Access Memory)に展開されて動作することで、制御部CLの機能を実現する。
【0029】
通信部NCは、ネットワークNを介して、端末装置2との間で通信を行うものである。通信部NCは、端末装置2から受信した受信状況情報を制御部CLに出力する。また、通信部NCは、制御部CLから入力した配信経路情報を指定された端末装置2に送信する。
【0030】
制御部CLは、配信経路決定プログラムPの動作によって機能する機能ブロックである。制御部CLは、機能ブロックとして、受信状況収集部30と、経路最適化部31と、配信経路通知部32と、を備える。
【0031】
受信状況収集部30は、通信部NCを介して、端末装置2から予め定めたデータ量ごとの欠落データの有無を示す受信状況情報を収集するものである。
この受信状況収集部30は、式(1)に示した受信状況情報を端末装置2ごとに収集し、図示を省略したメモリ等に格納する。受信状況収集部30は、経路最適化部31からの要求に応じて、端末装置2ごとの受信状況情報を経路最適化部31に出力する。
【0032】
経路最適化部31は、受信状況収集部30で収集された受信状況情報から、数理モデルを構築し、その解を求めることで、欠落データを取得するための直接通信を行う端末装置の組を決定するものである。
【0033】
経路最適化部31は、経路コスト算出部31aと、数理モデル化部31bと、モデル変数計算部31cと、経路決定部31dと、を備える。
【0034】
経路コスト算出部31aは、受信状況収集部30で収集された受信状況情報に基づいて、端末装置間で直接通信を行った場合の経路コストを算出するものである。
経路コストは、ある端末装置2(例えば、端末装置2)が欠落データを他の端末装置2(例えば、端末装置2,2,2)から補完可能なデータ数(パケット数)である。
ここで、図3を参照して、経路コスト算出部31aの経路コストの算出例について説明する。ここでは、端末装置2が4台(2,2,2,2)の場合を例として説明する。個々の端末装置2,2,2,2の受信状況情報h[1],h[2],h[3],h[4]が、以下の式(4)であったとする。
【0035】
【数4】
【0036】
図3(a)は、端末装置2が他の1台の端末装置2,2,2と直接通信を行う場合の経路を示している。
端末装置2(i∈1,…,4)の欠落データのうち、1台の端末装置2j1(j1∈1,…,4、ただし、j1≠i)から補完可能なパケット数Q1[i,j1]は、以下の式(5)で表される。
【0037】
【数5】
【0038】
ここで、AND(f,g,…)は、等しいサイズの2つ以上の任意のベクトルf,g,…の要素ごとの論理積をとったベクトルである。NOT(f)は、任意のベクトルfの要素ごとの論理否定をとったベクトルである。||f||は、任意のベクトルfのL0ノルムであって、非零要素の個数を表す。
端末装置2,2,2,2の受信状況情報が前記式(4)で表されるとき、端末装置2の欠落データのうち、端末装置2,2,2からそれぞれ補完可能なパケット数Q1[1;2],Q1[1;3],Q1[1;4]は、以下の式(6)で表される。
【0039】
【数6】
【0040】
図3(b)は、端末装置2が他の2台の端末装置2と直接通信を行う場合の経路を示している。
端末装置2(i∈1,…,4)の欠落データのうち、2台の端末装置2j1,2j2(j1,j2∈1,…,4、ただし、j1≠i,j2≠i,j1≠j2)から冗長に補完可能なパケット数Q2[i;j1,j2]は、以下の式(7)で表される。
【0041】
【数7】
【0042】
端末装置2,2,2,2の受信状況情報が前記式(4)で表されるとき、端末装置2の欠落データのうち、端末装置2,2、端末装置2,2、端末装置2,2からそれぞれ冗長に補完可能なパケット数Q2[1;2,3],Q2[1;2,4],Q2[1;3,4]は、以下の式(8)で表される。
【0043】
【数8】
【0044】
したがって、例えば、端末装置2が、端末装置2,2と直接通信を行う場合、端末装置2の欠落データのうち、補完可能な正味のパケット数は、以下の式(9)で求めることができる。
【0045】
【数9】
【0046】
以上の説明では、1台の端末装置2が1台または2台の端末装置2と直接通信を行う例を示した。3台以上のm台の端末装置2と直接通信を行う場合は、端末装置2の欠落データのうち、m台の端末装置2j1,…,2jmから冗長に補完可能なパケット数Qm[i;j1,…,jm]は、以下の式(10)で表される。
【0047】
【数10】
【0048】
経路コスト算出部31aは、収集した受信状況情報から、直接通信を行う端末装置2のすべての組について、前記式(5),式(7),式(10)により求められるパケット数Q1[i,j1],Q2[i;j1,j2],…,Qm[i;j1,…,jm]を経路コストとして算出する。
【0049】
図2に戻って、配信経路決定装置3の構成について説明を続ける。
経路コスト算出部31aは、算出した端末装置2ごとの経路コストを数理モデル化部31bに出力する。
【0050】
数理モデル化部31bは、端末装置の直接通信を行う組の有無を変数として、経路コストの数理モデルを生成するものである。
数理モデル化部31bは、経路コスト算出部31aで算出された、端末装置間を直接通信で接続した場合にかかる経路コストから、補完可能なデータをより少ない端末装置間の経路で最大化する数理モデルを生成する。
【0051】
ここで、図4を参照(適宜図1図2参照)して、数理モデル化部31bの構成についてさらに詳細に説明する。
図4に示すように、数理モデル化部31bは、目的関数定式化部310と、制約関数定式化部311(第1制約関数定式化部311a,第2制約関数定式化部311b)と、を備える。
【0052】
目的関数定式化部310は、欠落データを端末装置間の直接通信で補完可能なデータを最大化するための目的関数を生成するものである。
目的関数定式化部310は、経路コスト算出部31aで算出された経路コストを用いて、以下の式(11)により、目的関数Hoを生成する。
【0053】
【数11】
【0054】
ここで、x[i,j]は、端末装置2,2を直接通信で接続するときに“1”、接続しないときに“0”をとる二値変数であって、x[i,j]=x[j,i]である。任意のiおよびjにおいて、x[i,j]が“0”または“1”のいずれであるかを決定することが経路を決定することになる。
また、Σは、候補となるすべての端末装置2の台数分の総和をとる演算子である。Σ(j1,…,jm)は、候補となるすべての端末装置2からm台を重複なく選び出す順不同の組み合わせの総和をとる演算子である。i,j1,j2,…,jmは、それぞれ異なる端末装置2を識別する値である。n台の端末装置2が存在する場合、例えば、ΣΣj1は、n(n-1)通りの組み合わせの総和を表し、ΣΣ(j1,j2)は、n(n-1)(n-2)/2通りの組み合わせの総和を表す。
【0055】
なお、式(11)は、二値変数に対して、三次以上の項を含んだ表現(HOBO:Higher-order binary polynomial optimization)となるが、例えば、以下の参考文献に記載されているような既存手法を用いることで、HOBO表現をQUBO表現に変換することができる。
(参考文献)石川,“高階グラフカット”,「画像の認識・理解シンポジウム(MIRU2009)」,2009年7月
もちろん、計算機4としてHOBO表現を求解可能な計算機を用いる場合は、HOBO表現のままでもよい。
ここでは、1台の端末装置2が2台以下の端末装置2と直接通信で接続する例で説明する。この場合、目的関数定式化部310は、以下の式(12)により、目的関数Hoを生成する。
【0056】
【数12】
【0057】
この式(12)に示す目的関数Hoは、最小化されることで、欠落データのうち直接通信により補完可能なデータを最大化する目的をできる限り達成する働きをする。
目的関数定式化部310は、式(11)や式(12)で示す、パラメータ行列Qoの係数で特定される目的関数Hoをモデル変数計算部31cに出力する。
【0058】
目的関数を特定するパラメータ行列は、前記式(3)に示したQUBO表現のパラメータ行列Qに対応する。例えば、目的関数定式化部310は、式(12)を特定するパラメータ行列として、図5に示すパラメータ行列Qoを生成する。
図5に示すパラメータ行列Qoは、二値変数を行および列とし、対応する行列の要素に、式(12)で特定される経路コストを対応付けたものである。パラメータ行列Qoの空欄個所は“0”を示す。また、x[i,j]=x[j,i]であるため、ここでは、パラメータ行列Qoを、三角行列(上三角行列)としている。
なお、図5に示すパラメータ行列Qoは、端末装置2の台数が4台で、1台の端末装置2が2台以下の端末装置2と直接通信で接続する場合の例であるが、これに限定されず、前記式(11)から、他の条件で生成することも可能である。
【0059】
制約関数定式化部311(第1制約関数定式化部311a,第2制約関数定式化部311b)は、目的関数Hoに対して制約を与える関数を生成するものである。
【0060】
第1制約関数定式化部311aは、1台の端末装置2が直接通信で接続する端末装置2の接続台数を所定数とする制約を課すため制約関数(第1制約関数)を生成するものである。
第1制約関数定式化部311aは、経路コスト算出部31aで算出された経路コストと、予め設定された直接通信で接続する接続数mとを用いて、以下の式(13)により、第1制約関数Hc1を生成する。
【0061】
【数13】
【0062】
ここで、m以外の変数、演算子は、式(11)と同じである。
この式(13)に示す第1制約関数Hc1は、最小化されることで、1台の端末装置2が直接通信で接続する端末装置2の台数を所定台数とする制約をできる限り達成する働きをする。第1制約関数Hc1が“0”の場合、この制約が満足される。
【0063】
例えば、第1制約関数定式化部311aは、端末装置2の総数が4台の場合、式(13)を特定するパラメータ行列として、図6に示すパラメータ行列Qc1を生成する。
なお、図6に示すパラメータ行列Qc1は、端末装置2の台数が4台の場合の例であるが、これに限定されず、前記式(13)から、他の条件で生成することも可能である。
第1制約関数定式化部311aは、パラメータ行列Qc1で特定される第1制約関数Hc1をモデル変数計算部31cに出力する。
【0064】
第2制約関数定式化部311bは、すべての端末装置間の直接通信の接続総数を所定数とする制約を課すため制約関数(第2制約関数)を生成するものである。
第2制約関数定式化部311bは、経路コスト算出部31aで算出された経路コストと、予め設定された直接通信で接続する接続総数m_allとを用いて、以下の式(14)により、第2制約関数Hc2を生成する。
【0065】
【数14】
【0066】
ここで、m_all以外の変数、演算子は、式(11)と同じである。
この式(14)に示す第2制約関数Hc2は、最小化されることで、すべての端末装置間の直接通信の接続総数を所定台数とする制約をできる限り達成する働きをする。第2制約関数Hc2が“0”の場合、この制約が満足される。
【0067】
例えば、第2制約関数定式化部311bは、端末装置2の総数が4台の場合、式(14)を特定するパラメータ行列として、図7に示すパラメータ行列Qc2を生成する。
なお、図7に示すパラメータ行列Qc2は、端末装置2の台数が4台の場合の例であるが、これに限定されず、前記式(14)から、他の条件で生成することも可能である。
第2制約関数定式化部311bは、パラメータ行列Qc2で特定される第2制約関数Hc2をモデル変数計算部31cに出力する。
【0068】
このように、数理モデル化部31bは、目的関数Hoとともに、第1制約関数Hc1および第2制約関数Hc2を用いることで、以下の特性を持たせることができる。
端末装置2の数がn台、1台の端末装置2あたりの直接通信の接続数がm台であるとき、nおよびmの値によっては、式(13)の第1制約関数Hc1で表される、1台の端末装置2がm台の端末装置と直接通信で接続する制約を満足できない場合がある。
例えば、n=3およびm=1であるとき、第1制約関数Hc1は非零の値をとり前記の制約が満足されず、1台の端末装置2あたりの直接通信の接続数がm+1となり、mを超えてしまうことがあり得る。
【0069】
このとき、式(14)において、m_all=FLOOR(nm/2)とした第2制約関数Hc2を、式(13)の第1制約関数Hc1と同時に課すことで、1台の端末装置2あたりの接続数がmを超えない制約を課すことができる。ただし、FLOOR(f)は、任意の実数fに対してf以下の最大の整数を表す床関数である。
なお、制約関数定式化部311は、必ずしも第1制約関数定式化部311aおよび第2制約関数定式化部311bで構成する必要はなく、いずれか一方のみで構成してもよい。
図2に戻って、配信経路決定装置3の構成について説明を続ける。
【0070】
モデル変数計算部31cは、数理モデル化部31bで生成された数理モデルで欠落データを補完するデータを最大化する変数の解を、計算機4により計算するものである。
モデル変数計算部31cは、数理モデル化部31bで数理モデルとして生成されたパラメータ行列で特定される目的関数および制約関数を加算した全体関数を、計算機4に出力し、計算結果となる変数の解を取得する。
ここでは、モデル変数計算部31cは、目的関数Hoと制約関数Hc1,Hc2とを、バランス係数λ1,λ2を用いて加算し、以下の式(15)に示す全体関数Hとし、全体関数Hを最小化する変数x[i,j]の解の計算を、計算機4に指示する。
【0071】
【数15】
【0072】
バランス係数λ1,λ2は、制約関数Hc1,Hc2に課される制約条件の比重であって、その値が小さいほど制約が弱く、その値が大きいほど制約が強い。なお、バランス係数は、目的関数Hoに対して設定してもよい。
モデル変数計算部31cは、バランス係数λ1,λ2に初期値を設定し、計算機4に計算を実行させて、変数x[i,j]の解を取得する。ここでは、目的関数Hoの比重を大きくするため、バランス係数λ1,λ2の初期値は、十分小さな値とする。なお、制約関数Hc1,Hc2の一方を使用しない場合は、使用しない制約関数のバランス係数を“0”としておく。
【0073】
モデル変数計算部31cは、取得した変数の解を用いて、目的関数Hoと、制約関数Hc1,Hc2とを計算し、それぞれの関数の値(計算結果)が予め定めた閾値以下になるように、バランス係数を調整する。そして、モデル変数計算部31cは、バランス係数を調整する間、計算機4に全体関数Hの再計算(求解)を行う処理を繰り返す。
なお、この再計算には、繰り返し回数の上限を設けてもよい。これによって、設定した閾値の値によっては、計算結果が閾値以下とならない場合でも、計算を終了させることができる。
【0074】
このモデル変数計算部31cにおけるバランス係数の調整は、例えば、ある制約関数の値が予め定めた閾値以下でない場合、その制約関数のバランス係数を増加させることで、この制約関数に課される比重を重くする。これによって、制約関数の値を減少させることができる。
また、例えば、目的関数の値が予め定めた閾値以下でない場合、制約関数のバランス係数を減少させることで、この制約関数に課される比重を軽くする。これによって、目的関数への寄与度が大きくなって、目的関数の値を減少させることになる。
モデル変数計算部31cは、端末装置2の組[i,j]と、その組に対応する変数の解x[i,j]を経路決定部31dに出力する。
【0075】
経路決定部31dは、モデル変数計算部31cで計算された端末装置2の組に対応する変数x[i,j]の解に基づいて、直接通信を行う端末装置2の組を決定し、配信経路情報を生成するものである。
経路決定部31dは、変数x[i,j]の値が“1”となる端末装置2,2を、直接通信を行う端末装置2の組として決定する。そして、経路決定部31dは、決定した端末装置2の組の経路を配信経路情報として生成する。
例えば、前記式(15)の全体関数Hで表される数理モデルを最小値とする変数の解が以下の式(16)で表される解であったとする。
【0076】
【数16】
【0077】
これは、図8に示すように、端末装置2は端末装置2,2から欠落データを補完可能であり、端末装置2は端末装置2,2から欠落データを補完可能であり、端末装置2は端末装置2,2から欠落データを補完可能であり、端末装置2は端末装置2,2から欠落データを補完可能であることを示している。
この場合、経路決定部31dは、端末装置2の配信経路情報r[i]を、以下の式(17)として生成する。
【0078】
【数17】
【0079】
ここで、r[i]=(j1,j2)は、端末装置2と直接通信を行う端末装置2が、端末装置2j1,2j2であることを示す配信経路情報である。
経路決定部31dは、生成した配信経路情報を、配信経路通知部32に出力する。
【0080】
配信経路通知部32は、通信部NCを介して、経路決定部31dで生成された配信経路情報を端末装置2に通知するものである。
配信経路通知部32は、経路決定部31dで生成された配信経路情報r[i]を、対応する端末装置2ごとに、それぞれ通知する。
【0081】
以上説明したような構成ことで、配信経路決定装置3は、接続する端末装置2の数を制限して、端末装置間の欠落データを最大限補完可能な経路を決定することができる。
これによって、配信経路決定装置3は、配信サーバ1への再送処理を抑え、端末装置間の少ない経路で欠落データの補完を行うことを可能とするため、ネットワークの負荷を抑えて、安定した大規模なデータ配信を実現することができる。
【0082】
[配信経路決定装置の動作]
次に、図9を参照(適宜図1図2図4参照)して、本発明の実施形態に係る配信経路決定装置3の動作について説明する。
【0083】
ステップS1において、受信状況収集部30は、通信部NCを介して、端末装置2から受信状況情報h[i](前記式(1)参照)を収集する。このとき、受信状況収集部30は、端末装置2がn台の場合、n通りの受信状況情報h[i]を収集する。
【0084】
ステップS2において、経路最適化部31の経路コスト算出部31aは、ステップS1で収集された受信状況情報に基づいて、端末装置間で直接通信を行った場合の経路コストを算出する。ここでは、経路コスト算出部31aは、前記式(5),式(7),式(10)を用いて、直接通信を行う端末装置2のすべての組の候補について経路コストの算出を行い、Q1[i,j1],Q2[i;j1,j2],…,Qm[i;j1,…,jm]を得る。例えば、1台の端末装置2あたりの直接通信の接続数を2台以下とする場合、経路コスト算出部31aは、n(n-1)通りのQ1[i,j1]と、n(n-1)(n-2)/2通りのQ2[i;j1,j2]を算出する。
【0085】
ステップS3において、経路最適化部31の数理モデル化部31bは、ステップS2で算出された経路コストに基づいて、補完可能なデータをより少ない端末装置間の経路で最大化する数理モデルとして、目的関数および制約関数を定式化する。
このとき、数理モデル化部31bは、目的関数定式化部310によって、前記式(11)の目的関数Ho(変数およびパラメータ行列Qo〔図5参照〕)を生成する。また、数理モデル化部31bは、第1制約関数定式化部311aによって、前記式(13)の第1制約関数Hc1(変数およびパラメータ行列Qc1〔図6参照〕)を生成する。また、数理モデル化部31bは、第2制約関数定式化部311bによって、前記式(14)の第2制約関数Hc2(変数およびパラメータ行列Qc2〔図7参照〕)を生成する。
【0086】
ステップS4において、経路最適化部31のモデル変数計算部31cは、ステップS3で生成された目的関数Hoおよび制約関数Hc1,Hc2を、前記式(15)の全体関数Hを算出する際のバランス係数λ1,λ2の初期値を設定する。
【0087】
ステップS5において、モデル変数計算部31cは、ステップS3で生成された目的関数および制約関数と、ステップS4で設定された、あるいは、後記するステップS8,S10で調整されたバランス係数とを用いて、前記式(15)の全体関数Hを最小化する変数x[i,j]の解を、計算機4を用いて計算する。
【0088】
ステップS6において、モデル変数計算部31cは、全体関数Hを最小化する変数を計算する計算回数が予め定めた閾値以下か否かを判定する。
ここで、計算回数が予め定めた閾値以下の場合(ステップS6でYes)、配信経路決定装置3は、ステップS7に動作を進める。一方、計算回数が予め定めた閾値以下でない場合(ステップS6でNo)、配信経路決定装置3は、ステップS11に動作を進める。
【0089】
ステップS7において、モデル変数計算部31cは、ステップS5で求められた変数の解を用いて、制約関数(第1制約関数Hcl、第2制約関数Hc2)を計算し、制約関数の値が予め定めた閾値以下か否かを判定する。この制約関数の閾値は、厳密に制約を満足させたい場合は“0”とする。また、バランス係数が“0”に設定されている制約関数については、ステップS7の判定を行わないこととする。
ここで、制約関数の値が予め定めた閾値以下の場合(ステップS7でYes)、配信経路決定装置3は、ステップS9に動作を進める。一方、制約関数の値が予め定めた閾値以下でない場合(ステップS7でNo)、配信経路決定装置3は、ステップS8に動作を進める。
【0090】
ステップS8において、モデル変数計算部31cは、制約関数の値が予め定めた閾値以下である制約関数について、対応するバランス係数に予め定めた正の実数を加算することで、バランス係数を増加させる。例えば、第1制約関数Hc1の値のみが閾値以下でない場合、モデル変数計算部31cは、バランス係数λ1のみを増加させる。
そして、配信経路決定装置3は、ステップS5に動作を戻す。
【0091】
ステップS9において、モデル変数計算部31cは、ステップS5で求められた変数の解を用いて、目的関数Hoを計算し、目的関数の値が予め定めた閾値以下か否かを判定する。この目的関数の閾値は、例えば、前記式(1)の受信状況情報における“1”の割合から求められるデータ受信率が予め定めた率を超えるような値とし、運用時に適宜更新することとしてもよい。
ここで、目的関数の値が予め定めた閾値以下の場合(ステップS9でYes)、配信経路決定装置3は、ステップS11に動作を進める。一方、目的関数の値が予め定めた閾値以下でない場合(ステップS9でNo)、配信経路決定装置3は、ステップS10に動作を進める。
【0092】
ステップS10において、モデル変数計算部31cは、バランス係数に予め定めた負の実数を加算することで、バランス係数を減少させる。ここでは、モデル変数計算部31cは、第1制約関数Hc1および第2制約関数Hc2の両方のバランス係数λ1,λ2を減少させる。これによって、相対的に、目的関数の比重が大きくなる。
そして、配信経路決定装置3は、ステップS5に動作を戻す。
【0093】
ステップS11において、経路最適化部31の経路決定部31dは、ステップS5で求められた変数の解x[i,j](前記式(16)参照)に基づいて、直接通信を行う端末装置2の組を決定し、配信経路情報r[i](前記式(17)参照)を生成する。
【0094】
ステップS12において、配信経路通知部32は、通信部NCを介して、ステップS11で生成された配信経路情報r[i]を、対応する端末装置2ごとに、それぞれ通知する。
以上の動作によって、配信経路決定装置3は、接続する端末装置2の数を制限して、端末装置間の欠落データを補完するための経路を、端末装置2に通知することができる。
【0095】
以上、本発明の実施形態に係る配信経路決定装置3の構成および動作について説明したが、本発明はこの実施形態に限定されるものではない。
ここでは、数理モデル化部31bにおいて、制約関数を、第1制約関数Hc1と第2制約関数Hc2の2つとしたが、制約関数はこれらに限定されない。
例えば、ここでは、第1制約関数Hc1で、1台の端末装置2が直接通信で接続する端末装置2の接続台数をm台とする制約を設けた。しかし、この制約は、台数をm台以下とする幅を持たせた制約としてもよい。
【0096】
図10に、1台の端末装置2が直接通信で接続する端末装置2の接続台数をm台以下(最大接続数:m_max)とする制約関数(第3制約関数)を定式化する構成を備えた数理モデル化部31Bbの構成を示す。すなわち、図2の数理モデル化部31bを、図10に示す数理モデル化部31Bbで構成してもよい。
図10に示す数理モデル化部31Bbは、数理モデル化部31Bbは、目的関数定式化部310と、制約関数定式化部311(第3制約関数定式化部311c,第2制約関数定式化部311b)と、を備える。
目的関数定式化部310および第2制約関数定式化部311bは、図4で説明した数理モデル化部31bと同じ構成であるため説明を省略する。
【0097】
第3制約関数定式化部311cは、すべての端末装置間の直接通信の接続総数を所定数以下とする制約を課すため制約関数(第3制約関数)を生成するものである。
第3制約関数定式化部311cは、経路コスト算出部31aで算出された経路コストと、予め設定された直接通信で接続する接続台数の上限(最大接続数)m_maxとを用いて、以下の式(18)により、第3制約関数Hc3を生成する。
【0098】
【数18】
【0099】
ここで、y[i;w]は、端末装置2が、w台の端末装置2と直接通信で接続するときに“1”、接続しないときに“0”をとる二値変数である。y[i;w]は、x[i,j]を決定するための補助的な変数である。Σw=0 m_maxは、w=0からw=m_maxまでの総和を表し、Σw1<w2は、w1<w2を満足するすべての(w1,w2)の組の総和を表す。
この式(18)に示す第3制約関数Hc3は、最小化されることで、すべての端末装置間の直接通信の接続総数を所定台数以下とする制約をできる限り達成する働きをする。第3制約関数Hc3が“0”の場合、この制約が満足される。
【0100】
ここでは、端末装置2の数が4台であり、1台の端末装置2が2台(m_max=2)以下の端末装置2と直接通信で接続する例で説明する。この場合、第3制約関数定式化部311cは、以下の式(19)により、第3制約関数Hc3を生成する。
【0101】
【数19】
【0102】
この場合、第3制約関数定式化部311cは、第3制約関数Hc3は、式(19)を特定するパラメータ行列として、図11に示すパラメータ行列Qc3を生成する。
なお、数理モデル化部31Bbを用いた場合、モデル変数計算部31cは、目的関数Hoと制約関数Hc2,Hc3とを、バランス係数λ2,λ3を用いて、以下の式(20)に示す全体関数Hとし、全体関数Hを最小化する変数x[i,j],y[i;w]の解の計算を、計算機4に指示すればよい。
【0103】
【数20】
【0104】
この場合、図5図7図11に示すように、パラメータ行列Qo,Qc2とQc3とで行数および列数が異なる。そこで、モデル変数計算部31cは、パラメータ行列Qo,Qc2に、変数y[i;w]の行数および列数を追加し、追加した行列の要素の値を“0”として全体関数Hの計算を行えばよい。
なお、制約関数定式化部311は、必ずしも第2制約関数定式化部311bおよび第3制約関数定式化部311cで構成する必要はなく、いずれか一方のみで構成してもよい。
【0105】
また、ここでは、数理モデル化部31bの代わりに数理モデル化部31Bbを用いることしたが、数理モデル化部31bの内部に第3制約関数定式化部311cを備える構成としてもよい。
その場合、モデル変数計算部31cは、目的関数Hoと制約関数Hc1,Hc2,Hc3とを、バランス係数λ1,λ2,λ3を用いて、以下の式(21)に示す全体関数Hとし、全体関数Hを最小化する変数x[i,j],y[i;w]の解の計算を、計算機4に指示すればよい。
【0106】
【数21】
【0107】
この場合、モデル変数計算部31cは、λ1およびλ2の一方の初期値を外部からの設定により“0”とすればよい。
【符号の説明】
【0108】
1 配信サーバ
2 端末装置
3 配信経路決定装置
30 受信状況収集部
31 経路最適化部
31a 経路コスト算出部
31b 数理モデル化部
310 目的関数定式化部
311 制約関数定式化部
31c モデル変数計算部
31d 経路決定部
32 配信経路通知部
4 計算機
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11