(57)【要約】【課題】本発明は、配信許可日、配信終了期日、配信実行禁止時間帯の制約のもとで、複数のデータ配信を最適な順序で実行できるようにすることを目的とする。【解決手段】各配信ジョブについて、データ転送速度を推定しそれに基づいて実行時間を推定すると、１つ前に実行することを決定した配信ジョブの配信終了予測日時と推定した実行時間とに基づいて配信終了予測日時を推定して、配信終了期日と推定した配信終了予測日時との差分時間を算出する。そして、差分時間が最も小さなものとなる配信ジョブを選択して、それを次に実行する配信ジョブとして決定する。この処理を行うときに、配信許可日よりも後の配信開始となる配信ジョブを選択対象として、配信ジョブの選択を行う。また、配信開始時に配信実行禁止時間帯になく、かつ、配信終了予測日時までの間に配信実行禁止時間帯に入らない配信ジョブを選択対象として、配信ジョブの選択を行う。【選択図】図１
2009093461.tif 000002
【特許請求の範囲】
【請求項１】
データ送信装置と１つ以上のデータ受信装置とそれらを接続するネットワークとで構成されるデータ配信システムで用いられて、配信データリストと配信先リストとにより構成される配信ジョブを管理して、それらの配信ジョブの実行順序を制御するデータ配信スケジューラであって、
実行順序が未決定の各配信ジョブについて、データ転送速度を推定し、それに基づいて実行時間を推定する手段と、
実行順序が未決定の各配信ジョブについて、１つ前に実行することを決定した配信ジョブの配信終了予測日時と前記実行時間とに基づいて配信終了予測日時を推定して、配信終了期日とその推定した配信終了予測日時との差分時間を算出する手段と、
実行順序が未決定の配信ジョブの中から、前記差分時間が最も小さなものとなる配信ジョブを選択して、その選択した配信ジョブを次に実行する配信ジョブとして決定することで、前記差分時間が小さいものから順に配信ジョブが実行されることになるようにと、配信ジョブの実行順序を制御する手段と、
実行順序を決定した配信ジョブの配信終了予測日時が前記配信終了期日を超える場合にエラーを出力する手段とを備えることを、
特徴とするデータ配信スケジューラ。
【請求項２】
請求項１に記載のデータ配信スケジューラにおいて、
前記制御する手段は、各配信ジョブに対して配信許可日が設定される場合には、配信許可日よりも後の配信開始となる実行順序が未決定の配信ジョブの中から、前記差分時間が最も小さなものとなる配信ジョブを選択することを、
特徴とするデータ配信スケジューラ。
【請求項３】
請求項１又は２に記載のデータ配信スケジューラにおいて、
前記制御する手段は、各配信ジョブに対して配信実行禁止時間帯が設定される場合には、配信開始時に配信実行禁止時間帯になく、かつ、配信終了予測日時までの間に配信実行禁止時間帯に入らない実行順序が未決定の配信ジョブの中から、前記差分時間が最も小さなものとなる配信ジョブを選択することを、
特徴とするデータ配信スケジューラ。
【請求項４】
請求項１ないし３のいずれか１項に記載のデータ配信スケジューラにおいて、
各配信先について、その配信先を含む過去の配信ジョブにおいて得られたデータ転送速度を保存手段に記録する手段と、
前記保存手段に保存されるデータ転送速度に基づいて、各配信先に対する平均データ転送速度を評価する手段とを備え、
前記推定する手段は、配信ジョブに含まれる全配信先の平均データ転送速度の最悪値に基づいて、配信ジョブのデータ転送速度の予測値を推定することを、
特徴とするデータ配信スケジューラ。
【請求項５】
請求項４に記載のデータ配信スケジューラにおいて、
前記記録する手段は、配信時間帯及び／又は曜日により区分けする形でデータ転送速度を保存手段に記録し、
前記評価する手段は、配信時間帯及び／又は曜日により区分けする形で平均データ転送速度を評価し、
前記推定する手段は、配信時間帯及び／又は曜日により区分けする形で配信ジョブのデータ転送速度の予測値を推定することを、
特徴とするデータ配信スケジューラ。
【請求項６】
請求項４に記載のデータ配信スケジューラにおいて、
前記記録する手段は、配信データが規定のデータサイズのデータブロックに分割されて配信される場合に、データブロックの配信開始の時刻と、各配信先から返信されるそのデータブロックを誤りなく受信したことの返信通知の時刻との差分時間により特定されるデータ転送速度を保存手段に記録することを、
特徴とするデータ配信スケジューラ。
【請求項７】
データ送信装置と、１つ以上のデータ受信装置と、それらを接続するネットワークと、配信ジョブの実行順序を制御するデータ配信スケジューラとを備えるデータ配信システムであって、
前記データ配信スケジューラが、
実行順序が未決定の各配信ジョブについて、データ転送速度を推定し、それに基づいて実行時間を推定する手段と、
実行順序が未決定の各配信ジョブについて、１つ前に実行することを決定した配信ジョブの配信終了予測日時と前記実行時間とに基づいて配信終了予測日時を推定して、配信終了期日とその推定した配信終了予測日時との差分時間を算出する手段と、
実行順序が未決定の配信ジョブの中から、前記差分時間が最も小さなものとなる配信ジョブを選択して、その選択した配信ジョブを次に実行する配信ジョブとして決定することで、前記差分時間が小さいものから順に配信ジョブが実行されることになるようにと、配信ジョブの実行順序を制御する手段とを備え、
前記データ送信装置が、
実行中の配信ジョブを一時停止させて、配信ジョブの実行順序を入れ替える手段を備えることを、
特徴とするデータ配信システム。
【請求項８】
請求項７に記載のデータ配信システムにおいて、
前記データ送信装置が、
配信先に課される配信先への接続が禁止される配信禁止時間帯の情報に基づいて、配信ジョブごとの配信実行禁止時間帯を特定する手段を備え、
前記入れ替える手段は、前記配信実行禁止時間帯を避けるように配信ジョブの実行順序を入れ替えることを、
特徴とするデータ配信システム。
【請求項９】
データ送信装置と１つ以上のデータ受信装置とそれらを接続するネットワークとで構成されるデータ配信システムで用いられて、配信データリストと配信先リストとにより構成される配信ジョブを管理して、それらの配信ジョブの実行順序を制御するデータ配信スケジューラが実行するデータ配信スケジュール方法であって、
実行順序が未決定の各配信ジョブについて、データ転送速度を推定し、それに基づいて実行時間を推定する過程と、
実行順序が未決定の各配信ジョブについて、１つ前に実行することを決定した配信ジョブの配信終了予測日時と前記実行時間とに基づいて配信終了予測日時を推定して、配信終了期日とその推定した配信終了予測日時との差分時間を算出する過程と、
実行順序が未決定の配信ジョブの中から、前記差分時間が最も小さなものとなる配信ジョブを選択して、その選択した配信ジョブを次に実行する配信ジョブとして決定することで、前記差分時間が小さいものから順に配信ジョブが実行されることになるようにと、配信ジョブの実行順序を制御する過程と、
実行順序を決定した配信ジョブの配信終了予測日時が前記配信終了期日を超える場合にエラーを出力する過程とを備えることを、
特徴とするデータ配信スケジュール方法。
【請求項１０】
データ送信装置と１つ以上のデータ受信装置とそれらを接続するネットワークとで構成されるデータ配信システムで用いられて、配信データリストと配信先リストとにより構成される配信ジョブを管理して、それらの配信ジョブの実行順序を制御するデータ配信スケジューラの実現に用いられるデータ配信スケジュールプログラムであって、
コンピュータを、
実行順序が未決定の各配信ジョブについて、データ転送速度を推定し、それに基づいて実行時間を推定する手段と、
実行順序が未決定の各配信ジョブについて、１つ前に実行することを決定した配信ジョブの配信終了予測日時と前記実行時間とに基づいて配信終了予測日時を推定して、配信終了期日とその推定した配信終了予測日時との差分時間を算出する手段と、
実行順序が未決定の配信ジョブの中から、前記差分時間が最も小さなものとなる配信ジョブを選択して、その選択した配信ジョブを次に実行する配信ジョブとして決定することで、前記差分時間が小さいものから順に配信ジョブが実行されることになるようにと、配信ジョブの実行順序を制御する手段と、
実行順序を決定した配信ジョブの配信終了予測日時が前記配信終了期日を超える場合にエラーを出力する手段として機能させるためのデータ配信スケジュールプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信装置と１つ以上のデータ受信装置とそれらを接続するネットワークとで構成されるデータ配信システムで用いられて、配信ジョブの実行順序を制御するデータ配信スケジューラと、そのデータ配信スケジューラを備えるデータ配信システムと、そのデータ配信スケジューラにより実行されるデータ配信スケジュール方法と、そのデータ配信スケジューラの実現に用いられるデータ配信スケジュールプログラムとに関する。
【０００２】
更に具体的に説明するならば、本発明は、マルチキャスト配信方式によりデータ配信を行うデータ配信システムにおいて用いられ、特に、データ配信の開始が許可される日時（以下、配信許可日と称する）、データ配信を終了する必要のある日時（以下、配信終了期日と称する）、配信ジョブの実行が禁止される時間帯（以下、配信実行禁止時間帯と称する）の制約のもとで、複数のデータ配信を最適な順序で実行する必要のある場合に用いられる。
【背景技術】
【０００３】
複数の配信先に同じデータを配信する方法として、マルチキャスト配信方式を用いたデータ配信システムが広く用いられている。
【０００４】
マルチキャスト配信方式では、ネットワーク内でパケットが複製され、これを複数の配信先に対して同報するため、配信元のデータ転送帯域を小さく抑えることが可能となり効率的な配信が可能となる（例えば、非特許文献１，２参照）。
【０００５】
一方、データ配信にマルチキャスト配信方式を適用する場合、すべての配信先に誤りなくデータが配信されることを保証する必要があるため、誤ったデータの補償や再配信が必要となる。特に、配信先の一部で受信が正常に行えなかった場合には、大量のデータを再配信することが必要となり、効率的なネットワークの利用が行えないという問題が発生する。
【０００６】
また、マルチキャスト配信方式においては、ネットワーク内で輻輳が発生した場合に、データ配信速度を制御することが困難であると同時に、一部の配信先のデータ受信速度の低下により配信処理全体のデータ転送速度が低下するという問題がある（例えば、非特許文献３参照）。
【０００７】
特に、配信データとその配信先のリストとが与えられた場合に、配信先リストから精度よくデータ配信速度と配信にかかる時間を推定し、それに基づいてデータ配信のスケジューリングを行うことが困難であった。
【０００８】
また、実際のデータ配信作業においては、データ配信の開始が許可される日時である配信許可日や、データ配信を終了する必要のある日時である配信終了期日や、配信先や配信先に接続されるネットワークのメインテナンスにより配信が行えなくなる時間帯等の配信処理に対する条件が発生するが、従来のデータ配信装置においては、これらの条件を考慮しながらデータの配信順序を最適にスケジューリングする手段を有していなかった。
【０００９】
なお、通常の場合、配信許可日は各配信先ごとに異なるものとなるので、配信ジョブの配信許可日については、その配信ジョブの指定する配信先に対して設定された配信許可日の内の最も遅いものによって規定されることになる。
【００１０】
また、通常の場合、配信終了期日は各配信先ごとに異なるものとなるので、配信ジョブの配信終了期日については、その配信ジョブの指定する配信先に対して設定された配信終了期日の内の最も早いものによって規定されることになる。
【非特許文献１】"A comparison of reliable multicast protocols", Brian Neil Levine, J.J. Garcia-Luna-Aceves, Multimedia Systems 6: 334-348 (1998).
【非特許文献２】"A Classification of Reliable Multicast Protocols", J. William Atwood, Concordia University,IEEE Network・May/June 2004.
【非特許文献３】"A Flow Control Algorithm for ACK-based Reliable Multicast",Dah Ming Chiu, Miriam Kadansky, Joe Wesley, Sun Microsystems Labs, May 1, 1999.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の課題は、マルチキャスト配信方式を利用したデータ配信システムにおいて、データ配信の開始が許可される日時である配信許可日、データ配信を終了する必要のある日時である配信終了期日、配信先に対するデータの転送が禁止される配信実行禁止時間帯が与えられるときに、それらの制約条件を守りながら、優先度の高いものから配信が実行されるように、配信順序の制御を行うことである。
【００１２】
さらに、データ配信順序を決定する際に必要となる各配信ジョブのデータ転送速度と実行時間を精度よく推定することである。
【課題を解決するための手段】
【００１３】
本発明のデータ配信システムにおいては、データ送信装置と、１つ以上のデータ受信装置と、それらを接続するネットワークと、配信ジョブの実行順序を制御するデータ配信スケジューラとを備える。
【００１４】
本発明のデータ配信システムを構成する本発明のデータ配信スケジューラは、配信データリストと配信先リストとにより構成される配信ジョブを管理して、それらの配信ジョブの実行順序を制御するものであり、この配信ジョブの実行順序を制御するために、（１）実行順序が未決定の各配信ジョブについて、データ転送速度を推定し、それに基づいて実行時間を推定する推定手段と、（２）実行順序が未決定の各配信ジョブについて、１つ前に実行することを決定した配信ジョブの配信終了予測日時と推定手段の推定した実行時間とに基づいて配信終了予測日時を推定して、配信終了期日とその推定した配信終了予測日時との差分時間を算出する算出手段と、（３）実行順序が未決定の配信ジョブの中から、算出手段の算出した差分時間が最も小さなものとなる配信ジョブを選択して、その選択した配信ジョブを次に実行する配信ジョブとして決定することで、算出手段の算出した差分時間が小さいものから順に配信ジョブが実行されることになるようにと、配信ジョブの実行順序を制御する制御手段と、（４）実行順序を決定した配信ジョブの配信終了予測日時が配信終了期日を超える場合にエラーを出力する出力手段とを備える。
【００１５】
ここで、制御手段は、各配信ジョブに対して配信許可日が設定される場合には、配信許可日の制限を守るために、配信許可日よりも後の配信開始となる実行順序が未決定の配信ジョブの中から、算出手段の算出した差分時間が最も小さなものとなる配信ジョブを選択する。 
【００１６】
また、制御手段は、各配信ジョブに対して配信実行禁止時間帯が設定される場合には、配信実行禁止時間帯の制限を守るために、配信開始時に配信実行禁止時間帯になく、かつ、配信終了予測日時までの間に配信実行禁止時間帯に入らない実行順序が未決定の配信ジョブの中から、算出手段の算出した差分時間が最も小さなものとなる配信ジョブを選択する。
【００１７】
さらに、この構成を採るときに、配信ジョブのデータ転送速度を精度よく予測することができるようにするために、（ｉ）各配信先について、その配信先を含む過去の配信ジョブにおいて得られたデータ転送速度を保存手段に記録する記録手段と、（ii）保存手段に保存されるデータ転送速度に基づいて、各配信先に対する平均データ転送速度を評価する評価手段とを備えることがあり、この場合には、推定手段は、配信ジョブに含まれる全配信先の平均データ転送速度の最悪値に基づいて、配信ジョブのデータ転送速度の予測値を推定する。
【００１８】
ここで、記録手段は、データ転送速度の予測精度を高めるために、配信時間帯及び／又は曜日により区分けする形でデータ転送速度を保存手段に記録し、評価手段は、それに合わせて、配信時間帯及び／又は曜日により区分けする形で平均データ転送速度を評価し、推定手段は、それに合わせて、配信時間帯及び／又は曜日により区分けする形で配信ジョブのデータ転送速度の予測値を推定することがある。
【００１９】
また、記録手段は、データ転送速度の予測精度を高めるために、配信データが規定のデータサイズのデータブロックに分割されて配信される場合に、データブロックの配信開始の時刻と、各配信先から返信されるそのデータブロックを誤りなく受信したことの返信通知の時刻との差分時間により特定されるデータ転送速度を保存手段に記録することがある。
【００２０】
このように構成される本発明のデータ配信スケジューラの備える各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００２１】
一方、本発明のデータ配信システムを構成するデータ送信装置は、実行中の配信ジョブを一時停止させて、本発明のデータ配信スケジューラが決定した配信ジョブの実行順序を入れ替える入替手段を備える。
【００２２】
さらに、配信先に課される配信先への接続が禁止される配信禁止時間帯の情報に基づいて、配信ジョブごとの配信実行禁止時間帯（配信先の配信禁止時間帯と区別するために配信実行禁止時間帯と称する）を特定する特定手段を備えることがあり、この場合には、入替手段は、特定手段の特定した配信実行禁止時間帯を避けるように配信ジョブの実行順序を入れ替える。
【００２３】
このように構成される本発明のデータ配信スケジューラでは、実行順序が未決定の各配信ジョブについて、データ転送速度を推定し、それに基づいて実行時間を推定すると、実行順序が未決定の各配信ジョブについて、１つ前に実行することを決定した配信ジョブの配信終了予測日時と推定した実行時間とに基づいて配信終了予測日時を推定して、配信終了期日とその推定した配信終了予測日時との差分時間を算出する。
【００２４】
そして、実行順序が未決定の配信ジョブの中から、算出した差分時間が最も小さなものとなる配信ジョブを選択して、その選択した配信ジョブを次に実行する配信ジョブとして決定することで、算出した差分時間が小さいものから順に配信が実行されることになるようにと、配信ジョブの実行順序を制御する。
【００２５】
このとき、実行順序を決定した配信ジョブの配信終了予測日時が配信終了期日を超える場合にはエラーを出力する。このエラー出力を受けて、配信ジョブのスケジューリングを決定する作業者は、実行順序が自動決定された配信ジョブの内のどの配信ジョブの実行順序を変更しなければならないのかを知ることができるようになる。
【００２６】
この処理を行うときに、各配信ジョブに対して配信許可日が設定される場合には、実行順序が未決定の配信ジョブの中から差分時間が最も小さなものとなる配信ジョブを選択するときに、配信許可日よりも後の配信開始となる実行順序が未決定の配信ジョブを選択対象として、その選択を行うことになる。
【００２７】
また、各配信ジョブに対して配信実行禁止時間帯が設定される場合には、実行順序が未決定の配信ジョブの中から差分時間が最も小さなものとなる配信ジョブを選択するときに、配信開始時に配信実行禁止時間帯になく、かつ、配信終了予測日時までの間に配信実行禁止時間帯に入らない実行順序が未決定の配信ジョブを選択対象として、その選択を行うことになる。
【００２８】
本発明のデータ配信システムを構成するデータ送信装置は、本発明のデータ配信スケジューラが決定した実行順序に従って配信ジョブを実行していくことになるが、この実行順序のまま配信ジョブを実行していくと不都合なことが発生する可能性のあることを考慮して、そのような不都合が発生する可能性がある場合には、実行中の配信ジョブを一時停止させて、配信ジョブの実行順序を入れ替えるようにする。
【００２９】
例えば、本発明のデータ配信スケジューラが配信実行禁止時間帯を考慮しないで配信ジョブの実行順序を決定したり、本発明のデータ配信スケジューラが想定していない配信実行禁止時間帯が発生することがあり、このような場合には、配信先に課される配信先への接続が禁止される配信禁止時間帯の情報に基づいて、配信ジョブごとの配信実行禁止時間帯を特定して、その特定した配信実行禁止時間帯を避けるように配信ジョブの実行順序を入れ替えるようにする。
【発明の効果】
【００３０】
本発明によれば、配信終了期日までに余裕のない配信ジョブを優先する形で配信ジョブの実行順序が決定されることで、データ配信の実行順序を最適化することができるようになる。
【００３１】
そして、本発明によれば、配信許可日以前にデータが配信先で受領されないように配信順序に制約を課する機能が設けられ、また、配信ジョブの配信終了予測日時が配信終了期日を超える場合に通知する機能が設けられることで、配信許可日、配信終了期日を守るように配信ジョブの実行順序を最適化することができるようになる。
【００３２】
そして、本発明によれば、配信ジョブに対して配信実行禁止時間帯が設けられている場合に、配信実行禁止時間帯を避ける形で、データ配信の実行順序を最適化することができるようになる。
【００３３】
そして、本発明によれば、配信順序を最適化する際に必要となる配信ジョブのデータ転送速度を精度よく予測することができるようになる。
【００３４】
そして、本発明によれば、実行中の配信ジョブを一時停止させて、配信ジョブの実行順序を入れ替える機能が設けられるので、実行中の配信ジョブによって、より優先度の高い新たな配信ジョブの実行がブロックされることなどにより、配信終了期日を守れないことが起こるという不都合の発生を防止することができるようになる。
【発明を実施するための最良の形態】
【００３５】
以下、実施の形態に従って本発明を詳細に説明する。
【００３６】
図１に、本発明を具備するデータ配信システムのシステム構成を図示する。
【００３７】
この図に示すように、本発明のデータ配信システムは、配信データ蓄積装置１１に保存されるデータを送信対象としてデータ送信を実行するデータ送信装置１０と、データ送信装置１０の送信するデータを受信する複数のデータ受信装置１２と、データ送信装置１０とデータ受信装置１２との間を接続するマルチキャスト配信網１３と、データ送信装置１０において送信されるデータの実行順序を制御するデータ配信スケジューラ１４とを備える。
【００３８】
データ配信スケジューラ１４は、配信ジョブリスト１５に保存される配信ジョブをスケジューリングの対象として、データ転送速度予測装置１６の予測する各配信ジョブについてのデータ転送速度に基づいて、各配信ジョブの実行に必要となる時間を評価することにより、各配信ジョブが、指定された配信許可日（データ配信の開始が許可される日時）から配信終了期日（データ配信を終了する必要のある日時）の間に実行されるように、配信ジョブの実行順序を最適化して、その最適化した実行順序の情報を配信ジョブキューに登録する。
【００３９】
なお、配信ジョブの配信許可日については、各配信先に対して指定された配信許可日の内の最も遅いものによって規定され、配信ジョブの配信終了期日については、各配信先に対して指定された配信終了期日の内の最も早いものによって規定される。
【００４０】
データ転送速度予測装置１６は、データ転送速度収集装置１８により収集されたデータ転送速度履歴情報記憶装置１７に保存される過去のデータ転送速度の情報に基づいて、データ配信スケジューラ１４の必要とする各配信ジョブについてのデータ転送速度を予測する。
【００４１】
配信ジョブリスト１５は、配信ジョブ登録装置１９により登録された配信ジョブのリストを保存するものであり、この配信ジョブは、配信データのリスト、配信先のリスト、配信許可日の情報、配信終了期日の情報により構成される。
【００４２】
次に、データ転送速度予測装置１６の実行するデータ転送速度の予測処理について説明する。
【００４３】
データ転送速度履歴情報記憶装置１７は、配信先となるデータ受信装置１２ごとに、その配信先へ転送されたデータの転送速度の履歴情報を保存する。
【００４４】
例えば、配信先となるものとして配信先Ａ，Ｂ，Ｃ，Ｄがある場合には、図２に示すように、配信先Ａへ転送されたデータの転送速度の履歴情報を記憶する配信先Ａ用のデータ転送速度履歴情報記憶部と、配信先Ｂへ転送されたデータの転送速度の履歴情報を記憶する配信先Ｂ用のデータ転送速度履歴情報記憶部と、配信先Ｃへ転送されたデータの転送速度の履歴情報を記憶する配信先Ｃ用のデータ転送速度履歴情報記憶部と、配信先Ｄへ転送されたデータの転送速度の履歴情報を記憶する配信先Ｄ用のデータ転送速度履歴情報記憶部とを備えるのである。
【００４５】
データ転送速度収集装置１８は、配信ジョブの実行中あるいは終了時に、その配信ジョブの指定する配信先へ転送されたデータの転送速度の情報を収集して、データ転送速度履歴情報記憶装置１７に保存する。
【００４６】
例えば、配信先Ａ，Ｂ，Ｃを配信先として指定する配信ジョブ（１）が終了する場合には、図２に示すように、配信先Ａへ転送されたデータの転送速度ａａの情報と、配信先Ｂへ転送されたデータの転送速度ｂｂの情報と、配信先Ｃへ転送されたデータの転送速度ｃｃの情報とを収集して、それらの収集したデータ転送速度の情報をデータ転送速度履歴情報記憶装置１７に保存するのである。
【００４７】
このようにして、データ転送速度履歴情報記憶装置１７には、配信先ごとに過去のデータ転送速度の情報が蓄積されることになるので、データ転送速度予測装置１６は、この保存されるデータ転送速度の情報に基づいて、各配信ジョブについてのデータ転送速度を予測する処理を実行する。
【００４８】
この予測処理は、具体的には、予測対象となる配信ジョブの指定する配信先への過去のデータ転送速度の加重平均を求めることで、それらの各配信先ごとにデータ転送速度の加重平均を求めて、それらの加重平均値の中の最悪値を選択することで実行される。
【００４９】
例えば、予測対象となる配信ジョブ（２）が配信先Ｂ，Ｃ，Ｄを配信先として指定する場合には、データ転送速度予測装置１６は、図２に示すように、配信先Ｂへの過去のデータ転送速度の加重平均と、配信先Ｃへの過去のデータ転送速度の加重平均と、配信先Ｄへの過去のデータ転送速度の加重平均とを求めて、それらの中の最悪値を選択することで、配信ジョブ（２）のデータ転送速度を予測するのである。
【００５０】
マルチキャスト配信においては、データ転送速度は全配信先に対して均一であり、それは配信ジョブに含まれる最もデータ転送速度の低い配信先に対するデータ転送速度の値に等しいが、このデータ転送速度予測装置１６による評価方法では、データ転送速度の履歴が配信先ごとに記録されるため、複数の配信ジョブの履歴を累積することで、配信先ごとのデータ転送速度の違いを考慮した評価を行うことが可能となる。
【００５１】
一般に、ベストエフォート型のネットワークにおいて得られるデータ転送速度は、ネットワークの輻輳の状態により時間的に変化することになるが、通常のネットワークでは、ネットワークの輻輳状況は時間帯や曜日等により周期性を持っている。
【００５２】
そこで、データ転送速度収集装置１８は、この特性を考慮して、配信ジョブの指定する配信先へ転送されたデータの転送速度の情報を収集してデータ転送速度履歴情報記憶装置１７に保存するときに、収集したデータ転送速度の情報を収集時の時間帯や曜日で分類して、データ転送速度履歴情報記憶装置１７に保存するようにする。
【００５３】
例えば、配信先Ａへのデータ配信のデータ転送速度を収集するときには、図３に示すように、そのデータ配信が深夜の時間帯のデータ配信である場合には、収集したデータ転送速度の情報を配信先Ａ・深夜帯用のデータ転送速度履歴情報記憶部に保存し、そのデータ配信が昼間の時間帯のデータ配信である場合には、収集したデータ転送速度の情報を配信先Ａ・昼間帯用のデータ転送速度履歴情報記憶部に保存し、そのデータ配信が夜間の時間帯のデータ配信である場合には、収集したデータ転送速度の情報を配信先Ａ・夜間帯用のデータ転送速度履歴情報記憶部に保存するようにするのである。
【００５４】
これを受けて、データ転送速度予測装置１６は、配信先Ａを配信先として含む配信ジョブのデータ転送速度を予想するために、配信先Ａへの過去のデータ転送速度を取得する必要がある場合には、図３に示すように、配信先Ａへの深夜の時間帯の過去のデータ転送速度の加重平均と、配信先Ａへの昼間の時間帯の過去のデータ転送速度の加重平均と、配信先Ａへの夜間の時間帯の過去のデータ転送速度の加重平均とをそれぞれ求めて、それらの３つの加重平均の中から予測処理に必要となる時間帯の加重平均を選択することで、配信先Ａへの過去のデータ転送速度を取得したり、あるいは、それらの３つの加重平均の加重平均を求めることで、配信先Ａへの過去のデータ転送速度を取得する。
【００５５】
後述するように、データ配信スケジューラ１４は、１つの配信ジョブを配信ジョブキューに追加するたびにデータ転送速度を再評価することになるが、このとき、データ転送速度予測装置１６は、このような構成に従って配信時間帯に応じた平均データ転送速度を選択することで、より精度の高いデータ転送速度の予測処理を実行することができるようになる。
【００５６】
次に、データ転送速度収集装置１８の実行するデータ転送速度の収集処理について説明する。
【００５７】
マルチキャスト配信方式においては、データの転送速度は全配信先に対して同一であるが、より短い時間のデータの受信状態を見ると配信先ごとにデータ転送速度には違いがある。
【００５８】
図４に、データブロックを送信し、データブロック単位で配信先から受信通知（ＡＣＫ）を受信することによりデータの受領確認を行うマルチキャスト配信プロトコルの一例を示す。
【００５９】
この図に示すように、配信先Ａ，Ｂに対してデータブロックが送信されているが、配信先Ａにおいては正常にデータが受信されたため、直ちにＡＣＫ応答が返送される。一方、配信先Ｂにおいてはパケットの廃棄が発生しているため、配信先Ｂはタイムアウト後にＮＡＣＫを返送し、配信元（送信元）は廃棄されたパケットを再送する。この再送により、最終的に配信先ＢからＡＣＫを受信するまでの時間は配信先Ａより長くなる。
【００６０】
これから、データ転送速度収集装置１８は、配信先ごとに、データブロックの配信開始からＡＣＫ応答を受け取るまでの時間を測定するようにしており、これにより、データ転送速度履歴情報記憶装置１７には、データブロックの配信開始からＡＣＫ応答を受け取るまでの時間が累積されることで、データ転送速度予測装置１６は、配信先ごとのデータ転送速度をより正確に予測することができるようになる。
【００６１】
データ配信スケジューラ１４は、配信ジョブリスト１５に保存される配信ジョブをスケジューリングの対象として、データ転送速度予測装置１６の予測する各配信ジョブについてのデータ転送速度に基づいて、各配信ジョブの実行に必要となる時間を評価することにより、各配信ジョブの実行順序を最適化する処理を行う。
【００６２】
次に、図５のフローチャートに従って、データ配信スケジューラ１４の実行する配信ジョブのスケジューリング処理について説明する。
【００６３】
データ配信スケジューラ１４は、スケジューリングの処理対象となる配信ジョブが与えられると、図５のフローチャートに示すように、まず最初に、ステップＳ１００で、前回配信ジョブキューに追加した配信ジョブの配信終了予測日時を配信開始日時として設定する。このとき、処理開始時点である場合には、予め設定された初期配信開始日時を配信開始日時として設定する。今の場合には処理開始時点であるので、予め設定された初期配信開始日時を配信開始日時として設定することになる。
【００６４】
続いて、ステップＳ１０１で、処理対象の各配信ジョブについて、配信先への過去のデータ転送速度の履歴に基づいて、データ転送速度を予測する。このとき、データ転送速度の履歴に時間依存性がある場合には、設定した配信開始日時を考慮してデータ転送速度を予測する。
【００６５】
この予測処理は、具体的には、処理対象の各配信ジョブの配信先リストを通知しつつデータ転送速度予測装置１６を起動することで実行されるものであり、データ転送速度予測装置１６は、このようにして起動されると、図２や図３で説明した予測処理を実行することで、各配信ジョブのデータ転送速度を予測して、それを返してくるので、それを受け取ることで、処理対象の各配信ジョブのデータ転送速度を予測するのである。
【００６６】
ここで、このステップＳ１０１に処理については、後述するように、ステップＳ１１１の処理を経由してくる場合があり、これから、データ転送速度の履歴に時間依存性がある場合には、前回予測したデータ転送速度とは異なる値となるデータ転送速度を予測することになる。
【００６７】
続いて、ステップＳ１０２で、処理対象の各配信ジョブについて、配信データのデータサイズをデータ転送速度の予測値で割算することで、データ転送時間を予測する。このデータ転送時間の予測値は、配信ジョブの実行時間の予測値となるものである。
【００６８】
続いて、ステップＳ１０３で、処理対象の各配信ジョブについて、
配信終了予測日時＝配信開始日時＋データ転送時間の予測値
の算出式に従って、配信終了予測日時を求める。
【００６９】
すなわち、ステップＳ１００で設定した配信開始日時（全ての配信ジョブに共通）と、ステップＳ１０２で予測した各配信ジョブのデータ転送時間とを加算することで、処理対象の各配信ジョブについて配信終了予測日時を求めるのである。
【００７０】
続いて、ステップＳ１０４で、処理対象の各配信ジョブについて、
配信終了差分時間＝配信終了期日−配信終了予測日時
の算出式に従って、配信終了差分時間を求めるのである。
【００７１】
すなわち、処理対象の各配信ジョブには、データ配信を終了する必要のある日時である配信終了期日（配信ジョブごとに異なる）が設定されているので、この配信終了期日とステップＳ１０３で算出した配信終了予測日時との差分時間を算出することで、処理対象の各配信ジョブについて、配信終了期日までどの位の時間的余裕があるのかを示す配信終了差分時間を求めるのである。
【００７２】
続いて、ステップＳ１０５で、処理対象の配信ジョブを配信終了差分時間の小さな順にソートする。
【００７３】
すなわち、処理対象の配信ジョブを配信終了差分時間の小さな順にソートすることで、配信終了期日まで時間的に余裕がない配信ジョブに高い優先度を与える形で、配信終了差分時間をソートするのである。
【００７４】
続いて、ステップＳ１０６で、先頭からの順番に従って、未選択の配信ジョブを１つ選択する。
【００７５】
続いて、ステップＳ１０７で、ステップＳ１００で設定した配信開始日時が選択した配信ジョブの配信許可日よりも後になるのか否かを判断することで、選択した配信ジョブをステップＳ１００で設定した配信開始日時で開始する場合に、配信許可日よりも後の配信開始となるのか否かを判断する。
【００７６】
すなわち、処理対象の各配信ジョブには、データ配信の開始が許可される日時である配信許可日（配信ジョブごとに異なる）が設定されているので、ステップＳ１００で設定した配信開始日時と、選択した配信ジョブに設定されている配信許可日とを比較することで、配信許可日よりも後の配信開始となるのか否かを判断するのである。
【００７７】
このステップＳ１０７の判断処理に従って、選択した配信ジョブが配信許可日よりも前の配信開始となってしまうことを判断するときには、選択した配信ジョブをステップＳ１００で設定した配信開始日時で開始することは許されないので、ステップＳ１０６の処理に戻って、その次に配信終了差分時間の小さな配信ジョブを選択するようにする。
【００７８】
すなわち、選択した配信ジョブが配信許可日を違反する場合には、この時点よりも後のいつかの時点に配信を開始すれば、その違反を解消することが保証されているので、ステップＳ１０６の処理に戻って、その次に配信終了差分時間の小さな配信ジョブを選択するようにするのである。
【００７９】
一方、ステップＳ１０７の判断処理に従って、選択した配信ジョブをステップＳ１００で設定した配信開始日時で開始する場合に、配信許可日よりも後の配信開始となることを判断するときには、配信許可日違反とはならないので、ステップＳ１０８に進んで、選択した配信ジョブの配信終了予測日時（ステップＳ１０３で求めたもの）が選択した配信ジョブの配信終了期日よりも前になるのか否かを判断する。
【００８０】
すなわち、処理対象の各配信ジョブには、データ配信を終了する必要のある日時である配信終了期日（配信ジョブごとに異なる）が設定されているので、選択した配信ジョブについて求めた配信終了予測日時と、選択した配信ジョブに設定されている配信終了期日とを比較することで、配信終了予測日時が配信終了期日よりも前になるのか否かを判断するのである。
【００８１】
このステップＳ１０８の判断処理に従って、選択した配信ジョブの配信終了予測日時が配信終了期日よりも後になってしまうことを判断するときには、選択した配信ジョブでは配信終了期日を守れないことになるので、ステップＳ１０９に進んで、選択した配信ジョブについて配信終了期日エラーを出力してから、ステップＳ１１０に進んで、選択した配信ジョブを配信ジョブキューに追加してから、処理対象の配信ジョブから除く。
【００８２】
すなわち、選択した配信ジョブが配信終了期日を違反する場合には、この時点よりも後に配信を開始しても、その違反を解消することはできないので（もっと悪くなる）、配信終了期日エラーを出力してから、ステップＳ１１０に進んで、選択した配信ジョブを配信ジョブキューに追加するとともに、処理対象の配信ジョブから除くのである。
【００８３】
一方、ステップＳ１０８の判断処理に従って、選択した配信ジョブの配信終了予測日時が配信終了期日よりも前になることを判断するときには、選択した配信ジョブで配信終了期日を守れることになるので、ステップＳ１０９の処理は実行せずに、直ちにステップＳ１１０に進んで、選択した配信ジョブを配信ジョブキューに追加してから、処理対象の配信ジョブから除く。
【００８４】
続いて、ステップＳ１１１に進んで、処理対象の配信ジョブの全てを選択したのか否かを判断して、全ての配信ジョブを選択していないことを判断するときには、次の配信ジョブを配信ジョブキューに追加すべく、ステップＳ１００の処理に戻り、一方、全ての配信ジョブを選択したことを判断するときには、配信ジョブのスケジューリング処理を終了する。
【００８５】
このようにして、データ配信スケジューラ１４は、配信終了期日までに余裕のない配信ジョブを優先する形で配信ジョブの実行順序を決定することで、可能な限り配信終了期日の制約に違反しないことを実現しつつ、配信許可日の制約については確実に違反しないように制御しながら、データ配信の実行順序を最適化するように処理するのである。
【００８６】
このようにして配信ジョブの実行順序を決定することになるが、配信ジョブに配信実行禁止時間帯が存在する場合には、その配信実行禁止時間帯を考慮して配信ジョブの実行順序を決定する必要がある。
【００８７】
すなわち、データ配信では、配信先において装置やネットワークのメインテナンス等の理由により、データ配信を実行できない時間帯（配信禁止時間帯）が存在することがある。配信先が配信禁止時間帯にあるときにマルチキャスト配信方式によりデータ配信を行うと、配信先に対して正常にデータを送信できないばかりでなく、配信速度全体にも影響を及ぼす可能性があるため、配信禁止時間帯を避けてデータ配信を行うことが必要である。
【００８８】
配信先に配信禁止時間帯が存在する場合には、配信ジョブの実行が禁止される時間帯（配信実行禁止時間帯）は、その配信ジョブに含まれる各配信先の配信禁止時間帯をマージすることによって決定される。例えば、図６に示すように、配信ジョブが配信先として配信先Ａ，Ｂ，Ｃ，Ｄ，Ｅを指定している場合にあって、配信先Ａ，Ｃ，Ｅに配信禁止時間帯が存在する場合には、それらの配信禁止時間帯をマージすることによって、その配信ジョブの配信実行禁止時間帯が決定されることになる。
【００８９】
これから、データ配信スケジューラ１４は、各配信先の配信禁止時間帯が与えられると、処理対象の各配信ジョブごとに、それらの配信禁止時間帯をマージすることによって配信ジョブの配信実行禁止時間帯を特定する。
【００９０】
そして、データ配信スケジューラ１４は、配信ジョブに配信実行禁止時間帯が存在する場合には、図５のフローチャートに代えて図７のフローチャートを実行することで、配信ジョブの実行順序を決定する。
【００９１】
この図７のフローチャートと図５のフローチャートとの異なる点は、図５のフローチャートでは、ステップＳ１０５で、処理対象の配信ジョブを配信終了差分時間の小さな順にソートすると、続くステップＳ１０６で、先頭からの順番に従って未選択の配信ジョブを１つ選択するという構成を採るのに対して、図７のフローチャートでは、ステップＳ１０５で、処理対象の配信ジョブを配信終了差分時間の小さな順にソートすると、続くステップＳ１０６αで、配信開始時に配信実行禁止時間帯になく、かつ、配信終了予測日時までの間に配信実行禁止時間帯に入らない配信ジョブ（配信実行禁止時間帯に該当しない配信ジョブ）を選択対象として、先頭からの順番に従って未選択の配信ジョブを１つ選択するという構成を採る点である。
【００９２】
そして、これに対応して、図５のフローチャートでは、ステップＳ１１１で、処理対象の配信ジョブの全てを選択したのか否かを判断して、全ての配信ジョブを選択したことを判断するときに、処理を終了するという構成を採るのに対して、図７のフローチャートでは、配信実行禁止時間帯により配信を実行できない配信ジョブが残り続ける可能性があるということを考慮して、ステップＳ１１１αでは、全ての配信ジョブを選択していなくても、前回のループ処理と今回のループ処理とで残っている配信ジョブに変化がない場合には、これ以上処理を続けても意味がないので、処理を終了するという構成を採る点である。
【００９３】
このようにして、データ配信スケジューラ１４により配信ジョブの実行順序が決定されることで配信ジョブキューへの配信ジョブの登録が終了すると、データ送信装置１０は、配信ジョブキューの先頭から配信ジョブを１つずつ取り出して、その配信ジョブの持つ配信先リストの指すデータ受信装置１２に対して、その配信ジョブの持つ配信データリストのデータをマルチキャスト配信方式で送信するように処理する。
【００９４】
一方、新たな配信ジョブが発生する場合には、データ配信スケジューラ１４は、配信ジョブキューに登録されている配信ジョブと、その新たな配信ジョブとを処理対象として、配信ジョブの実行順序を決定することになる。
【００９５】
しかるに、この決定時に、データ送信装置１０の実行している配信ジョブの実行時間が長い場合には、その実行中の配信ジョブにより、新規登録された、より優先度の高い配信ジョブの実行がブロックされることが起こることで、配信終了期日エラーの発生する確率が増大するという問題がある。また、配信ジョブが新規登録されない場合でも、データ転送時間の予測値と実際のデータ転送時間との間の誤差が大きくなることにより、実行中の配信ジョブ以外の配信ジョブキューに登録されている配信ジョブについて、配信終了期日エラーの発生する確率が増大するという問題がある。
【００９６】
そこで、データ送信装置１０は、配信ジョブを一時停止させる機能を備えて、この一時停止時点に、配信終了期日エラーが発生しないようにと、配信ジョブの実行を入れ替える処理を実行する。
【００９７】
ここで、配信ジョブの一時停止機能では、配信ジョブの一時停止ポイント、例えば、１つのファイルの転送を終了した時点や、データ転送単位となる１つのデータブロックの転送を終了した時点に、データの配信を一時停止し、その位置を記録しておくことにより、その後で残りのデータの転送を再開できるようにしている。
【００９８】
図８に、この一時停止機能を使って配信ジョブの実行順序を入れ替える処理を行う、データ送信装置１０の実行するフローチャートの一例を図示する。
【００９９】
次に、このフローチャートに従って、データ送信装置１０の実行する処理について説明する。
【０１００】
データ送信装置１０は、配信ジョブキューから取り出した配信ジョブの実行に入ると、図８のフローチャートに示すように、まず最初に、ステップＳ２００で、実行中の配信ジョブのデータ配信処理を継続し、続くステップＳ２０１で、配信ジョブの一時停止ポイントに到達したのか否かを判断して、一時停止ポイントに到達していないことを判断するときには、ステップＳ２０２に進んで、データ配信を終了したのか否かを判断して、データ配信を終了したことを判断するときには、配信ジョブを終了し、データ配信を終了していないことを判断するときには、ステップＳ２００の処理に戻っていくことで、実行中の配信ジョブのデータ配信処理を継続していく。
【０１０１】
このようにして配信ジョブを実行していくときに、ステップＳ２０１で、配信ジョブの一時停止ポイントに到達したことを判断するときには、ステップＳ２０３に進んで、配信継続を見直す条件が成立したのか否かを判断する。
【０１０２】
このとき判断する配信継続を見直す条件とは、例えば、新たな配信ジョブの登録があったとか、データ転送時間の予測値と実際のデータ転送時間との間の誤差が大きくなることで、実行中の配信ジョブのデータ配信に大きな遅れが発生したというような、他の配信ジョブに配信終了期日エラーが発生する確率が増大することを招く条件である。
【０１０３】
このステップＳ２０３の判断処理に従って、配信継続を見直す条件が成立しないことを判断するときには、そのままステップＳ２００の処理に戻り、一方、配信継続を見直す条件が成立したことを判断するときには、ステップＳ２０４に進んで、一時停止ポイントに到達した実行中の配信ジョブについて、これまでの配信時間と、これまでに配信を終えた配信データのデータサイズと、残りの配信データのデータサイズとに基づいて、配信終了予測日時を求める。
【０１０４】
続いて、ステップＳ２０５で、一時停止ポイントに到達した実行中の配信ジョブについて、
配信終了差分時間＝配信終了期日−配信終了予測日時
の算出式に従って、配信終了差分時間を求める。
【０１０５】
続いて、ステップＳ２０６で、配信ジョブキューに登録されている配信ジョブ（一時停止ポイントに到達した実行中の配信ジョブは含まれない）を処理対象として、図５のフローチャート（配信実行禁止時間帯がある場合には図７のフローチャート）による配信ジョブの実行順序を評価する処理を行い、交代対象となる最も配信終了差分時間の小さな配信ジョブを特定する。
【０１０６】
続いて、ステップＳ２０７で、一時停止ポイントに到達した実行中の配信ジョブの配信終了差分時間（ステップＳ２０５で求めたもの）と、交代対象の配信ジョブの配信終了差分時間（ステップＳ２０６で求めたもの）とを比較して、どちらの方が小さいのかを判断し、続くステップＳ２０８で、交代対象の配信ジョブの配信終了差分時間の方がかなり小さいという比較結果が得られたのかを判断する。
【０１０７】
ここで、かなり小さいという判断基準（規定の閾値で判断する）を用いたのは、わずかな違いで判断すると、頻繁に入れ替えが起こることになってしまうからである。
【０１０８】
このステップＳ２０８の判断処理に従って、交代対象の配信ジョブの配信終了差分時間の方がかなり小さいという判断結果が得られなかったときには、一時停止ポイントに到達した実行中の配信ジョブの方が配信終了期日まで余裕がないことを意味しているので、実行中の配信ジョブを一時停止させることなく、ステップＳ２００の処理に戻って配信処理を継続していく。
【０１０９】
一方、ステップＳ２０８の判断処理に従って、交代対象の配信ジョブの配信終了差分時間の方がかなり小さいという判断結果が得られたときには、一時停止ポイントに到達した実行中の配信ジョブよりも交代対象の配信ジョブの方が配信終了期日まで余裕がないことを意味しているので、ステップＳ２０９に進んで、一時停止ポイントに到達した実行中の配信ジョブを一時停止させる。
【０１１０】
続いて、ステップＳ２１０に進んで、交代対象の配信ジョブの配信を実行し、続くステップＳ２１１で、交代対象の配信ジョブの配信が終了するまで、交代対象の配信ジョブの配信を実行して、交代対象の配信ジョブの配信を終了すると、ステップＳ２００の処理に戻って、一時停止させた配信ジョブの実行を再開して、その配信処理を継続するようにする。
【０１１１】
このようにして、データ送信装置１０は、配信ジョブの実行中に、配信終了期日エラーの発生する確率が増大する場合には、実行中の配信ジョブを一時停止させて、配信ジョブの実行順序を入れ替えるように処理するのである。
【０１１２】
これにより、実行中の配信ジョブによって、より優先度の高い新たな配信ジョブの実行がブロックされてしまうことなどにより、配信終了期日を守れないことが起こるという不都合の発生を防止することができるようになる。
【０１１３】
図９に、データ送信装置１０の実行するフローチャートの他の一例を図示する。
【０１１４】
配信ジョブのスケジューリング段階では想定していない配信先への配信禁止時間帯がスケジューリングの後に発生したり、実際の配信時間と予測された配信時間のずれが発生することで、実行中の配信ジョブについて、その実行途中で配信実行禁止時間帯に入るということが起こる。
【０１１５】
このようなことが起こることなどを想定して、データ送信装置１０は、図９のフローチャートを実行する。
【０１１６】
すなわち、データ送信装置１０は、配信ジョブキューから取り出した配信ジョブの実行に入ると、図９のフローチャートに示すように、まず最初に、ステップＳ３００で、実行中の配信ジョブのデータ配信処理を継続し、続くステップＳ３０１で、配信ジョブの一時停止ポイントに到達したのか否かを判断して、一時停止ポイントに到達していないことを判断するときには、ステップＳ３０２に進んで、データ配信を終了したのか否かを判断して、データ配信を終了したことを判断するときには、配信ジョブを終了し、データ配信を終了しないことを判断するときには、ステップＳ３００の処理に戻っていくことで、実行中の配信ジョブのデータ配信処理を継続していく。
【０１１７】
このようにして配信ジョブを実行していくときに、ステップＳ３０１で、配信ジョブの一時停止ポイントに到達したことを判断するときには、ステップＳ３０３に進んで、次の実行単位が配信実行禁止時間帯に入るのか否かを判断する。
【０１１８】
このステップＳ３０３の判断処理に従って、次の実行単位が配信実行禁止時間帯に入らないことを判断するときには、そのままステップＳ３００の処理に戻り、一方、次の実行単位が配信実行禁止時間帯に入ることを判断するときには、ステップＳ３０４に進んで、一時停止ポイントに到達した実行中の配信ジョブについて、これまでの配信時間と、これまでに配信を終えた配信データのデータサイズと、残りの配信データのデータサイズと、配信実行禁止時間帯とに基づいて、配信終了予測日時を求める。
【０１１９】
続いて、ステップＳ３０５で、一時停止ポイントに到達した実行中の配信ジョブについて、
配信終了差分時間＝配信終了期日−配信終了予測日時
の算出式に従って、配信終了差分時間を求める。
【０１２０】
続いて、ステップＳ３０６で、配信ジョブキューに登録されている配信ジョブ（一時停止ポイントに到達した実行中の配信ジョブは含まれない）を処理対象として、図７のフローチャートによる配信ジョブの実行順序を評価する処理を行い、交代対象となる最も配信終了差分時間の小さな配信ジョブを特定する。
【０１２１】
続いて、ステップＳ３０７で、一時停止ポイントに到達した実行中の配信ジョブの配信終了差分時間（ステップＳ３０５で求めたもの）と、交代対象の配信ジョブの配信終了差分時間（ステップＳ３０６で求めたもの）とを比較して、どちらの方が小さいのかを判断し、続くステップＳ３０８で、交代対象の配信ジョブの配信終了差分時間の方がかなり小さいという比較結果が得られたのかを判断する。
【０１２２】
このステップＳ３０８の判断処理に従って、交代対象の配信ジョブの配信終了差分時間の方がかなり小さいという判断結果が得られなかったときには、一時停止ポイントに到達した実行中の配信ジョブの方が配信終了期日まで余裕がないことを意味しているので、実行中の配信ジョブを一時停止させることなく、ステップＳ３００の処理に戻って配信処理を継続していく。
【０１２３】
一方、ステップＳ３０８の判断処理に従って、交代対象の配信ジョブの配信終了差分時間の方がかなり小さいという判断結果が得られたときには、一時停止ポイントに到達した実行中の配信ジョブよりも交代対象の配信ジョブの方が配信終了期日まで余裕がないことを意味しているので、ステップＳ３０９に進んで、一時停止ポイントに到達した実行中の配信ジョブを一時停止させる。
【０１２４】
続いて、ステップＳ３１０に進んで、交代対象の配信ジョブの配信を実行し、続くステップＳ３１１で、交代対象の配信ジョブの配信が終了するまで、交代対象の配信ジョブの配信を実行して、交代対象の配信ジョブの配信を終了すると、ステップＳ３００の処理に戻って、一時停止させた配信ジョブの実行を再開して、その配信処理を継続するようにする。
【０１２５】
このようにして、データ送信装置１０は、配信ジョブの実行中に、新たに配信実行禁止時間帯が発生することなどにより、実行中の配信ジョブが配信実行禁止時間帯に入ることになる場合には、実行中の配信ジョブを一時停止させて、配信ジョブの実行順序を入れ替えるように処理するのである。
【０１２６】
これにより、配信実行禁止時間帯により実行中の配信ジョブが配信を実行できなくなるときに、実行可能な配信ジョブがあるのに、その配信ジョブを実行することができないことが起こるという不都合の発生を防止することができるようになる。
【０１２７】
なお、この図９のフローチャートでは、実行中の配信ジョブが配信実行禁止時間帯に入るときに、配信ジョブの実行順序を再評価するという構成を採ったが、配信実行禁止時間帯にあった配信ジョブが配信実行禁止時間帯から抜けるときに、配信ジョブの実行順序を再評価するという構成を採ることも可能である。
【０１２８】
次に、本発明の特徴についてまとめる。
【０１２９】
本発明の第一の特徴は、各配信先において得られた過去のデータ転送速度の履歴から精度よく配信ジョブのデータ転送速度を推定することにより配信ジョブの実行時間を推定し、それに基づいて、優先度の高い順に配信ジョブの実行順序を設定することである。
【０１３０】
さらに、配信ジョブに配信許可日が設定されている場合に、配信許可日以前にデータが受領されないように配信ジョブの実行順序に制約を加えることである。また、配信ジョブの実行順序と実行時間の推定値とに基づき、各配信ジョブの終了日時を予測することで、配信終了期日までに配信が終了するかどうかのチェックを行うことである。
【０１３１】
本発明の第二の特徴は、実行中の配信ジョブを一時停止する機能を設けることにより、より優先度の高い配信ジョブの実行が新たに登録された場合に、実行中の配信ジョブによって、優先度の高い配信ジョブの実行がブロックされることを防止することである。
【０１３２】
本発明の第三の特徴は、配信ジョブに対して配信を実行できない配信実行禁止時間帯が与えられた場合に、配信実行禁止時間帯を避けながら配信ジョブが実行されるように、配信順序の評価と配信ジョブの実行制御を最適化することである。
【０１３３】
本発明の第四の特徴は、配信ジョブのデータ転送速度を推定する手段として、各配信先に対して、その配信先を含む過去の配信ジョブにおいて得られたデータ転送速度を記録することで、各配信先に対する平均データ転送速度を評価する手段を設けることであり、さらに、配信時間帯、曜日により分類してデータ転送速度の記録を行うこと、データ配信ブロックの送信開始からデータの受領通知を受けるまでの時間によりデータ転送時間を評価することで、より精度のよいデータ転送速度の推定を可能とすることである。
【産業上の利用可能性】
【０１３４】
本発明は、マルチキャスト配信方式によりデータ配信を行うデータ配信システムなどのデータ配信システムに適用可能であり、データ配信の開始が許可される日時である配信許可日、データ配信を終了する必要のある日時である配信終了期日、配信の実行が禁止される配信実行禁止時間帯の制約のもとで、複数のデータ配信を最適な順序で実行できるようにすることを実現する。
【図面の簡単な説明】
【０１３５】
【図１】本発明を具備するデータ配信システムのシステム構成図である。
【図２】データ転送速度予測装置の実行するデータ転送速度の予測処理の説明図である。
【図３】データ転送速度予測装置の実行するデータ転送速度の予測処理の説明図である。
【図４】マルチキャスト配信プロトコルの説明図である。
【図５】データ配信スケジューラの実行するフローチャートである。
【図６】配信ジョブの配信実行禁止時間帯の説明図である。
【図７】データ配信スケジューラの実行するフローチャートである。
【図８】データ送信装置の実行するフローチャートである。
【図９】データ送信装置の実行するフローチャートである。
【符号の説明】
【０１３６】
１０  データ送信装置
１１  配信データ蓄積装置
１２  データ受信装置
１３  マルチキャスト配信網
１４  データ配信スケジューラ
１５  配信ジョブリスト
１６  データ転送速度予測装置
１７  データ転送速度履歴情報記憶装置
１８  データ転送速度収集装置
１９  配信ジョブ登録装置
【図１】
2009093461.tif 000003
【図２】
2009093461.tif 000004
【図３】
2009093461.tif 000005
【図４】
2009093461.tif 000006
【図５】
2009093461.tif 000007
【図６】
2009093461.tif 000008
【図７】
2009093461.tif 000009
【図８】
2009093461.tif 000010
【図９】
2009093461.tif 000011