JP6623932B2 - 配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置 - Google Patents

配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置 Download PDF

Info

Publication number
JP6623932B2
JP6623932B2 JP2016105789A JP2016105789A JP6623932B2 JP 6623932 B2 JP6623932 B2 JP 6623932B2 JP 2016105789 A JP2016105789 A JP 2016105789A JP 2016105789 A JP2016105789 A JP 2016105789A JP 6623932 B2 JP6623932 B2 JP 6623932B2
Authority
JP
Japan
Prior art keywords
distribution
data
range
destination
schedule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016105789A
Other languages
English (en)
Other versions
JP2017212661A (ja
Inventor
雅崇 園田
雅崇 園田
訓行 福山
訓行 福山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016105789A priority Critical patent/JP6623932B2/ja
Priority to US15/494,583 priority patent/US10944846B2/en
Publication of JP2017212661A publication Critical patent/JP2017212661A/ja
Application granted granted Critical
Publication of JP6623932B2 publication Critical patent/JP6623932B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置に関する。
広域分散環境では、大容量データを複数のノードに配信する場合がある。以下、配信するデータを提供する装置をファイルサーバ(FS)、データの配信先をエッジサーバ(ES)と呼ぶこととする。例えば数10GBまたはそれ以上の大容量データを、複数拠点に設置した数万台のESに配信することがある。
大容量データを複数のESに配信する場合、予め配信スケジューリングが行われる。配信スケジューリングでは、データ利用者から受け付けたすべての配信要求に対するデータ送信が完了するまでの時間(全体送信時間)ができるだけ短くなるように、データ配信の順番が決定される。
データ配信を効率的に実施するため、データを受信したESを配信元としても利用する多段配信が考えられている。多段配信では、1段目の配信として、FSからESにデータが送信される。そして2段目以降では、データを受信したESが配信元となり、同一データを要求する最寄りの他のESに送信する。
データ配信の効率化に関する技術としては、例えばマルチキャスト配信における再送処理の発生頻度を減少させ、配信処理全体の速度を向上させるマルチキャストデータ配信方法がある。また 通信回線を用いて、多数の端末に大量データを配布する場合に、短時間に全端末に配布を完了し得るデータ配布装置も考えられている。
特開2000−286845号公報 特開2000−22686号公報
多段配信を行う場合、配信が完了するまでの時間は配信元と配信先との間の通信経路の通信速度(帯域)に影響される。最も短時間での配信を完了させることができる配信スケジュールの探索では、配信元と配信先とのすべての組み合わせについて、配信順のすべてのパターンについて全体配信時間を計算することとなる。このような計算は組み合わせ最適化問題に該当し、サーバ数が多い大規模ネットワークにおいては組み合わせ爆発が生じ、実用的な時間内に計算するのが困難となる。
1つの側面では、本件は、効率的なデータ配信を行うことができる配信スケジュールの作成時間を短縮することを目的とする。
1つの案では、コンピュータに、以下の処理を実行させる配信スケジュール作成プログラムが提供される。
コンピュータは、配信対象のデータを保持するデータ提供装置、データの配信先となる複数の配信先装置、およびデータ提供装置と複数の配信先装置との間の通信を中継する複数の中継装置の接続関係と、データ提供装置、複数の配信先装置、および複数の中継装置のうちの2つの装置間を通信接続する複数のリンクそれぞれの通信速度とを示すトポロジ情報に基づいて、複数の配信先装置のうち、データ提供装置との間の通信経路上の通信速度が最低のリンクが共通の配信先装置同士を、同じグループに分類する。次にコンピュータは、グループに属する配信先装置のうち、直結しているリンクの通信速度が最も高い第1配信先装置を特定する。そしてコンピュータは、データ提供装置からグループ内の第1配信先装置にデータを送信し、次に、第1配信先装置からグループ内の第1配信先装置以外の第2配信先装置にデータを送信するように、データの配信スケジュールを作成する。
1態様によれば、効率的なデータ配信を行うことができる配信スケジュールの作成時間を短縮することができる。
第1の実施の形態に係る配信スケジュール作成装置の構成例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 第2の実施の形態に用いる配信管理システムのハードウェアの構成例を示す図である。 多段配信の1段目のデータ転送の例を示す図である。 多段配信の2段目以降のデータ転送の例を示す図である。 BL法によるデータ配信スケジューリングの例を示す図である。 配信スケジュール効率化のための着目点を説明する図である。 ES間配信範囲の決定例を示す図である。 代表ESの決定例を示す図である。 配信管理システムの機能を示すブロック図である。 配信要求情報の一例を示す図である。 配信データ情報の一例を示す図である。 NWトポロジ情報の一例を示す図である。 NWリンク情報の一例を示す図である。 中継ノード情報の一例を示す図である。 ES情報の一例を示す図である。 FS情報の一例を示す図である。 範囲情報の一例を示す図である。 NWリンク使用情報の一例を示す図である。 配信スケジュール情報の一例を示す図である。 データ配信管理手順の一例を示すフローチャートである。 範囲情報生成処理の手順の一例を示すフローチャートである。 ES間配信範囲作成処理の手順の一例を示すフローチャートである。 配信スケジュール生成処理の手順の一例を示すフローチャートである。 範囲内配信スケジュール作成処理の手順の一例を示すフローチャートである。 NW全体を対象としたサブ範囲の作成例を示す図である。 範囲情報の生成例を示す第1の図である。 範囲「Grp1」、「Grp2」、「Grp3」を対象としたサブ範囲の作成例を示す図である。 範囲情報の生成例を示す第2の図である。 範囲「Grp13」、「Grp21」を対象としたサブ範囲の作成例を示す図である。 範囲情報の生成例を示す第3の図である。 範囲「Grp2」向けの配信スケジュール決定例を示す図である。 NW全体の範囲を対象とした配信スケジュール作成後の配信スケジュール情報の例を示す図である。 NW全体の範囲を対象とした配信スケジュールに応じたデータ配信状況を示す図である。 NW全体の範囲を対象とした配信スケジュール作成後のNWリンク使用情報の例を示す図である。 範囲「Grp1」、「Grp2」、「Grp3」を対象とした配信スケジュール作成後の配信スケジュール情報の例を示す図である。 範囲「Grp1」、「Grp2」、「Grp3」を対象とした配信スケジュールに応じたデータ配信状況を示す図である。 NWリンク「L4」のNWリンク使用情報の例を示す図である。 範囲「Grp13」、「Grp21」を対象とした配信スケジュール作成後の配信スケジュール情報の例を示す図である。 範囲「Grp13」、「Grp21」を対象とした配信スケジュールに応じたデータ配信状況を示す図である。 配信スケジュールの通知例を示す図である。 第3の実施の形態を適用するNWリポジトリの例を示す図である。 複数のデータを配信する場合のデータ配信管理手順の一例を示すフローチャートである。 データ「dataB」の範囲「Grp2」向けの配信スケジュール決定例を示す図である。 データ「dataB」の範囲「Grp2」向けの配信スケジュールに応じたデータ配信状況を示す図である。 範囲「Grp21」向けの配信スケジュール作成後の配信スケジュール情報の例を示す図である。 データ「dataB」の範囲「Grp21」向けの配信スケジュールに応じたデータ配信状況を示す図である。 データ配信情報「d05」の配信スケジュール決定前の配信スケジュール情報の例を示す図である。 データ配信情報「d05」の配信スケジュール決定前のNWリンク「L4」のNWリンク使用情報の例を示す図である。 データ配信情報「d05」の配信スケジュール決定後の配信スケジュール情報の例を示す図である。 データ配信情報「d05」の配信スケジュール決定後のNWリンク「L4」のNWリンク使用情報の例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る配信スケジュール作成装置の構成例を示す図である。配信スケジュール作成装置10は、記憶部11と演算部12とを有する。
記憶部11は、データ1aの配信を行うネットワークのトポロジ情報11aを記憶する。ネットワークには、データ提供装置1、配信先装置2a〜2g、および中継装置3a〜3gが含まれる。データ提供装置1は、配信対象のデータ1aを保持するコンピュータである。配信先装置2a〜2gは、データの配信先となるコンピュータなどの機器である。中継装置3aは、データ提供装置1と複数の配信先装置2a〜2gとの間の通信を中継するネットワーク機器である。また、ネットワークには、データ提供装置1、複数の配信先装置2a〜2g、複数の中継装置3a〜3gのうちの2つの装置間を通信接続する複数のリンク(識別子「L1」〜「L13」)が含まれる。トポロジ情報11aには、データ提供装置1、配信先装置2a〜2g、および中継装置3a〜3gのリンクによる接続関係と、複数のリンク(識別子「L1」〜「L13」)それぞれの通信速度とが含まれる。
演算部12は、トポロジ情報11aに基づいて、データ1aの配信スケジュール13を作成する。例えば演算部12は、複数の配信先装置2a〜2gのうち、データ提供装置1との間の通信経路上の通信速度が最低のリンク(ボトルネックリンク)が共通の配信先装置同士を、同じグループ4a〜4cに分類する。図1の例では、配信先装置2a〜2cは、いずれも、データ提供装置1との間の通信におけるボトルネックリンクが、識別子「L1」のリンクである。従って、配信先装置2a〜2cが同じグループ4aにグルーピングされる。配信先装置2d,2eは、いずれも、データ提供装置1との間の通信におけるボトルネックリンクが、識別子「L8」のリンクである。従って、配信先装置2d,2eが同じグループ4bにグルーピングされる。配信先装置2f,2gは、いずれも、データ提供装置1との間の通信におけるボトルネックリンクが、識別子「L9」のリンクである。従って、配信先装置2f,2gが同じグループ4cにグルーピングされる。
次に演算部12は、同じグループ4a〜4cに属する配信先装置のうち、直結しているリンクの通信速度が最も高い第1配信先装置2a,2e,2gを特定する。そして演算部12は、各グループ4a〜4cに属する配信先装置の情報と、特定された第1配信先装置の情報とに基づいて、配信スケジュール13を作成する。
作成される配信スケジュール13には、まず、データ提供装置1からグループ内の第1配信先装置2a,2e,2gにデータ1aを送信することが示される。また配信スケジュール13では、データを取得した第1配信先装置2a,2e,2gからグループ内の第1配信先装置2a,2e,2g以外の第2配信先装置2b,2c,2d,2fに、データ1aを送信することが示される。
このようにデータ1aの配信スケジュール13を作成することで、効率的なデータ配信が可能な配信スケジュール13を、短時間で作成することができる。
すなわち配信スケジュール13では、データ提供装置1から各グループ4a〜4c内の配信先装置へのデータ送信は、1回しか行われない。そうすると、ボトルネックとなるような、通信速度の遅いリンクを経由したデータ配信は1回だけですみ、データ配信の効率が良くなる。また、グループ内の配信先装置のうち、直結されたリンクの通信速度が最も高い配信先装置が、第1配信先装置に決定される。これにより、グループ内でデータの配信を行う際に、配信元となる第1配信先装置から高速にデータを送出することが可能となり、配信先が複数ある場合でも、短時間でデータ送信を行うことができる。その結果、すべての配信先装置にデータ配信を完了するまでの全体配信時間が短くなる。
しかも配信元と配信先とのすべての組み合わせについて、配信順のすべてのパターンを生成して、全体配信時間を比較する場合に比べ、配信スケジュール13の作成に要する計算量は少なくて済む。そのため、配信スケジュールの作成を短時間で行うことができる。
なお、各グループ4a〜4c内でデータを配信する際にも、データの配信元である第1配信先装置以外をサブグループに分類することで、効率的な配信スケジュールを作成できる。その場合、演算部12は、グループ4a〜4cに属する第2配信先装置が複数ある場合、第2配信先装置のうち、第1配信先装置との間の通信経路上の通信速度が最低のボトルネックリンクが共通の第2配信先装置同士を同じサブグループに分類する。次に、演算部12は、サブグループに属する第2配信先装置のうち、直結しているリンクの通信速度が最も高い第2配信先装置を、第3配信先装置として特定する。そして演算部12は、サブグループを考慮した配信スケジュール13を作成する。
例えば作成される配信スケジュールには、まず、データ提供装置1からグループ4a〜4c内の第1配信先装置にデータ1aを送信することが示される。また配信スケジュール13には、データ1aを受信した第1配信先装置から、サブグループ内の第3配信先装置にデータ1aを送信することが示される。また配信スケジュール13には、第3配信先装置から、サブグループ内の第3配信先装置以外の第4配信先装置に、データ1aを送信することが示される。
このように、グループ4a〜4c内にサブグループを設け、グループ内でのデータ転送も効率的に行わせることで、すべての配信先装置2a〜2gへのデータ配信に要する時間である全体送信時間がさらに短縮できる。なお、サブグループ内にさらにサブグループを作成していくことで、大規模なネットワークにおいても、非常に効率的に配信スケジュールを作成できる。
またグループ4a〜4cが複数ある場合、全体送信時間が短くなるように、各グループ内の第1配信先装置へのデータの送信順を決定することができる。例えば演算部12は、グループそれぞれに属する第1配信先装置に共通するボトルネックリンクの通信速度が低いグループほど、そのグループ内の第1配信先装置へのデータ1aの送信を優先して行うように、配信スケジュール13を作成する。すなわち演算部12は、ボトルネックリンクの通信速度が低いグループから順にグループを選択し、できるだけ早くデータ送信が開始できるように、各リンクの未使用の通信資源を、選択したグループの第1配信先装置宛てのデータ送信処理に割り当てる。これにより、通信速度が遅く、データ送信に時間がかかる第1配信先装置へのデータ送信を早期に開始することができ、全体送信時間の長期化が抑止される。
さらに、配信対象のデータが複数ある場合、全体送信時間が短くなるように、送信するデータの順番を決定することができる。例えば演算部12は、複数のデータそれぞれについて、データのサイズとそのデータの配信を要求している配信先装置の数とに基づいて、総通信量を計算する。総通信量は、データの配信を要求している全配信先装置にデータが配信されるまでに送信されるデータ量の累計を示す値である。例えば、データの配信を要求している配信先装置の数にデータのサイズを乗算した値が、総通信量となる。そして演算部12は、総通信量が多いデータほど、そのデータの送信を優先して行うように、配信スケジュール13を作成する。すなわち演算部12は、総通信量が多い順にデータを選択し、できるだけ早くデータ送信が開始できるように、各リンクの未使用の通信資源を、選択したデータの、そのデータを要求している配信先装置への送信処理に割り当てる。これにより、総通信量が多く、データを要求する配信先装置のすべてにデータを配信するのに時間がかかるデータほど、先に送信され、全体送信時間の長期化を抑止することができる。
データ提供装置1や配信先装置2a〜2gの制御により、データの通信速度を動的に変更できる場合もある。このような場合、リンクにわずかな帯域でも余っていれば、その帯域を有効に利用して、データ配信を効率的に行うことができる。例えば、演算部12は、配信先装置ごとに、データの配信元となるデータ提供装置1または他の配信先装置、配信先装置がデータの配信を受ける期間、および配信の通信速度を決定する。通信速度の決定では、演算部12は、データの配信元の装置との間の通信経路上のリンクそれぞれについて、リンクの通信速度から、そのリンクを使用するデータ配信の通信速度を減算した残帯域を算出する。そして演算部12は、複数の時間帯ごとに、その時間帯で最も残帯域の少ないリンクの残帯域に合わせた通信速度に決定する。このように、少ない残帯域を有効に利用することで、全体送信時間を短縮することができる。
なお、演算部12は、例えば配信スケジュール作成装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えば配信スケジュール作成装置10が有するメモリまたはストレージ装置により実現することができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、第1の実施の形態の処理をより具体的にしたものである。
図2は、第2の実施の形態のシステム構成例を示す図である。データ提供者が使用する、端末装置31は、配信管理システム100に接続されている。配信管理システム100は、データ配信を管理するコンピュータである。配信管理システム100はFS32に接続されている。FS32は、複数の中継ノード41,42,43,・・・を介して、複数のES50〜59に接続されている。各ES50〜59には、データ利用者が使用する端末装置60〜69が接続されている。なお図2の例では、1台のESに1台の端末装置しか接続されていないが、1台のESに複数の端末装置を接続することもできる。
データ提供者は、端末装置31を用いて配信管理システム100経由で、配信するデータをFS32に格納する。データ利用者は端末装置60〜69を用いて、利用するデータを指定する。利用するデータが指定されると、例えばES50〜59から配信管理システム100に、データの配信要求が送信される。配信管理システム100は、データの配信要求に基づいて、FS32に格納されたデータの配信スケジュールを作成する。配信管理システム100は、配信スケジュールを作成すると、その配信スケジュールに従ってデータを転送するように、FS32または各ES50〜59に指示する。
図3は、第2の実施の形態に用いる配信管理システムのハードウェアの構成例を示す図である。配信管理システム100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、配信管理システム100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
ストレージ装置103は、内蔵した記憶媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、配信管理システム100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお端末装置31,60〜69、FS32、中継ノード41,42,43,・・・、およびES50〜59も、配信管理システム100と同様のハードウェアで実現できる。また、第1の実施の形態に示した配信スケジュール作成装置10も、図3に示した配信管理システム100と同様のハードウェアで実現できる。
配信管理システム100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。配信管理システム100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、配信管理システム100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また配信管理システム100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、図4と図5を参照して、多段配信について説明する。
図4は、多段配信の1段目のデータ転送の例を示す図である。図4の例では、「dataA」をES50〜55に配信し、「dataB」をES56〜58に配信する場合を想定している。1段目のデータ転送では、各データがFS32からいずれかのESに対して送信される。図4の例では、「dataA」はES50に送信され、「dataB」はES56に送信されている。
図5は、多段配信の2段目以降のデータ転送の例を示す図である。2段目以降のデータ送信では、ES間でデータ転送が行われる。すなわち、2段目以降では、データを受信したESが送信元となり、同一データを要求する他のESにデータが送信される。図5の例では、「dataA」はES50からES51,52,54に送信され、その後、ES51からES53に送信されると共に、ES52からES55に送信されている。また「dataB」は、ES56からES57〜58に送信されている。
このような多段配信を効率的に行う配信スケジュールの作成は、配信元と配信先のペアリングと各ペアの配信順序を決定する組み合わせ最適化問題である。このとき、全パターンを算出すると組み合わせ爆発となり、実用的な時間内に計算を完了することができない。
全パターン算出の場合の計算量は、オーダ表記でO(N5)となる。詳細には、以下の通りである。
[ステップA]配信経路の算出:FSと全ESを始点(配信元)とした、全ESへの配信経路の算出。
[ステップB]配信スケジュールの決定:算出した経路を利用して、配信元、配信先、配信順序の各組み合わせパターンにおける配信時間の算出、および全体配信時間が最小となる組み合わせの選択。
ES数がN台(Nは1以上の整数)の場合、各処理の計算量は、以下のように見積もることができる。
・ステップAの計算量:O(N2logN)
1つの始点から全ESへの経路算出の計算量はダイクストラ法を用いるとO(NlogN)となる。FSと全ESを始点とした経路を算出するには、計算量はO(N2logN)となる。
・ステップBの計算量:O(N5
配信元、配信先のペアの組み合わせ数がN2である。各ペアを配信する配信順序は、1ペアずつ配信する場合最大でN2ステップである。各ペアを配信するタイミングはN2ステップのうちのどこかのタイミングとなるため、全体の組み合わせ数は(N22=N4となる。各組み合わせにおいて、N個のデータ配信について、配信経路上のネットワーク(NW)リンクの帯域を超えてデータ送信を行っていないかの確認を行うので、計算量はO(N5)となる。
このようにすべての組み合わせにおける配信時間を計算すると、ES数(N)が増えるのに伴い、計算量が急激に増加する。そこで、近似的な計算を行い、効率的にデータ配信が可能な配信スケジュールを作成することが考えられる。例えば、データ配信スケジューリングは、二次元パッキング問題の一種と考えることができる。
二次元パッキング問題は、与えられた矩形を与えられた平面に配置する際に、各矩形を平面にどう詰め込むか(矩形の配置の組み合わせ)を算出する組み合わせ最適化問題である。二次元パッキング問題にはbottom-left法(BL法)などの解法(近似解法)が考案されている。BL法は、矩形を出来る限り下かつ左に詰め込むことを繰り返す手法である。
BL法をデータ配信スケジューリング問題に適用すると、NWリンクの帯域(資源)に対応する空間に、データ配信量を表す矩形をどう詰め込むかを算出する問題となる。
図6は、BL法によるデータ配信スケジューリングの例を示す図である。BL法では、各ES50〜53へのデータ送信に要する帯域と時間とが、矩形で表される。例えば矩形の縦方向の長さが使用帯域を示し、横方向の長さが配信時間を示す。この場合、横軸に時刻、縦軸に帯域を採った空間に、各矩形が、矩形を出来る限り下かつ左に詰め込むように配置される。このようにして、効率的な配信スケジュールが作成できる。
ただし、図6に示したBL法は、送信元がFS32のみの場合しか想定していない。多段配信を行うと、送信元が複数となり、単純にBL法だけで効率的な配信スケジュールを作成するのは困難である。さらに、二次元パッキング問題は、1つのNWリンクが対象であり、複数のNWリンクにはそのままは適用することはできない。
そこで第2の実施の形態では、以下の2つの点に着目して、配信スケジュールの効率化を図る。
特性A)帯域の小さいNWリンクを経由するデータ送信は送信時間が長くなる。
特性B)早くデータを受信したESほど、多くのESへデータを送信する。
図7は、配信スケジュール効率化のための着目点を説明する図である。図7の例では、中継ノード41と中継ノード42との間のNWリンクの帯域が40Mbpsであり、他のNWリンクの帯域に比べて狭い(通信速度が遅い)。そのため中継ノード41と中継ノード42との間のNWリンクを通るデータ送信は時間がかかる(特性A)。また、FS32から最初にデータを受信したES50は、他の3台のES51,52,54へデータを送信している。それに対して、ES56は他の2台にデータを送信し、ES51,52はそれぞれ他の1台にデータを送信している。このように、早くデータを受信したESほど、他のESよりもデータ送信回数が多い(特性B)。このように多段配信における段数が後になるほど、データを受信済みのESが増え、データ未受信のESは減る。その結果、データの受信時期が遅いES程、その後のデータ配信対象となるESは少なくて済み、データ送信回数が少なくなる。
第2の実施の形態に係る配信管理システム100は、上記2つの着目点を考慮に入れて、ES間配信を行うES群のグルーピングを適切に実施することで、データ転送の効率化を図る。以下、グルーピングされたES群を、ES間配信範囲(または単に「範囲」)と呼ぶ。ES間配信は、ES間配信範囲内のみで実施される。ES間配信範囲は、第1の実施の形態に示すグループまたはサブグループの一例である。なお、第2の実施の形態では、ネットワーク全体を1つの範囲(大きなグループ)として捉え、1つの範囲内に生成された別の範囲を、生成元の範囲に対するサブ範囲と呼ぶこととする。
図8は、ES間配信範囲の決定例を示す図である。図8に示すNWトポロジは、1台のFS、8台の中継ノード、および10台のESを含んでいる。FSには、識別子「FS01」が付与されている。このFSを、以下、FS「FS01」と呼ぶ。8台の中継ノードには、それぞれ「A」〜「H」の識別子が付与されている。これらの中継ノードを、以下、中継ノード「A」〜「H」と呼ぶ。10台のESには、それぞれ「ES01」〜「ES10」の識別子が付与されている。以下、これらのESを、ES「ES01」〜「ES10」と呼ぶ。
配信管理システム100は、計算時間を短くするために、ES間でデータ送信を行う範囲を絞り込む。そして、配信管理システム100は、絞り込んだ範囲内に分解して配信スケジュールの作成処理を行うことで、各範囲での配信先候補の数を削減する。
絞り込みの際、配信管理システム100は、全体送信時間も短くするために、送信元から各宛先への配信経路に着目し、ボトルネックリンク(BL:配信経路の中で帯域最小のNWリンク)が同じESを、ES間配信の範囲として絞り込む。すなわち、上記特性Aに着目し、配信管理システム100は、帯域の細いNWリンクを経由するデータ送信を極力避けることで、個々のデータ送信時間を短縮する。
図8の例では、FS「FS01」〜各ES「ES01」〜「ES10」にデータを配信する場合のBLに基づいて、範囲を決定した例である。図8では、FS「FS01」とES「ES01」〜「ES10」とが、中継ノード「A」〜「H」を介して接続されている。各装置間は、識別子「L0」〜「L17」のNWリンク(以下、NWリンク「L0」〜「L17」と呼ぶ)で接続されている。図8において、各NWリンクを示す線分に沿って、そのNWリンクの帯域(bps)が示されている。
ここで、FS「FS01」とES「ES01」〜「ES10」それぞれとの間のBLを検討する。ES「ES01」〜「ES5」は、いずれも、NWリンク「L1」がBLとなる。そこでES「ES01」〜「ES5」が、1つの範囲にグルーピングされる。ES「ES06」〜「ES08」は、いずれも、NWリンク「L10」がBLとなる。そこでES「ES06」〜「ES08」が、1つの範囲にグルーピングされる。ES「ES09」〜「ES10」は、いずれも、NWリンク「L15」がBLとなる。そこでES「ES09」〜「ES10」が、1つの範囲にグルーピングされる。
範囲を決定後、配信管理システム100は、ES間配信の各範囲でのデータ送信時間を短縮するため、各範囲内で最初にデータを受信するES(代表ES)を決定する。
図9は、代表ESの決定例を示す図である。配信管理システム100は、各ES「ES01」〜「ES10」に直結しているNWリンクに着目し、直結するNWリンクの帯域が最大となるESを代表ESとして選択する。すなわち特性Bに着目し、配信管理システム100は、送信時のスループットが大きくなる代表ESに対して優先的にデータを送り、ES間配信の効率化を図る。図9の例では、ES「ES01」、「ES08」、「ES10」が、それぞれが属する範囲の代表ESとなる。
配信管理システム100は、各範囲内でも、代表ESから、同じ範囲内の他のESへの配信経路のボトルネックリンクを用いてサブ範囲を生成し、サブ範囲内での代表ESを選択する。これにより、多段配信の2段目以降の配信についても、効率的に行うことができる。
例えば範囲「1」内では、FS「FS01」からデータを受信したES「ES01」が、ES「ES02」〜「ES04」にデータを送信する。次にES「ES04」がES「ES05」にデータを送信する。範囲「2」内では、FS「FS01」からデータを受信したES「ES08」が、ES「ES06」にデータを送信する。次にES「ES06」がES「ES07」にデータを送信する。範囲「3」内では、FS「FS01」からデータを受信したES「ES10」が、ES「ES09」にデータを送信する。
このような順番でデータ送信が行われるように配信管理システム100が配信スケジュールを作成することで、効率的なデータ配信が行われる。
図10は、配信管理システムの機能を示すブロック図である。配信管理システム100は、配信要求情報記憶部111、配信データ情報記憶部112、NWトポロジ情報記憶部113、NWリンク情報記憶部114、中継ノード情報記憶部115、ES情報記憶部116、FS情報記憶部117、ES間配信範囲作成管理部121、ES間配信範囲作成部122、範囲情報記憶部123、配信スケジュール作成管理部131、配信スケジュール作成部132、NWリンク使用情報記憶部133、配信スケジュール情報記憶部134、および配信スケジュール通知部141を有する。
配信要求情報記憶部111は、ESへの配信を指示する配信要求に関する情報(配信要求情報)を記憶する。配信データ情報記憶部112は、配信するデータに関する情報(配信データ情報)を記憶する。NWトポロジ情報記憶部113は、ネットワークの構成を示す情報(NWトポロジ情報)を記憶する。NWリンク情報記憶部114は、各NWリンクの帯域を示す情報(NWリンク情報)を記憶する。中継ノード情報記憶部115は、中継ノードに接続されているNWリンクを示す情報(中継ノード情報)を記憶する。ES情報記憶部116は、ESに接続されているNWリンクを示す情報(ES情報)を記憶する。FS情報記憶部117、FSに接続されているNWリンクを示す情報(FS情報)を記憶する。
ES間配信範囲作成管理部121は、ES間配信範囲の作成に用いる情報の収集、およびES間配信範囲作成部122への収集した情報によるES間配信範囲作成指示を行う。
ES間配信範囲作成部122は、ES間配信範囲作成管理部121からの指示に従って、ES間配信範囲を作成する。ES間配信範囲作成部122は、作成したES間配信範囲を、範囲情報記憶部123に格納する。
範囲情報記憶部123は、各ES間配信範囲に属するESや代表ESなどを示す情報(範囲情報)を記憶する。
配信スケジュール作成管理部131は、範囲情報を取得し、範囲ごとに、配信スケジュール作成部132に配信スケジュールの作成を指示する。配信スケジュール作成管理部131は、範囲ごとの配信スケジュールを統合し、配信スケジュール情報記憶部134に格納する。
配信スケジュール作成部132は、範囲ごとの配信スケジュールを作成する。例えば配信スケジュール作成部132は、NWリンク使用情報記憶部133を用いて、作成した配信スケジュールに基づくNWリンクの使用予定を、NWリンク使用情報として管理する。そして配信スケジュール作成部132は、NWリンク使用情報を参照しながら、NWリンクの空き帯域でデータ配信ができるかどうかを判断し、できるだけ効率的な配信スケジュールを作成する。
NWリンク使用情報記憶部133は、NWリンクの使用予定を示す情報(NWリンク使用情報)を記憶する。配信スケジュール情報記憶部134は、作成された配信スケジュールを示す情報(配信スケジュール情報)を記憶する。
なお、図10に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図10に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
以下図11〜図20を参照し、各記憶部に記憶される情報について、詳細に説明する。
図11は、配信要求情報の一例を示す図である。配信要求情報111aには、例えばid、配信先、および要求データの欄が設けられている。idの欄には、配信要求の識別子が設定される。配信先の欄には、配信要求によって指定されたデータの配信先となるESの識別子が設定される。要求データの欄には、配信対象のデータの識別子が設定される。このような配信要求情報111aに基づいて、どのデータをどのESに配信するのかが判断できる。
図12は、配信データ情報の一例を示す図である。配信データ情報112aには、例えばid、サイズ、および所有ノードの欄が設けられている。idの欄には、配信対象のデータの識別子が設定される。サイズの欄には、データのサイズが例えばGB単位で設定される。所有ノードの欄には、データを保持しているFSの識別子が設定される。このような配信データ情報112aに基づいて、データの最初の配信元と、送信するデータ量が判断できる。
図13は、NWトポロジ情報の一例を示す図である。NWトポロジ情報113aには、例えばid、NWリンク、中継ノード、ES、およびFSの欄が設けられている。idの欄には、管理対象のネットワークの識別子が設定される。NWリンクの欄には、ネットワーク内の装置間を接続する全NWリンクの識別子が設定される。中継ノードの欄には、ネットワーク内の全中継ノードの識別子が設定される。ESの欄には、ネットワーク内の全ESの識別子が設定される。FSの欄には、ネットワーク内の全FSの識別子が設定される。このようなNWトポロジ情報113aに基づいて、ネットワークの構成要素を認識できる。
図14は、NWリンク情報の一例を示す図である。NWリンク情報114aには、例えばidと帯域との欄が設けられている。idの欄には、NWリンクの識別子が設定される。帯域の欄には、NWリンクの通信速度(帯域)が、例えばMbps単位で設定される。このようなNWリンク情報に基づいて、各NWリンクの帯域が分かる。
図15は、中継ノード情報の一例を示す図である。中継ノード情報115aには、例えばidと接続リンクとの欄が設けられている。idの欄には、中継ノードの識別子が設定される。接続リンクの欄には、中継ノードに直接接続されているNWリンクの識別子が設定される。このような中継ノード情報115aに基づいて、各中継ノードがどのNWリンクを介してデータを中継するのかが判断できる。
図16は、ES情報の一例を示す図である。ES情報116aには、例えばidと接続リンクとの欄が設けられている。idの欄には、ESの識別子が設定される。接続リンクの欄には、ESに直接接続されているNWリンクの識別子が設定される。このようなES情報116aに基づいて、各ESがどのNWリンクを介してデータを送受信するのかが判断できる。ES情報116aとNWリンク情報114aとを組み合わせれば、ESに直結するNWリンクの帯域が判断できる。
図17は、FS情報の一例を示す図である。FS情報117aには、例えばidと接続リンクとの欄が設けられている。idの欄には、FSの識別子が設定される。接続リンクの欄には、FSに直接接続されているNWリンクの識別子が設定される。このようなFS情報117aに基づいて、各FSがどのNWリンクを介してデータを送信するのかが判断できる。
図18は、範囲情報の一例を示す図である。範囲情報123aには、例えば範囲id、所属ES、ボトルネックリンク(BL)、代表ES、およびサブ範囲の欄が設けられている。範囲idの欄には、ネットワーク全体を示す範囲、またはES間配信範囲の識別子が設定される。所属ESの欄には、範囲に属するESの識別子が設定される。ボトルネックリンクの欄には、範囲に属するESに共通のBLであるNWリンクの識別子が設定される。代表ESの欄には、範囲における代表ESの識別子が設定される。ネットワーク全体が範囲となる場合、FSが代表ESとなる。サブ範囲の欄には、範囲に属するESをさらに細かくグルーピングして得られる範囲(サブ範囲)の識別子が設定される。このような範囲情報123aに基づいて、適切な配信順を判断できる。
図19は、NWリンク使用情報の一例を示す図である。図19の例では、NWリンクごとに、NWリンク使用情報133a,133b,133c,・・・が設けられている。各NWリンク使用情報133a,133b,133c,・・・には、期間開始時刻、期間終了時刻、使用帯域、および残帯域の欄が設けられている。期間開始時刻の欄には、NWリンクの使用帯域が一定の期間の開始時刻が設定される。期間終了時刻の欄には、NWリンクの使用帯域が一定の期間の終了時刻が設定される。使用帯域の欄には、NWリンクの使用帯域が一定の期間における、使用帯域(単位時間当たりの通信量)が設定される。残帯域の欄には、NWリンクの最大の通信速度を示す帯域から使用帯域を減算した値(残帯域)が設定される。このようなNWリンク使用情報133a,133b,133c,・・・に基づいて、先に作成した配信スケジュールに基づく各NWリンクの残帯域を判断することができる。
図20は、配信スケジュール情報の一例を示す図である。配信スケジュール情報134aは、例えばデータ配信情報ごとのレコードで構成される。配信スケジュール情報134aには、例えばid、配信データ、配信元、配信先、経路、想定TP、所要時間、予定開始時刻、予定終了時刻、および先行データ配信の欄が設けられている。idの欄には、データ配信情報の識別子(「d00」、「d01」、・・・)が設定される。以下、識別子が「d00」、「d01」、・・・の各データ配信情報を、データ配信情報「d00」、「d01」、・・・と呼ぶ。
配信データの欄には、配信対象のデータの識別子が設定される。配信元の欄には、配信対象のデータを送信するFSまたはESの識別子が設定される。配信先の欄には、配信対象のデータを受信するESの識別子が設定される。経路の欄には、データの配信で経由するNWリンクの識別子が設定される。想定TPの欄には、データの配信の際に想定される通信速度(想定スループット:TP)が設定される。想定スループットには、例えばデータ配信の経路上の最も帯域が狭い経路の帯域を示す値が設定される。所要時間の欄には、データの配信に要する時間が設定される。所要時間は、配信されるデータのサイズを、想定スループットで除算した値である。予定開始時刻の欄には、データの配信を開始する予定の時刻が設定される。予定終了時刻の欄には、データの配信が終了する予定の時刻が設定される。先行データ配信の欄には、対応するデータ配信を実施する前に、終了していることが求められるデータ配信情報の識別子が設定される。
以上のような構成の配信管理システム100により、効率的な配信スケジュールが作成され、配信スケジュールがFS「FS01」またはES「ES01」〜「ES10」に送信される。以下、図21〜図25を参照して、配信管理システム100が実行する処理を説明する。
図21は、データ配信管理手順の一例を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。以下の処理は、例えばデータ提供者により、端末装置31を介して、データの配信指示が入力されたときに実行される。また予め設定された日時に処理を開始することもできる。
[ステップS101]ES間配信範囲作成管理部121とES間配信範囲作成部122とが連携し、範囲情報123a(図18参照)を生成する。範囲情報生成処理の詳細は、後述する(図22参照)。
[ステップS102]配信スケジュール作成管理部131と配信スケジュール作成部132とが連携して、配信スケジュール情報134a(図20参照)を生成する。配信スケジュール生成処理の詳細は、後述する(図24参照)。
[ステップS103]配信スケジュール通知部141は、配信スケジュール情報に示される各ESへのデータの配信スケジュールを、各ESに送信する。この通知に基づいて、各ESは、配信スケジュール情報に示される予定開始時刻に、配信元のFS「FS01」またはESに対してデータを要求し、データの配信を受ける。
次に、範囲情報生成処理の手順について説明する。
図22は、範囲情報生成処理の手順の一例を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
[ステップS111]ES間配信範囲作成管理部121は、配信要求情報記憶部111から配信要求情報111aを読み込む。
[ステップS112]ES間配信範囲作成管理部121は、NWトポロジに関する情報を読み込む。例えばES間配信範囲作成管理部121は、NWトポロジ情報記憶部113からNWトポロジ情報113aを読み込む。次にES間配信範囲作成管理部121は、NWリンク情報記憶部114からNWリンク情報114aを読み込む。次にES間配信範囲作成管理部121は、中継ノード情報記憶部115から中継ノード情報115aを読み込む。次にES間配信範囲作成管理部121は、ES情報記憶部116からES情報116aを読み込む。次にES間配信範囲作成管理部121は、FS情報記憶部117からFS情報117aを読み込む。
[ステップS113]ES間配信範囲作成管理部121は、NW全体をES間範囲作成対象とする。例えばES間配信範囲作成管理部121は、範囲id「all」のレコードを範囲情報123aに追加する。このときES間配信範囲作成管理部121は、NW内のすべてのES「ES01」〜「ES10」のうち、配信要求情報111aにおいて配信対象のデータの配信先として設定されているESの識別子を、追加したレコードの所属ESとして設定する。またES間配信範囲作成管理部121は、追加したレコードの代表ESとして、FS「FS01」の識別子を設定する。
[ステップS114]ES間配信範囲作成管理部121は、ES間配信範囲作成部122に対して、ES間配信範囲作成対象の範囲内でのES間配信範囲の作成を指示する。この際、ES間配信範囲作成管理部121は、ES間配信範囲作成部122に、ステップS112で読み込んだNWトポロジに関する情報を送信する。ES間配信範囲作成部122は、指示に従ってES間配信範囲を作成する。ES間配信範囲作成処理の詳細は後述する(図23参照)。
[ステップS115]ES間配信範囲作成管理部121は、範囲情報123aを参照し、サブ範囲が設定されていない範囲のうち、所属するES数が2以上の範囲があるか否かを判断する。該当する範囲があれば、処理がステップS116に進められる。該当する範囲がなければ、範囲情報生成処理が終了する。
[ステップS116]ES間配信範囲作成管理部121は、サブ範囲が設定されていない範囲のうち、所属するES数が2以上のES間配信範囲の1つをES間配信範囲作成対象とし、処理をステップS114に進める。
次に、ES間配信範囲作成処理の詳細について説明する。
図23は、ES間配信範囲作成処理の手順の一例を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。ES間配信範囲作成処理は、例えば、ES間配信範囲作成管理部121からの、ES間配信範囲作成処理の呼び出しに応じて実行される。
[ステップS121]ES間配信範囲作成部122は、対象範囲の代表ESから配信範囲内の各ESまでの経路を算出する。例えば、ES間配信範囲作成部122は、NWトポロジ情報113a、中継ノード情報115a、ES情報116a、およびFS情報117aに基づいて、図8に示したNWトポロジを再現する。そしてES間配信範囲作成部122は、代表ES以外のESごとに、代表ESから該当ESまでの経路上のNWリンクのリストを作成する。
[ステップS122]ES間配信範囲作成部122は、NWリンク情報114aに基づいて、代表ES以外の各ESについて、経路上のBLを判断する。例えば各ESの経路の上のNWリンクそれぞれの帯域を比較し、最も帯域が狭いNWリンクがBLである。次にES間配信範囲作成部122は、代表ES以外の各ESのうち、BLが共通のES同士を同じES間配信範囲(サブ範囲)にグルーピングする。
ES間配信範囲作成部122は、グルーピングで生成されたサブ範囲の識別子を、範囲情報123aにおける対象範囲のレコードのサブ範囲の欄に設定する。またES間配信範囲作成部122は、生成されたサブ範囲に対応するレコードを、範囲情報123aに追加する。追加されたレコードの範囲idの欄には、そのサブ範囲の識別子が設定される。追加されたレコードの所属ESの欄には、対象範囲内でBLが共通のESの識別子が設定される。追加されたレコードのボトルネックリンクの欄には、そのサブ範囲に属するESに共通のBLであるNWリンクの識別子が設定される。
[ステップS123]ES間配信範囲作成部122は、ステップS122で生成したサブ範囲のうちの1つを選択する。
[ステップS124]ES間配信範囲作成部122は、ES情報116aに基づいて、選択したサブ範囲内の各ESに関して、そのESに直接接続されているNWリンクを抽出する。またES間配信範囲作成部122は、NWリンク情報114aに基づいて、抽出したNWリンクの帯域を抽出する。
[ステップS125]ES間配信範囲作成部122は、選択したサブ範囲に属するESのうち、直結しているNWリンクの帯域が最大のESを、代表ESとして選択する。ES間配信範囲作成部122は、範囲情報123aにおける当該サブ範囲のレコードの代表ESの欄に、選択したESの識別子を設定する。
[ステップS126]ES間配信範囲作成部122は、ステップS122で生成したサブ範囲のすべてについて、代表ESを選択したか否かを判断する。全サブ範囲の代表ESが選択済みであれば、ES間配信範囲作成処理が終了する。代表ESが未選択のサブ範囲があれば、処理がステップS123に進められる。
このようにして、図18に示すような範囲情報123aが生成される。範囲情報123aの生成後、配信スケジュール生成処理が行われる。
図24は、配信スケジュール生成処理の手順の一例を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
[ステップS131]配信スケジュール作成管理部131は、NW全体を配信スケジュール作成対象に設定する。
[ステップS132]配信スケジュール作成管理部131は、配信スケジュール作成部132に対して、配信スケジュール作成対象の範囲の範囲内配信スケジュール作成を指示する。すると、配信スケジュール作成部132が範囲内配信スケジュール作成処理を実行し、作成対象の範囲の代表ESから、その範囲のサブ範囲の代表ESへのデータの配信スケジュールが作成される。範囲内配信スケジュール作成処理の詳細は後述する(図25参照)。
[ステップS133]配信スケジュール作成管理部131は、範囲情報123aに登録されている範囲のなかに、配信スケジュールを未作成の範囲があるか否かを判断する。該当する範囲があれば処理がステップS134に進められる。すべての範囲について配信スケジュールの作成が完了していれば、配信スケジュール生成処理が終了する。
[ステップS134]配信スケジュール作成管理部131は、代表ESを配信先とする配信スケジュールが作成済みの範囲のうち、その範囲内の配信スケジュールが未作成の範囲の1つを、配信スケジュール作成対象に設定する。その後、処理がステップS132に進められる。
次に、範囲内配信スケジュール作成処理について詳細に説明する。
図25は、範囲内配信スケジュール作成処理の手順の一例を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。なお、配信スケジュール作成対象の範囲を、対象範囲と呼ぶ。
[ステップS141]配信スケジュール作成部132は、対象範囲内で作成されたサブ範囲を、BLが小さい順にソートする。例えば配信スケジュール作成部132は、範囲情報123a内の対象範囲のレコードを参照し、その範囲のサブ範囲を抽出する。次に配信スケジュール作成部132は、抽出したサブ範囲の識別子が範囲idで設定された各レコードからボトルネックリンクを取得する。次に、配信スケジュール作成部132は、NWリンク情報114aから、各サブ範囲のBLの帯域を取得する。そして配信スケジュール作成部132は、サブ範囲を、その範囲のBLの帯域の値を小さい順にソートする。
[ステップS142]配信スケジュール作成部132は、ソート順(帯域の小さい順)に、サブ範囲の代表ESを取得する。例えば配信スケジュール作成部132は、対象範囲のサブ範囲であり、代表ESを未取得のサブ範囲のうち、ソート順で最も上位のサブ範囲を特定する。そして配信スケジュール作成部132は、範囲情報123aから、特定したサブ範囲に対応するレコードの代表ESを取得する。
[ステップS143]配信スケジュール作成部132は、対象範囲の代表ESから、ステップS142で取得したサブ範囲の代表ESへのデータ配信情報を作成する。データ配信情報には、配信するデータの識別子、配信元(対象範囲の代表ES)の識別子、配信先(サブ範囲の代表ESの識別子)、配信元から配信先までの経路、想定スループット、および所要時間が含まれる。配信スケジュール作成部132は、作成したデータ配信情報を、配信スケジュール情報134aに、新たなレコードとして登録する。
[ステップS144]配信スケジュール作成部132は、経路上の全NWリンクが想定スループットを提供できる期間を特定する。例えば配信スケジュール作成部132は、経路上のNWリンクのNWリンク使用情報を参照し、経路上の全NWリンクにおいて、想定スループットを提供できる期間(配信可能期間)を特定する。NWリンク使用情報において、残帯域が想定スループット以上の期間は、そのNWリンクにおいて想定スループットを提供できる期間(提供可能期間)である。経路上のすべてのNWリンクにおいて提供可能期間となる期間が、配信可能期間である。
[ステップS145]配信スケジュール作成部132は、ステップS144で求めた配信可能期間内の所要時間分の時間帯で、最も早い時間帯を、配信時間帯に決定する。そして配信スケジュール作成部132は、経路上の各NWリンクの配信時間帯の期間と、その期間における想定スループット分の帯域とを、対象範囲の代表ESから、取得したサブ範囲の代表ESへのデータ送信に割り当てる。
[ステップS146]配信スケジュール作成部132は、データ配信情報に予定配信開始時刻と予定配信終了時刻とを追記する。例えば配信スケジュール作成部132は、ステップS145で決定した配信時間帯の開始時刻を、予定配信開始時刻とする。また配信スケジュール作成部132は、その配信時間帯の終了時刻を、予定配信終了時刻とする。そして配信スケジュール作成部132は、配信スケジュール情報134aに対してステップS144で追加したレコードに、予定配信開始時刻と予定配信終了時刻とを設定する。
[ステップS147]配信スケジュール作成部132は、対象範囲におけるすべてのサブ範囲について、代表ESへデータを配信するデータ配信情報が作成済みか否かを判断する。すべてのサブ範囲についてデータ配信情報の作成が完了した場合、範囲内配信スケジュール作成処理が終了する。データ配信情報を未作成のサブ範囲がある場合、処理がステップS142に進められる。
このようにして、配信スケジュールが作成される。作成された配信スケジュールに従ってデータ配信を行うことで、帯域の狭いNWリンクの使用頻度が低減され、全体の配信時間が短くなる。また、データ配信のすべての組み合わせを生成する場合に比べ、配信スケジュールの作成が容易となり、配信スケジュールを迅速に作成することができる。
以下、図8に示したNWトポロジにおいて識別子「dataA」のデータ(以下、データ「dataA」と呼ぶ)をFS「FS01」からES「ES01」〜「ES10」に配信する場合の、具体的なデータ配信の例について説明する。なおデータ「dataA」のサイズは18GBであるものとする。まず、図26〜図31を参照し、ES間配信範囲作成状況を説明する。
図26は、NW全体を対象としたサブ範囲の作成例を示す図である。全体の範囲を対象とする場合、FS「FS01」を始点としたES「ES01」〜「ES10」のグルーピングが行われる。例えば、FS「FS01」を始点とした各ES「ES01」〜「ES10」への配信経路が算出され、帯域幅が最小のNWリンク(BL)が同じとなるES同士が、同じサブ範囲にグルーピングされる。
図26の例では、ES「ES01」〜「ES05」が、識別子「Grp1」の範囲(以下、範囲「Grp1」と呼ぶ)にグルーピングされている。範囲「Grp1」に属するES「ES01」〜「ES05」は、中継ノード「A」と中継ノード「B」との間のNWリンク「L1」がBLである。
ES「ES06」〜「ES08」が、識別子「Grp2」の範囲(以下、範囲「Grp2」と呼ぶ)にグルーピングされている。範囲「Grp2」に属するES「ES06」〜「ES08」は、中継ノード「C」と中継ノード「F」との間のNWリンク「L10」がBLである。
ES「ES09」〜「ES10」が、識別子「Grp3」の範囲(以下、範囲「Grp3」と呼ぶ)にグルーピングされている。範囲「Grp3」に属するES「ES09」〜「ES10」は、中継ノード「C」と中継ノード「G」との間のNWリンク「L15」がBLである。
新たに範囲(サブ範囲)が生成されると、サブ範囲ごとに代表ESが選択される。代表ESの選択では、各サブ範囲に含まれるESの中で、直結しているNWリンクが最大となるESが、代表ESとして選択される。
例えば図26に示す範囲「Grp1」の場合、5台のES「ES01」〜「ES05」が含まれる。ES「ES01」に直結しているリンク「L4」の帯域は「100Mbps」である。ES「ES02」に直結しているリンク「L5」の帯域は「80Mbps」である。ES「ES03」に直結しているリンク「L6」の帯域は「50Mbps」である。ES「ES04」に直結しているリンク「L7」の帯域は「80Mbps」である。ES「ES05」に直結しているリンク「L8」の帯域は「50Mbps」である。
ES「ES01」〜「ES05」の中で直結しているNWリンクの帯域が最大なのはES「ES01」である。そこでES「ES01」が代表ESとして選択される。
同様に、範囲「Grp2」の代表ESとして、ES「ES08」が選択される。また範囲「Grp3」の代表ESとして、ES「ES10」が選択される。
このようにサブ範囲の作成と代表ESの選択結果に応じて、範囲情報123aが更新される。
図27は、範囲情報の生成例を示す第1の図である。図27の例では、範囲情報123aに、NW全体を範囲(範囲id「all」)とするレコードと、生成したサブ範囲(範囲「Grp1」、「Grp2」、「Grp3」)それぞれに対応するレコードが追加されている。またサブ範囲として生成された範囲「Grp1」、「Grp2」、「Grp3」が、NW全体の範囲のレコードのサブ範囲の欄に追加されている。
図26,図27に示した処理で作成されたサブ範囲には、複数のESが含まれている。そこで、作成した各サブ範囲を対象に、そのサブ範囲に属するESがグルーピングされサブ範囲が作成される。そして、作成したサブ範囲の代表ESが選択される。
図28は、範囲「Grp1」、「Grp2」、「Grp3」を対象としたサブ範囲の作成例を示す図である。
範囲「Grp1」については、識別子が「Grp11」、「Grp12」、「Grp13」の3つのサブ範囲(以下、範囲「Grp11」、「Grp12」、「Grp13」と呼ぶ)が作成されている。範囲「Grp11」の代表ESは、ES「ES02」である。範囲「Grp12」の代表ESは、ES「ES03」である。範囲「Grp13」の代表ESは、ES「ES04」である。
範囲「Grp2」については、識別子が「Grp21」の1つのサブ範囲(以下、範囲「Grp21」と呼ぶ)が作成されている。範囲「Grp21」の代表ESは、ES「ES06」である。
範囲「Grp3」については、識別子が「Grp31」の1つのサブ範囲(以下、範囲「Grp31」と呼ぶ)が作成されている。範囲「Grp31」の代表ESは、ES「ES09」である。
そして、図28に示したようなサブ範囲(範囲「Grp11」、「Grp12」、「Grp13」、「Grp21」、「Grp31」)に対応する情報が、範囲情報123aに追加される。
図29は、範囲情報の生成例を示す第2の図である。図29の例では、範囲情報123aに、生成したサブ範囲(範囲id「Grp11」、「Grp12」、「Grp13」、「Grp21」、「Grp31」)それぞれに対応するレコードが追加されている。また生成されたサブ範囲の識別子が、生成元の範囲のレコードのサブ範囲の欄に設定されている。
図28,図29に示した処理で作成されたサブ範囲のうち、範囲「Grp13」、「Grp21」の各範囲には、複数のESが含まれている。そこで、これらの範囲について、さらにサブ範囲が生成される。
図30は、範囲「Grp13」、「Grp21」を対象としたサブ範囲の作成例を示す図である。
範囲「Grp13」については、識別子が「Grp131」の1つのサブ範囲(以下、範囲「Grp131」と呼ぶ)が作成されている。範囲「Grp131」の代表ESは、ES「ES05」である。
範囲「Grp21」については、識別子が「Grp211」の1つのサブ範囲(以下、範囲「Grp211」と呼ぶ)が作成されている。範囲「Grp211」の代表ESは、ES「ES07」である。
そして、図30に示したようなサブ範囲(範囲「Grp131」、「Grp211」)に対応する情報が、範囲情報123aに追加される。
図31は、範囲情報の生成例を示す第2の図である。図31の例では、範囲情報123aに、生成したサブ範囲(範囲id「Grp131」、「Grp211」)それぞれに対応するレコードが追加されている。また生成されたサブ範囲の識別子が、生成元の範囲のレコードのサブ範囲の欄に設定されている。
図31に示す範囲情報123aに登録されたレコードのうち、サブ範囲が設定されていないレコードの所属ESは、いずれも1台である。従って、範囲情報生成処理は終了し、図31に示した範囲情報123aに基づいて、配信スケジュール生成処理が行われる。
まず、NW全体の範囲を対象とした配信スケジュールの作成が行われる。この場合、まず、NW全体にとってのサブ範囲である範囲「Grp1」、「Grp2」、「Grp3」が、BLの帯域の小さい順にソートされる。すると、範囲「Grp2」、「Grp1」、「Grp3」の順となる。次に、ソート順に代表ESへの配信スケジュールが決定される。
図32は、範囲「Grp2」向けの配信スケジュール決定例を示す図である。範囲「Grp2」の代表ESはES「ES08」である。そこで、配信スケジュール情報134aに、FS「FS01」からES「ES08」へのデータ配信を示すデータ配信情報「d00」が、1つのレコードとして追加される。そのデータ配信情報の経路に示されているNWリンクのNWリンク使用情報133a〜133dに基づいて、データの配信時間帯が決定される。すなわち、経路内の全NWリンク(NWリンク「L0」、「L9」、「L10」、「L14」)について、想定スループット分の帯域を、所要時間の間提供できる期間(配信可能期間)が特定される。図32の例では、どのNWリンクもデータ配信は未割当なので、データ配信開始時刻が「00:00」からの場合、「0:00〜02:00」の間に20Mbps分の帯域が提供可能である。そこで、「0:00〜02:00」が配信期間に決定し、全NWリンクの使用情報に、特定した期間の帯域の割当て結果が反映される。そして、データ配信情報「d00」に、予定開始時刻「00:00」、予定終了時刻「02:00」が追加される。
残りのサブ範囲(「Grp1」、「Grp2」)についても、ソート順にFS「FS01」から代表ESまでの配信スケジュールが決定される。そして、決定されたスケジュールに従って、配信スケジュール情報134aが更新される。
図33は、NW全体の範囲を対象とした配信スケジュール作成後の配信スケジュール情報の例を示す図である。図33に示すように、FS「FS01」から、サブ範囲(「Grp1」、「Grp2」)それぞれの代表ESであるES「ES01」、「ES10」へのデータ配信情報が、配信スケジュール情報134aに追加されている。このような配信スケジュール情報134aに従って、FS「FS01」を配信元としたデータ配信が行われる。
図34は、NW全体の範囲を対象とした配信スケジュールに応じたデータ配信状況を示す図である。図34に示すように、サブ範囲それぞれの1台ずつのESに、FS「FS01」からデータが配信される。
データ配信情報の配信期間が確定すると、経路上のNWリンクのNWリンク使用情報が更新される。
図35は、NW全体の範囲を対象とした配信スケジュール作成後のNWリンク使用情報の例を示す図である。図35に示すように、NWリンクごとのNWリンク使用情報133a,133b,133eには、確定した配信スケジュールに沿ってデータ配信が行われたときの、各NWリンクの使用帯域および残帯域の時間遷移が示される。例えば識別子「L0」のNWリンクでは、時刻「00:00」から3つのデータ配信が同時に実行開始され、75Mbpsの帯域が使用される。時刻「01:20」には、ES「ES10」へのデータ配信が終了し、使用帯域は45Mbpsに低下する。さらに時刻「01:36」には、ES「ES01」へのデータ配信が終了し、使用帯域は20Mbpsに低下する。
次に、配信NW全体から作成された各サブ範囲(範囲「Grp1」、「Grp2」、「Grp3」)を対象とした配信スケジュールが決定される。そして、決定されたスケジュールに従って、配信スケジュール情報134aが更新される。
図36は、範囲「Grp1」、「Grp2」、「Grp3」を対象とした配信スケジュール作成後の配信スケジュール情報の例を示す図である。例えば範囲「Grp1」について、範囲「Grp1」にとってのサブ範囲(範囲「Grp11」、「Grp12」、「Grp13」)に向けた配信スケジュールが作成され、該当配信スケジュールを示すデータ配信情報が配信スケジュール情報134aに追加される。追加されたデータ配信情報における先行データ配信は、配信元であるES「ES01」への配信(データ配信情報「d00」)である。これは、配信元であるES「ES01」にデータが配信されないと、データ配信情報「d03」、「d04」、「d05」に従ったデータ配信が開始できないことを示している。
図37は、範囲「Grp1」、「Grp2」、「Grp3」を対象とした配信スケジュールに応じたデータ配信状況を示す図である。図37に示すように、範囲「Grp1」、「Grp2」、「Grp3」それぞれにおいて、サブ範囲それぞれの1台ずつのESに、代表ESであるES「ES01」、「ES08」、「ES10」からデータが配信される。
なお、ES「ES01」を配信元とするデータ配信先は、ES「ES02」〜「ES04」の3台である。この3台に同時にデータ配信を開始できるかどうかは、重複する経路である、NWリンク「L4」の使用帯域および残帯域に依存する。
図38は、NWリンク「L4」のNWリンク使用情報の例を示す図である。時刻「00:00」〜時刻「01:36」の時間帯は、データ配信情報「d00」に基づくデータ配信で使用される。NWリンク「L4」の空き状況から、データ配信情報「d03」、「d04」では、時刻「01:36」から同時に配信開始が可能となっている。ただし、時刻「01:36」からの識別子「L4」のNWリンクの残帯域が20Mbpsしかない。この残帯域は、データ配信情報「d05」における想定TP(80Mbps)未満である。そのため、NWリンク「L4」の残帯域が80Mbps以上になる時刻「2:56」まで、データ配信情報「d05」に応じたデータ配信の開始が待たされる。
図36に示すように、範囲「Grp2」、「Grp3」についても、内部でのサブ範囲への配信スケジュールを示すデータ配信情報「d06」、「d07」が生成され、配信スケジュール情報134aに追加される。
次に、範囲「Grp1」、「Grp2」、「Grp3」それぞれから作成された各範囲「Grp11」、「Grp12」、「Grp13」、「Grp21」、「Grp31」を対象とした配信スケジュールが決定される。なお、範囲「Grp1」から作成された各範囲「Grp11」、「Grp12」、「Grp13」のうち、範囲「Grp11」、「Grp12」については、サブ範囲が作成されていないため処理がスキップする。また範囲「Grp3」から作成された各範囲「Grp31」についても、サブ範囲が作成されていないため処理がスキップする。その結果、範囲「Grp13」、「Grp21」を対象とした配信スケジュールが決定される。そして、決定されたスケジュールに従って、配信スケジュール情報134aが更新される。
図39は、範囲「Grp13」、「Grp21」を対象とした配信スケジュール作成後の配信スケジュール情報の例を示す図である。例えば範囲「Grp13」について、範囲「Grp13」にとってのサブ範囲(範囲「Grp131」)に向けた配信スケジュールが作成され、該当配信スケジュールを示すデータ配信情報「d08」が配信スケジュール情報134aに追加される。また範囲「Grp21」について、範囲「Grp21」にとってのサブ範囲(範囲「Grp211」)に向けた配信スケジュールが作成され、該当配信スケジュールを示すデータ配信情報「d09」が配信スケジュール情報134aに追加される。
図40は、範囲「Grp13」、「Grp21」を対象とした配信スケジュールに応じたデータ配信状況を示す図である。図40に示すように、範囲「Grp13」、「Grp21」それぞれにおいて、サブ範囲それぞれの1台ずつのESに、代表ESであるES「ES04」、「ES06」からデータが配信される。その結果、すべてのESにデータが配信されたことになる。すなわち、図39に示す配信スケジュール情報に従ってデータ配信を行えば、すべてのESでデータ配信される。その結果、配信スケジュールの作成が終了する。
配信スケジュールの作成が終了すると、作成した配信スケジュールを示す配信スケジュール情報が、配信スケジュール通知部141によって各ESに通知される。
図41は、配信スケジュールの通知例を示す図である。配信管理システム100からES51,52,53,・・・に、配信スケジュール情報61,62,63,・・・が送信される。送信される配信スケジュール情報61,62,63,・・・には、例えば、「配信元、配信データ、予定配信開始時刻、予定配信終了時刻」が含まれる。各ES51,52,53,・・・は、受け取った配信スケジュール情報61,62,63,・・・をもとに、自身の予定配信時刻になると配信元からデータ取得を開始する。
このように、配信時間がかかる配信(帯域幅の小さいNWリンクを経由するデータ配信)を抑えて、ES間でのデータ配信が早く進むように配信先ESの配信順序を決めることで、全体の配信時間を短くできる。
また、複数の配信順序のパターンを比較することがないため、計算量の削減ができる。例えば第2の実施の形態における配信スケジュールの作成の計算量は、ES数がN台の場合、1回のループで行われる処理の計算量はO(NlogN)である。計算量の算出方法は以下の通りである。
A)配信経路の算出:始点から残りの全ESへの経路の計算量は、最大でO(NlogN)である。
B)範囲の抽出:A)で算出した各ESへの経路を1つずつチェックするため、計算量はO(N)である。
C)代表ESの特定:B)で算出した各グループにおいて、所属する全ESに関して直結するNWリンクの帯域を確認することとなる。全グループに所属するES数分行われるため、計算量は最大でO(N)である。
D)始点から代表ESへのスケジュール計算:C)で算出した各代表ESについて、経路上のNWリンクの残帯域を確認することとなる。グループに所属するES分行われるため、計算量は最大でO(N)である。
上記の処理が、NW全体を対象にした1回分と、ES数が2以上の範囲分行われる。該当する範囲は最大でN個出来るので、計算量は最悪でO(N2logN)となる。もしES数が2以上の範囲が出来なかった場合(全ESにおいて、直結するNWリンクがBLとなるケース)は、範囲分の計算の計算量はO(NlogN)となる。この計算量は、全パターンの組み合わせ最適化問題を解く場合の計算量O(N5)に比べて、非常に少ない。すなわち、少ない計算負荷で、効率的な配信スケジュールを作成することが可能となっている。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、複数のデータを配信する場合の例である。
図42は、第3の実施の形態を適用するNWリポジトリの例を示す図である。複数データを送信する場合は、総要求データサイズの大きい順に配信スケジュールの作成を優先する。総要求データサイズは、以下の式で計算できる。
総要求データサイズ=要求データのサイズ×各データを要求しているES数
総要求データサイズの大きい順に配信スケジュールを作成するには、データサイズが大きく、配信数が多いデータほど、配信完了までに時間がかかるためである。
図42の例では、18GBのデータ「dataA」と、15GBのデータ「dataB」とを配信するものとする。データ「dataA」を要求しているES数は10台であり、データ「dataB」を要求しているES数は2台である。この場合、データ「dataA」の総要求サイズは、18GB×10ES=180GBであり、データ「dataB」総要求サイズは15GB×2ES=30GBである。その結果、データ「dataA」についての配信スケジュールが優先的に作成される。
次に、第3の実施の形態におけるデータ配信管理手順について説明する。
図43は、複数のデータを配信する場合のデータ配信管理手順の一例を示すフローチャートである。以下、図43に示す処理をステップ番号に沿って説明する。
[ステップS201]ES間配信範囲作成管理部121とES間配信範囲作成部122とが連携し、範囲情報123a(図18参照)を生成する。範囲情報生成処理の詳細は、図22に示した通りである。
[ステップS202]配信スケジュール作成管理部131は、配信対象のデータそれぞれについて、そのデータの総通信量を計算する。
[ステップS203]配信スケジュール作成管理部131、総通信量が大きい順に、スケジューリング対象のデータを選択する。
[ステップS204]配信スケジュール作成管理部131と配信スケジュール作成部132とが連携して、配信対象として選択したデータの配信スケジュール情報134a(図20参照)を生成する。配信スケジュール生成処理の詳細は、図24に示した通りである。
[ステップS205]配信スケジュール作成管理部131は、全データを、スケジューリング対象として選択したか否かを判断する。未選択のデータがある場合、処理がステップS203に進められる。すべてのデータについて選択済みであれば、処理がステップS206に進められる。
[ステップS106]配信スケジュール通知部141は、配信スケジュール情報に示される各ESへのデータの配信スケジュールを、各ESに通知する。
このような手順で、複数のデータそれぞれについての配信スケジュールが作成される。図42に示した例であれば、先にデータ「dataA」の配信スケジュールが作成され、その後、データ「dataB」の配信スケジュールが作成される。データ「dataA」の配信スケジュールは、図39に示した通りである。以下、データ「dataB」の配信スケジュールの作成例について説明する。図42の例では、データ「dataB」の受信要求を出しているES「ES06」、「ES08」は、いずれも範囲「Grp2」に属している。従って、まず、範囲「Grp2」向けの配信スケジュールが決定される。
図44は、データ「dataB」の範囲「Grp2」向けの配信スケジュール決定例を示す図である。範囲「Grp2」の代表ESはES「ES08」である。そこで、配信スケジュール情報134aに、FS「FS01」からES「ES08」へのデータ配信を示すデータ配信情報「d10」が、1つのレコードとして追加される。そのデータ配信情報の経路に示されているNWリンクのNWリンク使用情報133a〜133dに基づいて、データの配信時間帯が決定される。すなわち、経路内の全NWリンク(NWリンク「L0」、「L9」、「L10」、「L14」)について、想定スループット分の帯域を、所要時間の間提供できる期間(配信可能期間)が特定される。図44の例では、時刻「02:00」以降に20Mbps分の帯域が提供可能である。そこで、「02:00〜03:40」が配信期間に決定し、全NWリンクの使用情報に、特定した期間の帯域の割当て結果が反映される。そして、データ配信情報「d10」に、予定開始時刻「02:00」、予定終了時刻「03:40」が追加される。
図45は、データ「dataB」の範囲「Grp2」向けの配信スケジュールに応じたデータ配信状況を示す図である。図45に示すように、FS「FS01」から、範囲「Grp2」内の代表ESであるES「ES08」に、データ「dataB」が配信される。
同様に、範囲「Grp2」にとってのサブ範囲(範囲「Grp21」)向けの配信スケジュールが決定される。そして、配信スケジュール情報134aが更新される。
図46は、範囲「Grp21」向けの配信スケジュール作成後の配信スケジュール情報の例を示す図である。図46に示すように、図44に示したデータ配信情報「d10」に加え、ES「ES08」から、サブ範囲(範囲「Grp21」)の代表ESであるES「ES06」へのデータ配信情報「d11」が、配信スケジュール情報134aに追加されている。このような配信スケジュール情報134aに従って、FS「FS01」を配信元としたデータ配信が行われる。
図47は、データ「dataB」の範囲「Grp21」向けの配信スケジュールに応じたデータ配信状況を示す図である。図47に示すように、ES「ES08」から、範囲「Grp21」内の代表ESであるES「ES06」に、データ「dataB」が配信される。その結果、データ「dataB」の配信を要求するすべてのESにデータ「dataB」が配信されることになり、配信スケジュールの作成処理が終了する。
このように総通信量が大きいデータを優先して送信するように配信スケジュールを作成することで、配信完了までに時間がかかるデータの配信を先行して実行させることができ、全体のデータ配信の終了時刻を早めることができる。
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態は、データの送信レートを動的に変更可能とすることで、データ配信の効率化を図るものである。
第2の実施の形態の図38に示した例では、データ配信情報「d05」に示される配信スケジュールは、NWリンク「L4」の時刻「01:36」からの残帯域(20Mbps)が、データ配信情報「d05」の想定スループット(80Mbps)未満である。第2の実施の形態では、このような場合、NWリンク「L4」の残帯域が80Mbps以上になるまで、データ配信情報「d05」に基づくデータ配信が待たされる。しかしながら、各配信の送信レート(スループット)を制御する場合は、想定TP以下でも空き帯域分を使って早めに配信を行うことで、配信時間のさらなる短縮が期待できる。
ここで、NW全体の範囲を対象とした配信スケジュール作成後であり、これから範囲「Grp1」、「Grp2」、「Grp3」を対象とした配信スケジュールを作成する場合を想定する。この時点で決定されている配信スケジュールは、図33に示す通りである。このような状態で、図47に示すような、範囲「Grp1」、「Grp2」、「Grp3」を対象とした配信スケジュールの作成が行われる。この場合、データ配信情報「d03」、「d04」は、第2の実施の形態と同様に作成される。その後、データ配信情報「d05」を作成する段階で、データの転送レートの動的変更を前提とした配信スケジュールが作成される。
図48は、データ配信情報「d05」の配信スケジュール決定前の配信スケジュール情報の例を示す図である。図48に示すように、データの転送レートを変動させる場合、想定TPと所要時間は、配信スケジュールが確定するまで決まらない。
データ配信情報「d05」の配信スケジュールは、データ配信情報「d03」、「d04」の配信スケジュール決定時点でのNWリンク「L4」の使用状況に依存する。
図49は、データ配信情報「d05」の配信スケジュール決定前のNWリンク「L4」のNWリンク使用情報の例を示す図である。図49に示すように、NWリンク「L4」は、データ配信情報「d00」、「d03」、「d04」に応じたデータ配信の分だけ、帯域が使用される。
データ配信情報「d05」についての先行データ配信は、データ配信情報「d01」である。そのためデータ配信情報「d01」の予定終了時刻「01:36」以降、データ配信情報「d05」に応じたデータ配信が可能となる。
そこで、時間帯「01:36〜02:24」(48分間)は残帯域(20Mbps)分を想定TPとして、データ配信情報「d05」に応じたデータ配信を行うことができる。この期間に7.2GB分のデータを配信できる(20[Mbps]×(48×60)[sec]/8)。
時間帯「02:24〜02:56」は残帯域(70Mbps)分を想定TPとして、データ配信情報「d05」に応じたデータ配信を行うことができる。時刻「02:24」までに7.2GB分を送信済みなので、残り10.8GBを70Mbpsで配信すると21分で残りのデータを送信可能である。
このように、前半は想定TPを20Mbpsとし、後半は想定TPを70Mbpsとする配信スケジュールが作成される。決定された配信スケジュールに応じて、配信スケジュール情報134aにおけるデータ配信情報「d05」の内容が更新される。
図50は、データ配信情報「d05」の配信スケジュール決定後の配信スケジュール情報の例を示す図である。図50に示すように、送信レート制御を行う場合、データ配信情報「d05」の経路上のBLの帯域(80Mbps)よりも経路上のNWリンクの残帯域が少ない場合は、残帯域で転送可能な想定TPでデータ転送が開始される。他のデータ転送が終了し、経路上のNWリンクの残帯域が増えると、その時刻から、想定TPを増加したデータ転送が行われる。配信スケジュール情報134aでは、データ配信情報「d05」における想定TP、所要時間、予定開始時刻、予定終了時刻が複数存在することになる。
データ配信情報「d05」の配信スケジュールが決定されると、NWリンク使用情報も更新される。
図51は、データ配信情報「d05」の配信スケジュール決定後のNWリンク「L4」のNWリンク使用情報の例を示す図である。図51に示すように、NWリンク「L4」について、時間帯「01:36〜02:24」には、残帯域が「0」となる。すなわち、NWリンクの資源を無駄なく利用されている。
このように第3の実施の形態では、データの送信レートを動的に変更することを前提として配信スケジュールを作成することで、NWリンクの資源を無駄なく利用した、効率的なデータ配信が行われる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 データ提供装置
2a〜2g 配信先装置
3a〜3g 中継装置
4a〜4c グループ
10 配信スケジュール作成装置
11 記憶部
12 演算部
13 配信スケジュール

