【国等の委託研究の成果に係る記載事項】(出願人による申告)平成25年度、総務省、「ネットワーク仮想化技術の研究開発」のうち、「統合ネットワーク管理制御プラットフォーム技術」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記時間算出部は、前記配信経路のリンクのうち、最小値となる空き帯域と前記ファイルサイズとから前記配信にかかる時間を算出することを特徴とする請求項2乃至4のいずれか一項記載のデータ配信制御装置。
網に接続されるデバイスへデータを配信する複数の配信サーバと、前記データの配信をスケジュールする管理サーバと、該データを配信する配信経路を確保するコントローラとを有するデータ配信システムにおいて、
前記管理サーバは、
前記複数の配信サーバ夫々からの前記データの配信要求に応じて、配信を完了する配信期限までの残り時間内で該データを配信完了可能か否かを判断し、配信可能な場合に、前記配信サーバへ前記配信要求に対して応答し、
配信に時間のかかるデータほど、高優先に配信する配信スケジュールを行い、前記コントローラに、前記配信スケジュールに対応する帯域を前記網に設定し、
前記複数の配信サーバの各々は、
前記管理サーバへ前記配信要求を送信し、前記応答を受信した場合に、前記データの配信が可能となり、
前記コントローラは、
前記管理サーバによって設定された前記帯域で、前記複数の配信サーバ夫々からの前記データの配信を制御する
ことを特徴とするデータ配信システム。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面に基づいて説明する。先ず、M2M(Machine to Machine)ネットワーク構成の一例について
図1で説明する。
図1は、M2Mネットワーク構成例を示す図である。
図1に示すネットワーク構成では、配信ファイル管理サーバ100は、SDN(Software Defined Networking)コントローラ40と、ネットワーク監視サーバ50と、ファイル配信サーバ60A、60B等(総称して、ファイル配信サーバ60と言う)とに接続される。配信ファイル管理サーバ100は、データ配信制御装置に相当する。
【0013】
SDN(Software Defined Networking)コントローラ40と、ネットワーク監視サーバ50と、ファイル配信サーバA、B等は、M2Mネットワーク3に接続される。また、データ収集サー70は、センサーデバイスa1、a2、b1、b2等(総称して、センサーデバイス1と言う)もM2Mネットワーク3に接続される。
【0014】
M2Mネットワーク3は、複数のネットワーク装置3aによって形成される。ネットワーク装置3aは、スイッチやルータ等のデータ中継装置である。ネットワーク装置3aには様々なデバイス、機器等が接続される。
【0015】
図1に例示するネットワーク構成において、各センサーデバイス1は、データ収集サーバ70へデータを送信する。また、ファイル配信サーバ60からセンサーデバイス1へファームウェア等のアップデート用のファイルが配信される。ファイルは、配信予定データに相当する。
【0016】
SDNコントローラ40は、ファイル配信サーバ60によるファイル配信の経路(ファイル配信経路)を確保する。SDNコントローラ40は、ファイル配信サーバ60からのファイル配信経路、帯域、確保時間の情報に基づいて、M2Mネットワーク3を形成する複数のネットワーク装置3aへの設定を行い、ファイル配信経路を確保する。
【0017】
ネットワーク監視サーバ50は、ネットワーク状況(各リンクの帯域使用率)を示す情報をネットワークから収集する。収集した情報は、過去データとして保持される。
【0018】
配信ファイル管理サーバ100は、ファイル配信サーバ60から配信されるファイルを一元管理し、ファイル配信の制御を行う。また、配信ファイル管理サーバ100は、配信するファイルの配信経路、配信帯域、配信順序、配信タイミングを設計する。
【0019】
図1に示したネットワーク構成におけるデバイスや機器間のデータ通信、ファイル配信の例を説明する。M2Mネットワークに接続されるセンサーデバイスa1、a2、b1、b2がデータ収集サーバ70へデータ通信を行う。ファイル配信サーバ60Aからセンサーデバイスa1及びa2へファームウェアなどのファイルが配信される。同様に、ファイル配信サーバ60Bからセンサーデバイスb1及びb2へファイルが配信される。
【0020】
ここで、本実施例における処理の概要を説明する。配信ファイル管理サーバ100は、ファイル配信サーバ60から受信したファイル管理情報(配信サーバID、配信ファイル識別子、ファイルサイズ、配信期限、配信元情報、配信先情報)を管理する。
【0021】
配信ファイル管理サーバ100は、ファイル配信スケジュール設計を周期ごとに繰り返し行う。ネットワーク監視サーバ50の収集したネットワーク情報のトラフィック過去データをもとに、ネットワークの各リンクについて周期ごとの帯域使用率の最大値を管理する。管理方法については、後述される
図5で説明する。
【0022】
SDNコントローラ40は、ネットワーク構成情報の管理を行い、このネットワーク構成情報をもとに最適経路を算出する。
【0023】
ファイル配信サーバ60と、センサーデバイス1とは、ファイル分割配信に対応しており、配信サイズを指定することで分割配信と分割されたファイルの連結が可能である。
【0024】
図2は、配信ファイル管理サーバの機能構成例を示す図である。
図2において、配信ファイル管理サーバ100は、主に、ファイル配信制御処理部101と、最適経路計算エンジン部105と、ネットワーク監視サーバI/F152と、ファイル配信サーバI/F162と、SDNコントローラI/F142とを有する。
【0025】
ファイル配信制御部101は、アップデート等の期限付きファイルの配信を、ネットワーク状況に応じた空き帯域を利用することで、センサーデバイス1からデータ収集サーバ70へのファイル配信のためのファイル配信帯域を確保したファイル配信スケジュール設計を行う。
【0026】
SDNコントローラI/F(インタフェース)142は、ネットワーク監視サーバ50との通信を行う。ネットワーク監視サーバI/F152は、ネットワーク監視サーバ50との通信を行う。ファイル配信サーバI/F162は、各ファイル配信サーバ60との通信を行う。
【0027】
ファイル配信制御部101は、更に、トラフィック管理部121と、ファイル配信優先度設計処理部122と、配信スケジュール処理部123と、ファイル配信制御部125とを有する。
【0028】
トラフィック管理部121は、ネットワーク監視サーバI/F(インタフェース)152を介して、ネットワーク監視サーバ50から所定周期(例えば、1週間)毎にトラフィック統計情報を収集する処理部である。
【0029】
ファイル配信優先度設計処理部122は、ファイル配信サーバI/F162を介して、各ファイル配信サーバ60からファイル管理情報の登録要求を受信して、最適経路計算エンジン部105に、最適経路を計算させ、計算結果を用いて、ファイル配信優先度を設計する処理部である。
【0030】
また、ファイル配信優先度設計処理部122は、配信期限までのファイル配信を完了できるか否かを判断し、配信を完了できるだけの帯域を確保できない場合、ファイル配信サーバ60へ配信不可(配信NG)を応答し、ファイル情報DB32へのファイル管理情報の登録を行わないようにする。
【0031】
配信スケジュール処理部123は、配信スケジュール決定周期ごとに、ファイル配信優先度管理テーブル35で管理されている全ファイルについて、ファイル配信経路、配信帯域、配信開始時刻、帯域確保時間、配信サイズを計算する処理部である。
【0032】
配信スケジュール処理部123は、配信スケジュール決定周期ごとに、ネットワーク監視サーバI/F152を介して、ネットワーク監視サーバ50から最新のネットワーク情報を収集してトラフィック情報テーブル34を更新する。この最新のネットワーク情報を最適経路計算エンジン部105に入力して、各ファイルの配信経路として最もネットワーク負荷の少ない経路を検索する。
【0033】
配信スケジュール処理部123は、最適経路計算エンジン部105による配信経路データを含む計算結果に基づいて、配信経路の経路リンクの帯域使用率からファイル配信に割り当て可能な帯域を算出する。そして、配信スケジュール処理部123は、割り当て可能なファイル配信帯域とファイルサイズから帯域を確保する時間を算出して、配信スケジュール決定周期内に配信が完了するか否かを判断する。周期内に完了する場合は、全ファイルサイズを周期内に配信するスケジューリングを行い、周期内に完了しない場合は、配信ファイルを分割して次周期に跨ってファイル配信するスケジューリングを行う。このようにして得られたスケジュール設計結果は、ファイル配信スケジュールテーブル36に反映される。
【0034】
ファイル配信制御部124は、配信スケジュール処理部123による全ファイルの配信スケジュール設計の完了後、ファイル配信スケジュールテーブル36に従ったファイル配信制御を行う処理部である。
【0035】
ファイル配信制御部124は、ファイル毎にSDNコントローラI/F142を介して、SDNコントローラ40へ配信経路の確保要求を送信して、ファイル配信帯域を確保する。SDNコントローラ40から確保応答を受信後、ファイル配信サーバ60へファイル配信通知を送信して、ファイル配信を開始する。ファイル配信の完了時には、ファイル配信サーバ60から配信完了通知を受信して、ファイル情報DB32を更新する。
【0036】
最適経路計算エンジン部105は、ファイル配信優先度設計処理部122又は配信スケジュール処理部123からの指示に応じて、所定のアルゴリズムを用いて最適経路を計算する処理部である。
【0037】
ネットワーク監視サーバI/F152は、
配信ファイル管理サーバ100とネットワーク監視サーバ50間の通信を行うインタフェース部である。ファイル配信サーバI/F162は、
配信ファイル管理サーバ100とファイル配信サーバ60間の通信を行うインタフェース部である。SDNコントローラI/F142は、
配信ファイル管理サーバ100とSDNコントローラ40間の通信を行うインタフェース部である。
【0038】
トラフィック管理テーブル33は、トラフィック管理部121が、ネットワーク監視サーバ50から収集した全てのトラフィックデータであり、トラフィック管理部121によって管理される。トラフィック情報テーブル34は、配信スケジュール処理部123が、配信スケジュール決定周期で収集した最新のネットワーク情報を記憶したテーブルである。
【0039】
ファイル配信優先度管理テーブル35は、ファイルを配信する際の優先度を管理するテーブルである。ファイル配信スケジュールテーブル36は、ファイル毎の配信スケジュールを管理するテーブルである。
【0040】
トラフィック統計情報DB52は、ネットワーク監視サーバ50が保持するデータベースである。ネットワーク情報DB42は、SDNコントローラ40が保持するデータベースである。
【0041】
このような機能構成を有するファイル管理サーバ100は、例えば、
図3に示すようなハードウェア構成を有する。
図3は、配信ファイル管理サーバのハードウェア構成を示す図である。
図3において、ファイル管理サーバ100は、コンピュータによって制御される装置であって、CPU(Central Processing Unit)11と、メモリ12と、HDD(Hard Disk Drive)13と、入出力装置14、通信I/F15と、ドライブ装置18とを有し、PCIバス19に接続される。
【0042】
CPU11は、メモリ12に格納されたプログラムに従ってファイル管理サーバ100を制御する。メモリ12には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を記憶又は一時保存する。
【0043】
HDD13には、各種処理を実行するためのプログラム等のデータを格納する。HDD13に格納されているプログラムの一部がメモリ12にロードされ、CPU11に実行されることによって、各種処理が実現される。記憶部130は、メモリ12及び/又はHDD13を有する。
【0044】
入出力装置14は、ユーザに種々の情報を表示したり、ユーザが
配信ファイル管理サーバ100による処理に必要な各種情報を入力するために用いられる。入出力装置14は、マウス、キーボード等の入力デバイス、LCD(Liquid Crystal Display)等のディスプレイを有する。又は、入出力装置14は、入力デバイスとディスプレイとが一体化したタッチパネルであっても良い。通信I/F15は、有線又は無線などのネットワークを通じて通信を行う。通信I/F15による通信は無線又は有線に限定されるものではない。
【0045】
配信ファイル管理サーバ100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって
配信ファイル管理サーバ100に提供される。
【0046】
ドライブ装置16は、ドライブ装置16にセットされた記憶媒体17(例えば、CD−ROM等)と
配信ファイル管理サーバ100とのインターフェースを行う。
【0047】
また、記憶媒体17に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体17に格納されたプログラムは、ドライブ装置16を介して
配信ファイル管理サーバ100にインストールされる。インストールされたプログラムは、
配信ファイル管理サーバ100により実行可能となる。
【0048】
尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【0049】
次に、
図2の機能構成の
図3のハードウェア構成への実装例を
図4で示す。
図4では、本実施例に係る機能構成の実装に関するハードウェアのみを示し、他を省略している。
【0050】
図4において、CPU11が対応するプログラムを実行することにより、トラフィック管理部121と、ファイル配信優先度設計処理部122と、配信スケジュール処理部123と、ファイル配信制御部124と、最適経路計算エンジン部105と、SDNコントローラI/F142と、ネットワーク監視サーバI/F152と、ファイル配信サーバI/F162とがが実現される。
【0051】
各部31〜35、142、152、及び162の処理概要は上述した通りである。CPU11が、トラフィック管理部121と、ファイル配信優先度設計処理部122と、配信スケジュール処理部123と、ファイル配信制御部124と、最適経路計算エンジン部105と、SDNコントローラI/F142と、ネットワーク監視サーバI/F152と、ファイル配信サーバI/F162の処理を行うことにより、夫々の処理部として動作する。
【0052】
ファイル情報DB32は、HDD13に保持される。ファイル情報DB32は、ファイルの実態を含むためHDD13に記憶される。
【0053】
トラフィック管理テーブル33、トラフィック情報テーブル34、ファイル配信優先度管理テーブル35、ファイル配信スケジュールテーブル36は、メモリ12に格納される。これらのテーブル33〜36は、本実施例に係る処理で作成、参照されるテーブルであり、処理の終了後には、削除されても良い。
【0054】
通信I/F15は、SDNコントローラ40、ネットワーク監視サーバ50、各ファイル配信サーバ60との通信を行う。
【0055】
次に、本実施例における種々の処理シーケンスを
図5〜
図7で説明する。
図5は、トラフィック管理テーブルの更新処理シーケンスを示す図である。
図5において、ネットワーク監視サーバ50は、ネットワーク情報を定期的に収集し(ステップS91)、トラフィックデータ(過去データ)を蓄積する(ステップS92)。
【0056】
トラフィック管理部121は、ネットワーク監視サーバ50へトラフィックデータ収集要求を行う(ステップS101)。例えば、トラフィック管理部121は、トラフィック管理テーブル33の更新周期(1週間毎)に、トラフィックデータ収集要求を行う。
【0057】
トラフィック管理部121は、単位時間当たりの各リンクの帯域使用率を収集し(ステップS102)、所定期間分の帯域使用率の過去データを収集する(ステップS103)。例えば、1週間分の過去データが収集される。
【0058】
ネットワーク監視サーバ50からトラフィックデータ収集応答を受信すると(ステップS104)、トラフィック管理部121は、トラフィックデータ(過去データ)を用いて、ピーク特性を分析して、トラフィック管理テーブル34を更新する(ステップS105)。
【0059】
ステップS105において、具体的には、トラフィック管理部121は、トラフィックの過去データに基づいて、所定時間毎(例えば、1時間)の各リンクの最大値を取得する。また、トラフィック管理部121は、配信スケジュール決定周期も所定時間(例えば、1時間)とし、トラフィック管理テーブル33を参照して、最適経路計算エンジン部105に対して、受付チェック時の経路計算要求を行う。
【0060】
図6は、ファイル配信優先度設計処理シーケンスを示す図である。
図6において、ファイル配信サーバ60は、ファイル配信優先度設計処理部122に対して、ファイル管理情報の登録要求を行う(ステップS201)。
【0061】
ファイル配信優先度設計処理部122は、ファイル管理情報の登録要求を受信すると、ファイル管理情報登録の受付チェック処理を行う(ステップS202)。
【0062】
ファイル管理情報登録の受付チェック処理において、ファイル配信優先度設計処理部122は、最適経路計算エンジン部105に対して、経路計算要求を行う(ステップS202a)。最適経路計算エンジン部105は、管理情報を登録するファイルについて最適経路を計算して(ステップS202b)、経路計算結果応答をファイル配信優先度設計処理部122に行う(ステップS202c)。
【0063】
そして、ファイル配信優先度設計処理部122は、算出された経路にて、ファイル配信の可否を判断する(ステップS202d)。具体的には、ファイル配信優先度設計処理部122は、ファイル配信に割り当て可能な帯域を算出し、ファイル配信にかかる時間を算出する。算出結果に基づいて、ファイル配信優先度設計処理部122は、配信期限までに配信が完了するか否かをチェックする。
【0064】
ファイル配信優先度設計処理部122は、ファイル配信サーバ60に対してファイル管理情報の登録応答を行う(ステップS203)。配信期限までの配信完了が確認できた場合、OK応答を行う。一方、配信期限までに配信を完了できない場合、NG応答を行い、ファイル情報の登録は行われない(ステップS203−2)。NG応答の場合、以下の処理は行われない。
【0065】
ファイル配信優先度設計処理部122は、ファイル情報DB32へファイル情報を登録する(ステップS204)。
【0066】
そして、ファイル配信優先度設計処理部122は、ファイル配信優先度の設計を行う(ステップS205)。ファイル配信優先度の設計では、具体的には以下の処理を行う。
【0067】
ファイル配信優先度設計処理部122は、配信優先度係数を算出する(ステップS205a)。
【0068】
配信優先度係数
=(配信にかかる時間)÷(配信期限までの残り時間)
によって計算できる。
【0069】
次に、ファイル配信優先度設計処理部122は、配信優先度係数から優先度を設計する(ステップS205b)。配信優先度係数の大きいファイルから高優先度に順序付けする。そして、ファイル配信優先度設計処理部122は、ファイル配信優先度管理テーブル35を更新する(ステップS205c)。新規登録ファイルの優先度より低い優先度のファイルについて、優先度が更新される。
【0070】
図7は、ファイル配信スケジュール設計処理シーケンスを示す図である。
図7において、配信スケジュール決定周期毎に、配信スケジュール処理部123は、ネットワーク監視サーバ50に対して、ネットワーク収集要求を行う(ステップS301)。
【0071】
ネットワーク監視サーバ50からネットワーク情報収集応答を受信すると、配信スケジュール処理部123は、ネットワーク情報収集応答に基づいて、トラフィック情報テーブル34を更新する(ステップS303)。
【0072】
配信スケジュール処理部123は、ファイル配信優先度管理テーブル35の各ファイルに対して、最適経路計算エンジン部105に経路計算要求を行い(ステップS304)、最適経路計算エンジン部105から経路計算結果応答を受信する(ステップS305)。ステップS304及びS305により、ファイル配信優先度管理テーブル35の各ファイルに対して経路計算が行われる。
【0073】
ファイル配信スケジュール処理部123は、経路計算結果応答に基づいて、全ファイルの配信スケジュールを設計して(ステップS306)、ファイル配信スケジュールテーブル36を更新する(ステップS307)。
【0074】
続けて、ファイル配信制御処理シーケンスについて説明する。ファイル配信制御部124は、SDNコントローラ40に対してファイル配信経路確保要求を行う(ステップS401)。ファイル配信経路確保要求による通知データには、
・配信経路データ
・配信開始時刻
・配信帯域
が含まれている。そして、ファイル配信制御部124は、SDNコントローラ40からファイル配信経路確保応答を受信すると(ステップS402)、ファイル配信サーバ60へファイル配信通知を行う(ステップS403)。ファイル配信通知による通知データには、
・配信ファイルサイズ
・配信帯域
が含まれている。
【0075】
上述したステップS401からS403では、ファイル配信スケジュールテーブル36に従ったフィル配信制御を行う。
【0076】
ファイル配信サーバ60からファイル配信完了通知を受信すると(ステップS404)、ファイル配信制御部124は、配信完了したファイル情報を収集し(ステップS405)、ファイル情報DB32を更新する(ステップS406)。ファイル情報DB32において、ファイルサイズが更新される。全ファイルサイズの配信が完了したファイルについては、ファイル配信制御部124は、ファイル情報DB32から削除する。分割配信したファイルについては、ファイル配信制御部124は、残りファイルサイズに更新する。
【0077】
そして、ファイル配信制御部124は、全ファイルのファイル情報DB32の更新後、ファイル配信優先度を設計する(ステップS407)。
【0078】
図7に示すファイル配信スケジュール設計処理シーケンスは、配信スケジュール決定周期毎に繰り返し行われる。
【0079】
図8は、M2Mネットワーク例を示す図である。
図8では、6個のノードで形成されるM2Mネットワーク3の例を示している。6個のノードは、各々固有のノードID「1」、「2」、「3」、「4」、「5」、及び「6」で特定される。
【0080】
また、ノード1とノード3の接続はリンクID「1」で特定され、ノード2とノード3の接続はリンクID「2」で特定され、ノード3とノード4の接続はリンクID「3」で特定され、ノード4とノード5の接続はリンクID「4」で特定され、ノード4とノード6の接続はリンクID「5」で特定される。
【0081】
以下、各処理フローチャートの説明において、
図8のM2Mネットワーク3の構成で説明する。
図8のM2Mネットワーク3の構成がネットワーク構成情報に相当する。
【0082】
M2Mネットワーク3に関するトラフィック管理テーブルのデータ構成について説明する。
図9は、トラフィック管理テーブルのデータ構成例を示す図である。
図9(A)では、トラフィック管理テーブル33によって、全リンクの1時間毎の帯域使用率の最大値を管理する場合の例を示している。トラフィック管理テーブル33は、主に、リンクID、帯域使用率等の項目を有する。
【0083】
リンクIDは、リンク毎に付与したリンクの識別情報であり、M2Mネットワーク3(
図8)の構成情報(即ち、ネットワーク構成情報)と関連付けられる。帯域使用率は、データ通信の1時間毎の帯域使用率の最大値(ピークトラフィック)を管理するために使用される。
【0084】
図9(B)では、リンクID毎のデータ通信の1時間毎の帯域使用率の最大値(ピークトラフィック)のデータ例を示している。
【0085】
例えば、リンクID「1」では、時間帯「00:00:00 〜 01:00:00」では25%であり、時間帯「01:00:00 〜 02:00:00」では30%であり、時間帯「03:00:00 〜 04:00:00」では20%であり、・・・、時間帯「23:00:00 〜 00:00:00」では15%であることを示している。他のリンクIDについても、各時間帯での帯域使用率の最大値(ピークトラフィック)が示される。
【0086】
ファイル配信優先度設計処理部122によるファイル配信優先度設計処理について
図10で説明する。
図10は、ファイル配信優先度設計処理を説明するためのフローチャート図である。
【0087】
図10にて、ファイル配信優先度設計処理部122は、ファイル配信サーバからファイル管理情報の登録要求を受信する(ステップS501)。ファイル配信優先度設計処理部122は、受信したファイル管理情報の登録要求から、ファイル管理情報として、以下のファイル情報DB32のデータ項目を取得する。例えば、ファイル配信優先度設計処理部122は、配信サーバID、配信ファイル識別子、ファイルサイズ、配信期限、配信元情報、配信先情報を取得する。
【0088】
配信サーバIDは、ファイル管理情報の登録要求を送信したファイル配信サーバの識別情報である。配信ファイル識別子は、ファイルを識別するためのファイルIDである。
【0089】
ファイルサイズは、配信するファイルサイズを示す。配信期限は、配信完了する期限を示す。
【0090】
配信元情報は、ネットワーク構成情報の配信元のノードIDと対応付ける情報を示す。配信先情報は、ネットワーク構成情報の配信先のノードIDと対応付ける情報を示す。
【0091】
次に、ファイル配信優先度設計処理部122は、ステップS503〜S507までの受付チェック処理を行う。
【0092】
ファイル配信優先度設計処理部122は、最適経路計算エンジン部105に対して、登録要求で指定されたファイルについて経路計算要求を送信する(ステップS503)。経路計算要求は、ネットワーク情報、ファイル管理情報、及びトラフィク情報を含む。
【0093】
ネットワーク情報は、SDNコントローラ40で管理しているネットワーク構成情報の一部を示す。ファイル管理情報は、配信先を特定する情報又は/及び配信先ノードIDと、要求帯域を示す情報とを含む。
【0094】
要求帯域[bps]
= ファイルサイズ[bit] ÷ 配信期限までの残り時間[sec]
により算出される。
【0095】
トラフィック情報は、トラフィック管理テーブル33から取得した各リンクの帯域使用率を示す。
【0096】
ファイル配信優先度設計処理部122は、経路計算結果を用いて、ファイル配信にかかる時間を算出する(ステップS504)。ファイル配信優先度設計処理部122は、配信帯域を計算する。配信経路データの経由リンクにおける「空き帯域」の最小値を配信帯域とする。
【0097】
配信帯域 = Min{ リンクID;nの空き帯域 }
により算出する。リンクIDは、トラフィック管理テーブルにて管理されているリンクIDであり、nは配信経路データの経由リンクIDを示す。空き帯域は、トラフィック管理テーブル33の各リンクの帯域使用率を参照する。
【0098】
算出した配信帯域で配信する際のファイル配信にかかる時間を計算する。
【0099】
ファイル配信にかかる時間[sec]
= ファイルサイズ[bit] ÷ 配信帯域[bps]
により算出する。
【0100】
そして、ファイル配信優先度設計処理部122は、「配信期限までの残り時間」がファイル配信にかかる時間より大きいか否かを判断する(ステップS505)。「配信期限までの残り時間」は、現在時刻からファイル管理情報の配信期限までの時間である。「配信期限までの残り時間」がファイル配信にかかる時間以下である場合、ファイル配信優先度設計処理部122は、ファイル配信サーバ60へ受付結果NG応答を行い(ステップS507)、ファイル配信優先度設計処理を終了する。
【0101】
一方、「配信期限までの残り時間」がファイル配信にかかる時間より大きい場合、ファイル配信優先度設計処理部122は、ファイル配信サーバ60へ受付結果OK応答を行う(ステップS506)。
【0102】
そして、ファイル配信優先度設計処理部122は、ファイル情報DB32へファイル管理情報を登録する(ステップS508)。受付チェックでOKの場合(ステップS505のYES)、更にファイルIDを付加したデータ項目が、ファイル情報DB32に登録される。ここで、ファイルIDは、登録ファイル毎に付与され管理されるIDである。
【0103】
ファイル配信優先度設計処理部122は、ファイル配信優先度係数を算出する(ステップS509)。
【0104】
ファイル配信優先度係数
= ファイル配信にかかる時間 ÷ 配信期限までの残り時間
により算出する。「ファイル配信にかかる時間」は受付チェック時に算出した時間である。「配信期限までの残り時間」はファイル情報DB32の配信期限を参照して得た時間である。
【0105】
そして、ファイル配信優先度設計処理部122は、優先度を決定して、ファイル優先度管理テーブル35へファイルID毎に配信優先度係数と優先度とを登録する(ステップS510)。ファイル配信優先度設計処理部122は、配信優先度係数の大きい順に高優先に順序付ける。
【0106】
図11は、ファイル情報DBのデータ構成例を示す図である。
図11(A)では、
図10のステップS508でファイル管理情報が登録された場合の、ファイル情報DB32のデータ項目例を示している。
【0107】
ファイルIDは、ファイル毎に付与したIDを示す。サイズ及び/又は期限の同じファイルについても、配信先の異なるフィルについては異なるIDが付与される。配信サーバIDは、ファイル配信サーバ60毎のIDを示す。ファイル配信通知の通知先を検索する際に参照される。配信ファイル識別子は、ファイル分割配信する際の識別子として使用する情報である。
【0108】
ファイルサイズは、配信するファイルサイズを示す。分割ファイル配信した場合は、残りファイルサイズに変更される。配信期限は、ファイル配信を完了させる時期を示す。
【0109】
配信元情報は、ファイルの配信
元ノード情報を示す。各ノードは、ノード毎にIDを付与して、ネットワーク構成情報として管理される。配信先情報は、ファイルの配信先ノード情報を示す。ノードIDの例は、
図8に示す通りである。
【0110】
図11(B)では、
図8のネットワーク構成情報に基づくデータ例を示している。例えば、ファイルID「1」では、配信サーバID「1」、配信ファイル識別子「dat」、ファイルサイズ「3Gbyte」、配信期限「2014/1/31/00:20:00」、配信元情報としてノードID「1」、配信先情報としてノードID「5」が示される。他のファイルIDについても、同様である。
【0111】
図12は、ファイル配信優先度管理テーブルのデータ構成例を示す図である。
図12(A)では、ファイル
配信優先度管理テーブル35のデータ項目を示す。ファイル
配信優先度管理テーブル35は、ファイルID、ファイル配信にかかる時間、配信期限までの残り時間、配信優先度係数、優先度のデータ項目を有する。
【0112】
ファイルIDは、ファイル情報DB32で管理されるファイルIDと同一である。ファイルIDによりファイル
配信優先度管理テーブル35はファイル情報DB32と関連付けられる。
【0113】
ファイル配信にかかる時間は、トラフィック管理テーブル34の各リンクの空き帯域を使用してファイル配信する際に要する時間を示す。配信期限までの残り時間は、現時刻(スケジュール設計時刻)から配信期限までの時間を示す。
【0114】
配信優先度係数は、配信優先度を算出するための係数である。
【0115】
配信優先度係数
= ファイル配信にかかる時間 ÷ 配信期限までの残り時間
で計算される。配信優先度係数の値が大きいほど高優先となる。配信優先度係数の大きいファイルから高優先度に順序付けされる。
【0116】
優先度は、ファイル配信の優先度を示す。優先度が小さいほど高優先を示す。即ち、優先度「1」が最も優先度が高いことを示す。ファイル配信に時間のかかるファイルほど、配信期限を超過する可能性が高いため、高優先に順序付けされる。例えば、配信期限までの残り時間が小さいファイルほど、緊急度が高いため、高優先に順序付けされる。
【0117】
図12(B)では、ファイル情報DB32に登録されたファイルID毎のデータ例を示している。例えば、ファイルID「1」では、ファイル配信にかかる時間は「120秒」であり、配信期限までの残り時間は「20
分」であり、配信優先度係数は「0.100」であり、優先度は「1」であることが示される。他のファイルIDについても同様に各値が示される。
【0118】
次に、配信スケジュール処理部123による配信スケジュール処理について説明する。
図13は、配信スケジュール処理を説明するためのフローチャート図である。
図13において、配信スケジュール処理部123は、配信スケジュール決定周期毎に以下に説明する処理を繰り返す。
【0119】
配信スケジュール処理部123は、配信スケジュール決定周期か否かを判断する(ステップS600)。配信スケジュール決定周期でない場合、所定間隔でステップS601を配信スケジュール決定周期になるまで繰り返す。
【0120】
配信スケジュール決定周期のタイミングの場合、配信スケジュール処理部123は、ファイル配信優先度テーブル35を参照して、高優先度のファイルIDに対して、配信スケジュール設計を開始する。
図12(B)より、最も高い優先度「1」のファイルID「1」から、配信スケジュール設計が行われる。
【0121】
配信スケジュール処理部123は、ファイル配信優先度テーブル35から順にファイルIDを取得する(ステップS601)。取得したファイルIDを、以下において、処理中ファイルIDと言う。処理中ファイルIDは、ファイル情報DB32で管理されていることが前提である。
【0122】
配信スケジュール処理部123は、ネットワーク監視サーバ50に対して、ネットワーク情報収集要求を送信して、最新のトラフィック情報を取得する(ステップS602)。トラフィック情報には、設定帯域と、帯域使用率とが含まれる。設定帯域と、帯域使用率とで、トラフィック情報テーブル34を更新する。
【0123】
そして、配信スケジュール処理部123は、最適経路計算エンジン部105に対して、経路計算要求を送信して、配信経路データを取得する(ステップS603)。経路計算要求は、ネットワーク情報と、ファイル管理情報と、トラフィック情報とを含み、
図10のステップS503と同様である。配信スケジュール処理部123は、最適経路計算エンジン部105から配信経路データを受信する。配信経路データは、ファイル配信経路で経由する経由ノードのノードID及び経由リンクのリンクIDを示す情報を含む。
【0124】
配信スケジュール処理部123は、配信経路にける経由リンクの帯域使用率が85%より小さいか否かを判断する(ステップS604)。配信スケジュール処理部123は、リンクIDでトラフィック管理テーブル33を検索して、対応する時間帯の帯域使用率を取得する。配信スケジュール処理部123は、経由リンクの帯域使用率が85%以上である場合、現在の配信スケジュール決定周期でのファイル配信を行わず(ステップS605)、ステップS612へと進む。実施されなかったファイル配信は、次の配信スケジュール決定周期にて行われる。
【0125】
一方、配信経路にける経由リンクの帯域使用率が85%より小さい場合、配信スケジュール処理部123は、ファイル配信帯域を設計する(ステップS606)。配信スケジュール処理部123は、配信経路データで示される経由リンクID毎に、ファイル配信帯域を取得する。
【0126】
ファイル配信帯域
= Min{ リンクID;nの空き帯域 }
で得られる。リンクIDは、トラフィック情報テーブル34で管理されているリンクIDであり、nは配信経路データの経由リンクIDである。ファイル配信帯域は、配信経路データで示される経由リンクIDに関する空き帯域のうち、最小の空き帯域を示す。配信スケジュール処理部123は、取得した最小の空き帯域でトラフィック情報テーブル34を更新する。
【0127】
次に、配信スケジュール処理部123は、処理中ファイルIDでファイル情報DB32を参照して、ファイルサイズを取得して、ファイルサイズから帯域確保時間を算出する(ステップS607)。帯域確保時間は、配信帯域にて配信する際のファイル配信にかかる時間である。
【0128】
帯域確保時間[sec] = ファイルサイズ[bit] ÷ ファイル配信帯域[bps]
で算出する。配信スケジュール処理部123は、算出した帯域確保時間で、トラフィック情報テーブル34の処理中ファイルIDと一致するレコードの帯域確保時間を更新する。
【0129】
そして、配信スケジュール処理部123は、ステップS607で算出した帯域確保時間が配信スケジュール決定周期内であるか否かを判断する(ステップS608)。配信スケジュール決定周期内にファイル情報DB32で管理される全ファイルを配信するため、配信スケジュール処理部123は、ファイル情報DB32の全レコードのファイルサイズを合計した値を、配信するファイルサイズとする。
【0130】
帯域確保時間が配信スケジュール決定周期より長くなる場合(ステップS608のNO)、配信スケジュール処理部123は、配信スケジュール決定周期内に配信可能なサイズにファイルを分割して(ステップS609)、ステップS610へと進む。この場合、配信スケジュール処理部123は、帯域確保時間を配信スケジュール決定周期(例えば、60分)に変更する。また、配信スケジュール処理部123は、変更した帯域確保時間で配信できるサイズを算出する。
【0131】
ファイルサイズ[bit]
= ファイル配信帯域[bps]
× 帯域確保時間(配信スケジュール決定周期)[sec]
により算出する。そして、配信スケジュール処理部123は、トラフィック情報テーブル34の帯域確保時間を更新する。
【0132】
帯域確保時間が配信スケジュール決定周期内である場合、又は、ファイルの分割後、配信スケジュール処理部123は、ファイル配信スケジュールテーブル36(
図16)の処理中ファイルIDのレコードを更新する(ステップS610)。
【0133】
ファイル配信スケジュールテーブル36(
図16)において、配信開始時刻に、ファイル配信スケジュール設計(
図7)で得たファイル配信経路を確保する時刻が設定される。配信完了予定時刻には、帯域確保時間に基づいて予測されるファイル配信の完了予定時刻が設定される。配信ファイルサイズには、ファイル配信スケジュール設計にて算出した配信ファイルサイズが設定される。また、配信帯域には、ファイル配信スケジュール設計にて算出した配信帯域が設定される。
【0134】
また、配信スケジュール処理部123は、トラフィック情報テーブル34を更新する(ステップS611)。トラフィック情報テーブル34における配信経由データの各経由リンクIDに対して、配信帯域と帯域確保時間とを更新する。配信帯域には、ファイル配信スケジュール設計(
図7)にて算出した配信帯域が設定される。また、帯域確保時間には、ファイル配信スケジュール設計(
図7)にて算出した配信開始時刻から配信完了予定時刻が設定される。
【0135】
そして、配信スケジュール処理部123は、全ファイルについてファイル配信スケジュールテーブルを更新したか否かを判断する(ステップS612)。更新していないファイルが存在する場合、配信スケジュール処理部123は、ステップS602へ戻り上述同様の処理を繰り返す。一方、全ファイルについて更新した場合、配信スケジュール処理部123は、配信スケジュール処理を終了する。
【0136】
図14は、トラフィック情報テーブルのデータ構成例を示す図である。
図14(A)では、トラフィック情報テーブル34のデータ項目を示す。トラフィック情報テーブル34は、ファイル配信スケジュール設計で使用されるテーブルであり、リンクID毎にリンクの使用状況を管理するテーブルである。トラフィック情報テーブル34は、リンクID、設定帯域、帯域使用率、ファイル配信帯域、帯域確保時間のデータ項目を有する。
【0137】
リンクIDは、ネットワーク構成情報(
図8)におけるリンクIDを示す。設定帯域は、各リンクに設定されている帯域を示す。帯域使用率は、各リンクのファイル配信以外のデータ通信で使用している割合を示す。ファイル配信以外のデータ通信とは、センサーデバイス1がデータ収集サーバ70へのデータ送信を含む。
【0138】
ファイル配信帯域は、ファイル配信用に確保した帯域を示す。帯域確保時間は、ファイル配信帯域を確保する開始時間から終了時間までを示す。
【0139】
トラフィック情報テーブル34は、配信スケジュール決定周期毎に更新される。設定帯域、帯域使用率は、ネットワーク監視サーバ60から最新の値を取得して、最適経路計算エンジンへの入力データとして使用され、経路計算要求に含まれる。
【0140】
ファイル配信帯域及び帯域確保時間には、配信スケジュール設計処理の結果が設定される。
【0141】
図14(B)では、トラフィック情報テーブル34に格納されたリンクID毎のデータ例を示している。例えば、リンクID「1」では、設定帯域「300Mbps」及び帯域使用率「25%」が記憶されている。設定帯域「300Mbps」の75%が空き帯域である。75%の空き帯域を利用して、配信スケジュール設計処理により、帯域「180Mbps」と「150Mbps」による2回のファイル配信が予定される。
【0142】
従って、ファイル配信帯域には、帯域「180Mbps」と「150Mbps」とが設定されている。帯域「180Mbps」に対して帯域確保時間「2014/1/31/00:30:00 〜 2014/1/31/00:35:00」が設定され、帯域「150Mbps」に対して帯域確保時間「2014/1/31/00:45:00 〜 2014/1/31/00:50:00」が設定されている。
【0143】
リンクID「2」では、設定帯域「500Mbps」で75%の空き帯域に対して1回のファイル配信が予定される。帯域「300Mbps」で帯域確保時間「2014/1/31/00:10:00 〜 2014/1/31/00:10:30」が設定されている。
【0144】
リンクID「3」では、設定帯域「150Mbps」で65%の空き帯域に対して3回のファイル配信が予定される。同じ帯域「75Mbps」で帯域確保時間「2014/1/31/00:00:00 〜 2014/1/31/00:10:00」、「2014/1/31/00:15:00 〜 2014/1/31/00:20:00」、及び「2014/1/31/00:20:00 〜 2014/1/31/00:30:00」が設定されている。
【0145】
リンクID「4」では、設定帯域「1Gbps」で80%の空き帯域に対して2回のファイル配信が予定される。帯域「650Mbps」で帯域確保時間「2014/1/31/00:25:30 〜 2014/1/31/00:42:00」が設定され、帯域「500Mbps」で帯域確保時間「2014/1/31/00:45:30 〜 2014/1/31/00:55:00」が設定される。
【0146】
リンクID「5」では、設定帯域「50Mbps」で65%の空き帯域に対して1回のファイル配信が予定される。帯域「25Mbps」で帯域確保時間「2014/1/31/00:05:00 〜 2014/1/31/00:07:00」が設定される。
【0147】
図15は、最適経路計算エンジン部への入出力を説明するための図である。
図15において、最適経路計算エンジン部105に対して、最適経路計算要求によって、ネットワーク構成情報9a、ファイル管理情報9b、トラフィック情報9cが入力される。
【0148】
ネットワーク構成情報9aは、SDNコントローラ40がネットワーク情報DB42で管理しているネットワーク構成情報(例えば、
図8)である。ファイル管理情報9bは、ファイル情報DB32を参照して得られる配信元のノードID及び配信先のノードIDと、要求帯域とを含む。トラフィック情報9cは、トラフィック情報テーブル34を参照して得られるリンクID毎の帯域使用率を含む。
【0149】
最適経路計算エンジン部105は、入力されたネットワーク構成情報9a、ファイル管理情報9b、トラフィック情報9cを用いて、所定アルゴリズムに従って計算することで、配信経路データ9pを出力する。
【0150】
配信経路データ9pは、始点ノードから終点ノードまでの経路リンク情報を含む。例えば、始点ノード「1」から終点ノード「5」までの最適経路が、始点ノード「1」からリンク「1」によるノード「3」、ノード「3」からリンク「3」によるノード「4」、ノード「4」からリンク「4」による終点ノード「5」への経路であることが示される。
【0151】
図16は、ファイル配信スケジュールテーブルのデータ構成例を示す図である。
図16(A)では、ファイル配信スケジュールテーブル36のデータ項目を示す。ファイル配信スケジュールテーブル36は、ファイル配信スケジュール設計結果を管理するテーブルである。ファイル配信制御は、ファイル配信スケジュールテーブル36の値に基づいて行われる。ファイル配信スケジュールテーブル36は、ファイルID、配信経路データ、配信開始時刻、配信完了予定時刻、配信ファイルサイズ、配信帯域のデータ項目を有する。
【0152】
ファイルIDは、ファイル情報DB32で管理されるファイルIDである。ファイルIDにより、ファイル配信スケジュールテーブル36とファイル情報DB32とが関連付けられる。
【0153】
配信経路データは、最適経路計算エンジン部105の計算結果である配信経路データ9p(
図15)を格納する。配信経路データ9pによってファイル配信の最適な配信経路が示される。配信経路データ9pは、経由ノードID及び経由リンクIDを含む。
【0154】
配信開始時刻は、ファイル配信の開始時刻を示す。配信開始時刻は、SDNコントローラ40と、ファイル配信サーバ60とへ通知される。配信完了予定時刻は、ファイル配信の完了時刻を示す。ファイル配信にかかる時間から配信完了予定時刻が算出される。
【0155】
配信ファイルサイズは、配信開始時刻から配信するファイルサイズを示す。ファイル分割して配信する際は、現在の配信スケジュール決定周期で配信するだけのサイズが設定される。配信ファイルサイズは、ファイル配信サーバ60へ通知される。配信帯域は、ファイル配信に使用する帯域を示す。
【0156】
図16(B)では、配信スケジュール処理部123によって設定されたデータ例を示している。例えば、ファイルID「1」に対応付けて、配信経路データ9pが設定されている。配信時刻は「2014/1/31/00:00:00」であり、配信完了予定時刻は「2014/1/31/00:10:30」である。配信ファイルサイズは「3Gbye」であり、配信帯域には「70Mbps」である。他のファイルID「2」から「5」の夫々に対して、値が設定されている。
【0157】
図17は、通知データ例を示す図である。
図17(A)では、ファイル配信制御部124がSDNコントローラ40へ経路を確保するための配信経路の確保要求に含まれるデータ例を示している。
【0158】
図17(A)より、例えば、SDNコントローラ40へ送信される配信経路の確保要求には、
図16(B)のファイル配信スケジュールテーブル36に基づいて、ファイルID「1」と、経由ノードIDと経由リンクIDとで示される配信経路データと、配信開始時刻「2014/1/31/00:00:00」と、配信帯域「70Mbps」とが含まれる。他のファイルID「2」から「5」に関しても同様にファイル配信スケジュールテーブル36が参照することにより作成された配信経路の確保要求が、SDNコントローラ40へ送信される。
【0159】
配信経路の確保要求に応じて、SDNコントローラ40は、配信開始時刻「2014/1/31/00:00:00」までに、配信帯域「70Mbps」の容量の、配信経路データに従ったファイル配信経路を確保する。
【0160】
図17(B)では、ファイル配信制御部124がファイル配信サーバ60に対してファイル配信するためのファイル配信通知に含まれるデータ例を示している。
図17(B)より、例えば、ファイル配信サーバ60に送信されるファイル配信通知には、
図16(B)のファイル配信スケジュールテーブル36に基づいて、ファイルID「1」と、配信ファイルサイズ「3Gbye」と、配信帯域「70Mbps」とが含まれる。他のファイルID「2」から「5」に関しても同様にファイル配信スケジュールテーブル36が参照することにより作成されたファイル配信通知が、ファイル配信制御部124へ送信される。
【0161】
次に、ファイル配信優先度設計処理部122による、ファイル配信優先度管理テーブル35の更新処理の例について
図18で説明する。
図18は、ファイル配信優先度管理テーブルの更新処理例を説明するための図である。
図18中、ファイル「1」から「5」に関して優先度が示される
図12(B)のファイル配信優先度管理テーブル35に対して、新たにファイル「6」が登録される場合を例として説明する。
【0162】
図18(A)より、新たに登録されるファイル「6」に関して、ファイル配信に要する時間を示す帯域確保時間が「100秒」で、配信期限までの残り時間が「30分」であった場合、ファイル配信優先度設計処理部122により配信優先度係数「0.055」が計算により求まる。
【0163】
ファイル配信優先度管理テーブル35(
図12(B))における、ファイルID「1」から「5」に対応付けられた配信優先度係数の値との比較により、ファイルID「6」に対して優先度「3」を取得する。
【0164】
図18(B)は、新たなファイル「6」を、
図12(B)のファイル配信優先度管理テーブル35に登録した結果を示している。
図18(B)にて、優先度「3」を示す新たなファイルID「6」のレコードが追加登録されることで、ファイルID「2」に対応する優先度は「3」から「4」へ変更され、ファイルID「3」に対応する優先度は「5」から「6」へ変更され、ファイルID「5」に対応する優先度は「4」から「5」へ変更される。
【0165】
次に、ファイル配信スケジュール設計処理部123によって行われるファイル配信スケジュール設計処理例について説明する。先ず、ファイルの分割がない場合について説明する。即ち、
図13のステップS608において、帯域確保時間が配信スケジュール決定周期内となる場合に相当する。
【0166】
図19は、ファイル分割の無いファイル配信スケジュール設計処理例を説明するための図である。
図19では、ファイルID「1」に関するファイル配信スケジュール設計処理例で説明する。
【0167】
図19において、ファイル配信スケジュール設計処理部123は、配信経路データ5pに基づいて、ファイル配信帯域を設計する(ステップS631)。配信経路データ5pでは、リンクID「1」、「3」、及び「4」が指定される。ファイルID「1」に関して、ファイル配信スケジュール設計処理部123は、トラフィック情報テーブル34を参照して、リンクID「1」、「3」、及び「4」のトラフィックデータ5tを取得する。
【0168】
トラフィックデータ5tにより、リンクレート「150Mbps」及び帯域使用率「20%」を得る。リンクID「3」に対して、リンクレート「100Mbps」及び帯域使用率「15%」を得る。リンクID「4」に対して、リンクレート「200Mbps」及び帯域使用率「30%」を得る。リンクレートは、該当リンクのおける転送レートに相当する。
【0169】
配信経路データ5pで示される経由リンクのリンクID毎に、帯域使用率が85%になるまでの空き帯域を算出する。
【0170】
85[%] − 帯域使用率[%] × リンクレート[bps]
により算出する。
【0171】
ファイル配信スケジュール設計処理部123は、リンクID「1」について空き帯域「97.5Mbps」、リンクID「3」について空き帯域「70Mbps」、そしてリンクID「4」について空き帯域「110Mbps」を得る。最小の空き帯域「70Mbps」が、ファイル配信帯域となる。
【0172】
ファイル配信スケジュール設計処理部123は、ファイル配信帯域を確保する時間を算出する(ステップS632)。ファイル配信帯域を確保する時間とは、ファイル配信にかかる時間を意味する。ファイル配信スケジュール設計処理部123は、ファイル情報DB32からファイルID「1」のファイルサイズ「3Gbyte」を取得して、ファイル配信にかかる時間を算出する。
【0173】
ファイルサイズ ÷ ファイル配信帯域[bps]
により算出する。即ち、
3Gbyte ÷ 70Mbps = 343[sec]
となり、ファイル配信帯域を確保する時間は、343秒である。
【0174】
そして、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期とファイル配信にかかる時間とを比較する(ステップS633)。比較によって、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期内にファイル配信が完了すると判断し、ファイルを分割することなく配信を行うスケジューリング設計が行われる。
【0175】
ファイル配信スケジュール設計処理部123は、ファイル配信スケジュールテーブル36を更新する(ステップS634)。ファイル配信スケジュールテーブル36のファイルID「1」のレコードに対して、ステップS632でファイル情報DB32から取得したファイルサイズ「3Gbyte」を配信ファイルサイズに設定し、ステップS632で使用したファイル配信帯域「70Mbps」を設定する。
【0176】
ファイル配信スケジュール設計処理部123は、ファイル情報DB32を更新する(ステップS635)。ファイル情報DB32のファイルID「1」のレコードに対して、配信経路データ5pに基づいて、配信元に「ノードID;1」を設定し、配信先に「ノードID;5」を設定する。
【0177】
そして、ファイル配信スケジュール設計処理部123は、配信サーバID「1」のファイル配信サーバ60へ、更新されたファイルID「1」のレコードに基づいてファイル配信通知を送信する。
【0178】
ファイル配信スケジュール設計処理部123は、ファイル配信サーバ60からファイル配信完了通知を受信すると、ファイル情報DB32からファイルID「1」のレコードを削除する(ステップS636)。
【0179】
配信するファイルを分割する場合、即ち、
図13のステップS609に相当する場合について
図20で説明する。
図20は、ファイル分割のあるファイル配信スケジュール設計処理例を説明するための図である。
図20では、ファイルID「2」に関するファイル配信スケジュール設計処理例で説明する。
【0180】
図20において、ファイル配信スケジュール設計処理部123は、配信経路データ6pに基づいて、ファイル配信帯域を設計する(ステップS641)。配信経路データ6pでは、リンクID「1」、「3」、及び「5」が指定される。ファイルID「2」に関して、ファイル配信スケジュール設計処理部123は、トラフィック情報テーブル34を参照して、リンクID「1」、「3」、及び「5」のトラフィックデータ6tを取得する。
【0181】
トラフィックデータ6tを利用して、配信経路データ5pで示される経由リンクのリンクID毎に、帯域使用率が85%になるまでの空き帯域を算出し、最小値となる「10Mbps」を取得して、ファイル配信帯域とする。
【0182】
ファイル配信スケジュール設計処理部123は、ファイル配信帯域を確保する時間を算出する(ステップS642)。ファイル配信スケジュール設計処理部123は、ファイル情報DB32からファイルID「2」のファイルサイズ「10Gbyte」を取得して、ファイル配信にかかる時間を算出する。即ち、
10Gbyte ÷ 10Mbps = 8000[sec]
となり、ファイル配信帯域を確保する時間は、8000秒である。
【0183】
そして、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期とファイル配信にかかる時間とを比較する(ステップS643)。比較によって、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期内にファイル配信が完了しないと判断し、ファイルを分割する。即ち、現在の配信スケジュール決定周期で配信可能なファイルサイズを配信帯域から算出する。残りのファイルサイズは、次の配信スケジュール決定周期に配信するようにファイルサイズを分割する。分割後のファイルサイズは、
ファイル配信帯域[bps] × 配信スケジュール決定周期
で算出する。配信スケジュール決定周期を、例えば、60分とすると、
10[Mbps] × 3600[sec] = 4.5[Gbyte]
となり、分割後のファイルサイズ「4.5Gbyte」を得る
。
【0184】
ファイル配信スケジュール設計処理部123は、ファイル配信スケジュールテーブル36を更新する(ステップS634)。ファイル配信スケジュールテーブル36のファイルID「2」のレコードに対して、ステップS643で取得した分割後のファイルサイズ「4.5Gbyte」を配信ファイルサイズに設定し、ステップS632で使用したファイル配信帯域「10Mbps」を設定する。
【0185】
ファイル配信スケジュール設計処理部123は、ファイル情報DB32を更新する(ステップS645)。ファイル情報DB32のファイルID「2」のレコードに対して、配信経路データ6pに基づいて、配信元に「ノードID;1」を設定し、配信先に「ノードID;6」を設定する。また、ファイル配信スケジュール設計処理部123は、残りサイズを算出した値「5.5Bbyte」(=10−4.5)をファイルサイズに設定する。
【0186】
そして、ファイル配信スケジュール設計処理部123は、配信サーバID「2」のファイル配信サーバ60へ、更新されたファイルID「2」のレコードに基づいてファイル配信通知を送信する。
【0187】
ファイル配信スケジュール設計処理部123は、ファイル配信サーバ60からファイル配信完了通知を受信すると、ファイル情報DB32からファイルID「2」のレコードを削除する(ステップS646)。
【0188】
次に、ファイル配信スケジュール設計処理部123により、複数のファイルを配信する場合のファイル配信スケジュール設計処理例について
図21及び
図22で説明する。
図21及び
図22は、複数のファイルを配信するファイル配信スケジュール設計処理例を説明するための図である。
図21及び
図22では、
図19におけるファイルID「1」のファイルに加えて、ファイルID「5」のファイルを、同じ配信経路データ5pで配信する場合で説明する。
【0189】
図21において、ファイル配信スケジュール設計処理部123は、配信経路データ5pに基づいて、ファイル配信帯域を設計する(ステップS651)。配信経路データ5pでは、リンクID「1」、「3」、及び「4」が指定される。ファイルID「5」に関して、ファイル配信スケジュール設計処理部123は、トラフィック情報テーブル34を参照して、リンクID「1」、「3」、及び「4」のトラフィックデータ5tを取得する。
【0190】
ファイル配信スケジュール設計処理部123は、
図19ステップS631と同様に、リンクID「5」について、各リンクID「1」、「3」、及び「4」の空き帯域を求め、そのうち最小の空き帯域をファイル配信帯域とする。最小の空き帯域「70Mbps」が、ファイル配信帯域となる。
【0191】
ファイル配信スケジュール設計処理部123は、ファイル配信帯域を確保する時間を算出する(ステップS652)。ファイル配信スケジュール設計処理部123は、ファイル情報DB32からファイルID「5」のファイルサイズ「1Gbyte」を取得して、ファイル配信にかかる時間を算出する。即ち、
1Gbyte ÷ 70Mbps = 114[sec]
となり、ファイル配信帯域を確保する時間は、114秒である。
【0192】
そして、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期とファイル配信にかかる時間とを比較する(ステップS653)。比較によって、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期内にファイル配信が完了すると判断し、ファイルを分割することなく配信を行うスケジューリング設計が行われる。
【0193】
スケジューリング設計では、配信経路データ5pに基づく経由リンクについて、既に帯域確保された時間を除いて、ファイルID「5」の配信経路として確保する。即ち、ファイル配信スケジュール設計処理部123は、トラフィック情報テーブル34から経由リンク(リンクID「1」、「3」、及び「4」)の帯域確保時間を参照して、ファイルID「5」のファイルの配信経路を確保する時間を設計する。経由リンク(リンクID「1」、「3」、及び「4」)の帯域確保時間から、確保されていない時間帯をファイルID「5」に対して割り当てる。
【0194】
図22にて、ファイル配信スケジュール設計処理部123は、ファイル配信スケジュールテーブル36を更新する(ステップS654)。ファイル配信スケジュールテーブル36のファイルID「5」のレコードに対して、ステップS652でファイル情報DB32から取得したファイルサイズ「1Gbyte」を配信ファイルサイズに設定し、ステップS652で使用したファイル配信帯域「70Mbps」を設定する。
【0195】
ファイル配信スケジュール設計処理部123は、ファイル情報DB32を更新する(ステップS655)。ファイル情報DB32のファイルID「5」のレコードに対して、配信経路データ5pに基づいて、配信元に「ノードID;1」を設定し、配信先に「ノードID;5」を設定する。
【0196】
そして、ファイル配信スケジュール設計処理部123は、配信サーバID「1」のファイル配信サーバ60へ、更新されたファイルID「5」のレコードに基づいてファイル配信通知を送信する。
【0197】
ファイル配信スケジュール設計処理部123は、ファイル配信サーバ60からファイル配信完了通知を受信すると、ファイル情報DB32からファイルID「5」のレコードを削除する(ステップS656)。
【0198】
次に、異なるファイルの配信で、互いの配信経路の一部が重複する場合のファイル配信スケジュール設計処理例について
図23及び
図24で説明する。
図23及び
図24は、配信経路が重複する場合のファイル配信スケジュール設計処理例を説明するための図である。
図23及び
図24では、ファイルID「7」のファイルを、別のファイルの配信経路の部分を重複して配信する場合で説明する。
【0199】
図23において、ファイル配信スケジュール設計処理部123は、配信経路データ7pに基づいて、ファイル配信帯域を設計する(ステップS661)。配信経路データ7pでは、リンクID「2」、「3」、及び「5」が指定される。ファイルID「7」に関して、ファイル配信スケジュール設計処理部123は、トラフィック情報テーブル34を参照して、リンクID「2」、「3」、及び「5」のトラフィックデータ7tを取得する。
【0200】
ファイル配信スケジュール設計処理部123は、
図19ステップS631と同様に、リンクID「7」について、各リンクID「2」、「3」、及び「5」の空き帯域を求め、そのうち最小の空き帯域をファイル配信帯域とする。この例では、最小の空き帯域を「10Mbps」として、ファイル配信帯域とする。
【0201】
ファイル配信スケジュール設計処理部123は、ファイル配信帯域を確保する時間を算出する(ステップS662)。ファイル配信スケジュール設計処理部123は、ファイル情報DB32からファイルID「7」のファイルサイズ「30Gbyte」を取得して、ファイル配信にかかる時間を算出する。即ち、
30Gbyte ÷ 50Mbps = 600[sec]
となり、ファイル配信帯域を確保する時間は、600秒である。
【0202】
そして、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期とファイル配信にかかる時間とを比較する(ステップS663)。比較によって、ファイル配信スケジュール設計処理部123は、配信スケジュール決定周期内にファイル配信が完了すると判断し、ファイルを分割することなく配信を行うスケジューリング設計が行われる。
【0203】
スケジューリング設計では、配信経路データ7pに基づく経由リンクについて、既に帯域確保された時間を除いて、ファイルID「7」の配信経路として確保する。即ち、ファイル配信スケジュール設計処理部123は、トラフィック情報テーブル34から経由リンク(リンクID「2」、「3」、及び「5」)の帯域確保時間を参照して、ファイルID「7」のファイルの配信経路を確保する時間を設計する。経由リンク(リンクID「2」、「3」、及び「5」)の帯域確保時間から、確保されていない時間帯をファイルID「7」に対して割り当てる。
【0204】
図24にて、ファイル配信スケジュール設計処理部123は、ファイル配信スケジュールテーブル36を更新する(ステップS664)。ファイル配信スケジュールテーブル36のファイルID「7」のレコードに対して、ステップS662でファイル情報DB32から取得したファイルサイズ「30Gbyte」を配信ファイルサイズに設定し、ステップS662で使用したファイル配信帯域「50Mbps」を設定する。
【0205】
ファイル配信スケジュール設計処理部123は、ファイル情報DB32を更新する(ステップS665)。ファイル情報DB32のファイルID「7」のレコードに対して、配信経路データ7pに基づいて、配信元に「ノードID;1」を設定し、配信先に「ノードID;5」を設定する。
【0206】
そして、ファイル配信スケジュール設計処理部123は、配信サーバID「7」のファイル配信サーバ60へ、更新されたファイルID「7」のレコードに基づいてファイル配信通知を送信する。
【0207】
ファイル配信スケジュール設計処理部123は、ファイル配信サーバ60からファイル配信完了通知を受信すると、ファイル情報DB32からファイルID「7」のレコードを削除する(ステップS666)。
【0208】
本実施例を適用しなかった場合、M2Mネットワーク3において、ファームウェアなどのファイルを配信期限までに完了させる必要がある場合、計画なく一度に送信すると、センサー情報通知経路上のデバイスや機器から収集する大量のデータ通信を、ファイル配信の通信によって帯域を占有してしまうことで、本来のデータ通信(即ち、センターデバイス1からデータ収集サーバ70へのデータ通信)に欠落が発生してしまう恐れがある。
【0209】
M2Mネットワーク3上のピークは時間帯ごとに変化する。計画的な配信を固定の配信帯域とすると、ある時間帯では帯域に余裕がある場合でもその空き帯域を使い切らず、非効率な配信計画となる。その結果、ファイル配信サーバ60からセンサーデバイス1へファイルを配信するためのファイル配信要求は任意の契機で発生し、急に配信期限までの時間が短いファイル配信要求が発生した場合、非効率な配信の結果により、配信期限までに配信できない場合がある。
【0210】
しかしながら、上述したように、本実施例では、空き帯域を利用してファイル配信を行うようにスケジュールするため、センターデバイス1からデータ収集サーバ70へのデータ通信を阻害することがない。ファイル配信によるデータ通信の欠落の発生を低減することができる。
【0211】
また、ファイル配信要求において、配信期限までの残り時間に基づいて、ファイル配信をスケジュールするため、ファイル配信を効率的に行うことができる。
【0212】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【0213】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
網内のリンク毎のトラフィック統計データに基づいて、配信経路の決定処理を行う経路決定時刻毎に、配信予定データの配信情報に基づいて、該配信予定データの配信順序を決定する配信設計部と、
前記経路決定時刻に、リンクのトラフィック情報と、前記配信予定データの配信先装置に基づいて、前記配信予定データ毎の配信経路と転送レートとを決定する配信スケジュール処理部と、
前記決定した配信経路と転送レートとに対応する帯域を前記網に設定し、前記決定した配信順序に応じて、前記配信先装置から該当する配信予定データを、前記決定した転送レートで転送させる配信制御部と
を有するデータ配信制御装置。
(付記2)
前記配信設計部は、
前記配信経路の空き帯域とファイルサイズとから配信にかかる時間を算出する時間算出部と、
前記時間算出部によって算出された前記配信にかかる時間と、前記配信情報で示される前記配信予定データの配信を完了する配信期限までの残り時間とから優先度係数を計算する係数計算部と
前記係数計算部によって計算された前記優先度係数に基づいて、前記配信順序を決定する配信順序決定部と
を有することを特徴とする付記1記載のデータ配信制御装置。
(付記3)
前記時間算出部は、前記配信経路のリンクのうち、最小値となる空き帯域と前記ファイルサイズとから前記配信にかかる時間を算出することを特徴とする付記2記載のデータ配信制御装置。
(付記4)
前記転送レートは、前記空き帯域であることを特徴とする付記3記載のデータ配信制御装置。
(付記5)
前記配信スケジュール処理部は、
前記配信にかかる時間に基づいて、前記配信経路の決定処理を行う周期内に前記配信予定データが完了するか否かを判断する判断部と、
前記判断部が前記配信経路の決定処理を行う周期内に前記配信予定データが完了しないと判断した場合、前記配信予定データを分割して、次の周期で配信する配信スケジュールを行う分割部と
を有することを特徴とする付記2記載のデータ配信制御装置。
(付記6)
前記配信スケジュール処理部は、
前記配信経路の全体又は一部を重複して転送される複数の配信予定データに対して、転送する時間帯をずらして配信スケジュールを行うことを特徴とする付記2記載のデータ配信制御装置。
(付記7)
前記配信情報は、配信元装置、配信先装置、前記配信予定データのデータサイズ、該配信予定データの配信を完了する配信期限を特徴とする付記1乃至6のいずれか一項記載のデータ配信制御装置。
(付記8)
前記トラフィック情報は、前記リンクの帯域使用率を示すことを特徴とする付記1乃至7のいずれか一項記載のデータ配信制御装置。
(付記9)
前記配信順序は、配信に時間のかかる配信予定データほど、高優先に配信するように設定されることを特徴とする付記1乃至8のいずれか一項記載のデータ配信制御装置。
(付記10)
前記配信順序は、前記配信情報で示される配信を完了する配信期限までの残り時間が短い配信予定データほど、高優先に配信するように設定されることを特徴とする付記1乃至8のいずれか一項記載のデータ配信制御装置。
(付記11)
網に接続されるデバイスへデータを配信する複数の配信サーバと、前記データの配信をスケジュールする管理サーバと、該データを配信する配信経路を確保するコントローラとを有するデータ配信システムにおいて、
前記管理サーバは、
前記複数の配信サーバ夫々からの前記データの配信要求に応じて、配信を完了する配信期限までの残り時間内で該データを配信完了可能か否かを判断し、配信可能な場合に、前記配信サーバへ前記配信要求に対して応答し、
配信に時間のかかるデータほど、又は、配信を完了する配信期限までの残り時間が短いデータほど、高優先に配信する配信スケジュールを行い、前記コントローラに、前記配信スケジュールに対応する帯域を前記網に設定し、
前記複数の配信サーバの各々は、
前記管理サーバへ前記配信要求を送信し、前記応答を受信した場合に、前記データの配信が可能となり、
前記コントローラは、
前記管理サーバによって設定された前記帯域で、前記複数の配信サーバ夫々からの前記データの配信を制御する
ことを特徴とするデータ配信システム。
(付記12)
網内のリンク毎のトラフィック統計データに基づいて、配信経路の決定処理を行う経路決定時刻を決定し、
配信予定データの配信情報に基づいて、該配信予定データの配信順序を決定し、
前記経路決定時刻に、リンクのトラフィック情報と、前記配信予定データの配信先装置に基づいて、前記配信予定データ毎の配信経路と転送レートとを決定し、
前記決定した配信経路と、決定した前記転送レートに対応する帯域を前記網に設定し、
前記決定した配信順序に応じて、前記配信先装置から該当する配信予定データを、前記決定した転送レートで転送させる
処理をコンピュータに実行させるデータ配信方法。