Claims (7)

  1. コンピュータに、
    配信対象のデータを保持するデータ提供装置、前記データの配信先となる複数の配信先装置、および前記データ提供装置と前記複数の配信先装置との間の通信を中継する複数の中継装置の接続関係と、前記データ提供装置、前記複数の配信先装置、および前記複数の中継装置のうちの2つの装置間を通信接続する複数のリンクそれぞれの通信速度とを示すトポロジ情報に基づいて、前記複数の配信先装置のうち、前記データ提供装置との間の通信経路上の通信速度が最低のリンクが共通の配信先装置同士を、同じグループに分類し、
    前記グループに属する配信先装置のうち、直結しているリンクの通信速度が最も高い第1配信先装置を特定し、
    前記データ提供装置から前記グループ内の前記第1配信先装置に前記データを送信し、次に、前記第1配信先装置から前記グループ内の前記第1配信先装置以外の第2配信先装置に前記データを送信するように、前記データの配信スケジュールを作成する、
    処理を実行させる配信スケジュール作成プログラム。
  2. 前記コンピュータに、さらに、
    前記グループに属する前記第2配信先装置が複数ある場合、前記第2配信先装置のうち、前記第1配信先装置との間の通信経路上の通信速度が最低のリンクが共通の第2配信先装置同士を同じサブグループに分類し、
    前記サブグループに属する前記第2配信先装置のうち、直結しているリンクの通信速度が最も高い第3配信先装置を特定し、
    前記配信スケジュールの作成では、前記データ提供装置から前記グループ内の第1配信先装置に前記データを送信し、次に、前記第1配信先装置から、前記サブグループ内の前記第3配信先装置に前記データを送信し、次に、前記第3配信先装置から、前記サブグループ内の前記第3配信先装置以外の第4配信先装置に、前記データを送信するように、前記データの配信スケジュールを作成する、
    請求項1記載の配信スケジュール作成プログラム。
  3. 前記配信スケジュールの作成では、前記グループが複数ある場合、前記グループそれぞれに属する配信先装置と前記データ提供装置との間の通信経路上の通信速度が最低のリンクの該通信速度が低い前記グループほど、前記グループ内の前記第1配信先装置への前記データの送信を優先して行うように、前記配信スケジュールを作成する、
    請求項1または2記載の配信スケジュール作成プログラム。
  4. 前記配信スケジュールの作成では、配信対象のデータが複数ある場合、複数のデータそれぞれについて、データの配信を要求している全配信先装置に該データが配信されるまでに送信されるデータ量の累計を示す総通信量を計算し、前記総通信量が多いデータほど該データの送信を優先して行うように、前記配信スケジュールを作成する、
    請求項1乃至3のいずれかに記載の配信スケジュール作成プログラム。
  5. 前記配信スケジュールの作成では、前記配信先装置ごとに、前記データの配信元となる前記データ提供装置または他の配信先装置からデータの配信を受けるときの通信速度を決定し、該通信速度の決定では、データの配信元となる前記データ提供装置または他の配信先装置との間の通信経路上のリンクそれぞれについて、リンクの通信速度から、該リンクを使用するデータ配信の通信速度を減算した残帯域を算出し、複数の時間帯ごとに、最も残帯域の少ないリンクの該残帯域に合わせた通信速度に決定する、
    請求項1乃至4のいずれかに記載の配信スケジュール作成プログラム。
  6. コンピュータが、
    配信対象のデータを保持するデータ提供装置、前記データの配信先となる複数の配信先装置、および前記データ提供装置と前記複数の配信先装置との間の通信を中継する複数の中継装置の接続関係と、前記データ提供装置、前記複数の配信先装置、および前記複数の中継装置のうちの2つの装置間を通信接続する複数のリンクそれぞれの通信速度とを示すトポロジ情報に基づいて、前記複数の配信先装置のうち、前記データ提供装置との間の通信経路上の通信速度が最低のリンクが共通の配信先装置同士を、同じグループに分類し、
    前記グループに属する配信先装置のうち、直結しているリンクの通信速度が最も高い第1配信先装置を特定し、
    前記データ提供装置から前記グループ内の前記第1配信先装置に前記データを送信し、次に、前記第1配信先装置から前記グループ内の前記第1配信先装置以外の第2配信先装置に前記データを送信するように、前記データの配信スケジュールを作成する、
    配信スケジュール作成方法。
  7. 配信対象のデータを保持するデータ提供装置、前記データの配信先となる複数の配信先装置、および前記データ提供装置と前記複数の配信先装置との間の通信を中継する複数の中継装置の接続関係と、前記データ提供装置、前記複数の配信先装置、および前記複数の中継装置のうちの2つの装置間を通信接続する複数のリンクそれぞれの通信速度とを示すトポロジ情報を記憶する記憶部と、
    前記トポロジ情報に基づいて、前記複数の配信先装置のうち、前記データ提供装置との間の通信経路上の通信速度が最低のリンクが共通の配信先装置同士を、同じグループに分類し、前記グループに属する配信先装置のうち、直結しているリンクの通信速度が最も高い第1配信先装置を特定し、前記データ提供装置から前記グループ内の前記第1配信先装置に前記データを送信し、次に、前記第1配信先装置から前記グループ内の前記第1配信先装置以外の第2配信先装置に前記データを送信するように、前記データの配信スケジュールを作成する、演算部と、
    を有する配信スケジュール作成装置。
JP2016105789A 2016-05-27 2016-05-27 配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置 Active JP6623932B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016105789A JP6623932B2 (ja) 2016-05-27 2016-05-27 配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置
US15/494,583 US10944846B2 (en) 2016-05-27 2017-04-24 Distribution schedule creation method and distribution schedule creation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016105789A JP6623932B2 (ja) 2016-05-27 2016-05-27 配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置

Publications (2)

Publication Number Publication Date
JP2017212661A JP2017212661A (ja) 2017-11-30
JP6623932B2 true JP6623932B2 (ja) 2019-12-25

Family

ID=60418643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016105789A Active JP6623932B2 (ja) 2016-05-27 2016-05-27 配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置

Country Status (2)

Country Link
US (1) US10944846B2 (ja)
JP (1) JP6623932B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10263884B2 (en) * 2017-03-04 2019-04-16 Vmware, Inc. Coordinated content distribution over network
JP6854491B2 (ja) * 2019-03-12 2021-04-07 株式会社Gunしすてむ ファイル転送システム、ファイル転送方法およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000022686A (ja) 1998-07-02 2000-01-21 Matsushita Electric Ind Co Ltd データ配布方法及び装置
JP3596736B2 (ja) 1999-04-01 2004-12-02 日本電信電話株式会社 マルチキャストデータ配信方法
US7333438B1 (en) * 2002-06-21 2008-02-19 Nortel Networks Limited Priority and policy based recovery in connection-oriented communication networks
US7415527B2 (en) * 2003-06-13 2008-08-19 Satyam Computer Services Limited Of Mayfair Centre System and method for piecewise streaming of video using a dedicated overlay network
US7936770B1 (en) * 2005-03-08 2011-05-03 Enterasys Networks, Inc. Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
CN102783089B (zh) * 2010-03-10 2017-06-06 瑞典爱立信有限公司 用于估计子路径的可用带宽的方法

Also Published As

Publication number Publication date
US20170346922A1 (en) 2017-11-30
US10944846B2 (en) 2021-03-09
JP2017212661A (ja) 2017-11-30

Similar Documents

Publication Publication Date Title
US10255052B2 (en) Dynamic deployment of an application based on micro-services
JP6501918B2 (ja) 計算ワークフローにおいてサービス品質を確保するためのシステム及び方法
JP6212655B2 (ja) 分散システム、計算機、及び、仮想マシンの配置方法
TWI549080B (zh) The method, system and device for sending information of category information
US8843632B2 (en) Allocation of resources between web services in a composite service
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
US20180102946A1 (en) Operator fusion management in a stream computing environment
US8875149B2 (en) Product-specific system resource allocation within a single operating system instance
US8874751B2 (en) Candidate set solver with user advice
US20160274951A1 (en) Virtual middle box management system, virtual middle box management method, and virtual middle box management program
JP2012099062A (ja) サービス連携システムおよび情報処理システム
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
JP6269140B2 (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
JP6623932B2 (ja) 配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置
JP5108011B2 (ja) バス接続されたコンシューマとプロデューサとの間でのメッセージ・フローを削減するためのシステム、方法、およびコンピュータ・プログラム
WO2013145310A1 (ja) データストリームの並列処理プログラム、方法、及びシステム
JP6754115B2 (ja) 選択装置、装置選択方法、プログラム
Li et al. Joint scheduling and source selection for background traffic in erasure-coded storage
CN108810130B (zh) 一种分配请求规划的方法和装置
US20200076681A1 (en) Volume allocation management apparatus, volume allocation management method, and volume allocation management program
JP6127754B2 (ja) プログラム、排他制御要求振り分け方法およびシステム
CN111427682B (zh) 任务分配方法、系统、装置及设备
JP7037059B2 (ja) リソース管理システム、および、リソース割当プログラム
JP6020014B2 (ja) 分散データストア管理装置、分散並列処理実行装置、分散並列処理システム、分散データストア管理方法、分散並列処理実行方法、および、コンピュータ・プログラム
JP5410155B2 (ja) データ分割システム及びデータ分割方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191111

R150 Certificate of patent or registration of utility model

Ref document number: 6623932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150