(57)【要約】    【課題】転送先のノード群が変更されてもバケツリレー転送により細分化した部分ファイルを近接間転送して最終ノードまで高速にファイルを転送可能とする。    【解決手段】データ転送スケジューラ１０はノード１６−１〜１６−５にファイルサーバ１２からデータを細分化して転送するスケジュールを生成して管理する。転送要求受付部２４でファイル名と複数の転送先ノード群を指定した転送要求を受け付けると、転送順序管理部２６が転送要求を転送先ノード毎のノード転送要求に分解してソートした後にファイル名に結合してノード転送順序を示すファイル管理リスト４６−１を生成し、ファイル管理リスト４６−１の順番に従って細分化した部分ファイルを近接ノード間転送するように細分化ファイル配信管理部３２に依頼して転送させる。    【選択図】          図１
2008299769.tif 000002
【特許請求の範囲】
【請求項１】
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置に於いて、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部と、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部と、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部と、
を備えたことを特徴とするデータ転送スケジュール装置。
【請求項２】
請求項１記載のデータ転送スケジュール装置に於いて、前記ファイル転送順序管理部は、ファイル転送を依頼したノードでの同一部分ファイルの次のノードへの転送回数を１回に制限して前記ファイル管理リストにおけるノード転送要求の配列順に部分ファイルを順次転送させることを特徴とするデータ転送スケジュール装置。
【請求項３】
請求項１記載のデータ転送スケジュール装置に於いて、前記ファイル転送順序管理部は、
前記転送要求を転送先ノード毎のノード転送要求に分解した後にファイル名と転送先アドレスでソートし、前記ファイル名にソートした前記ノード転送要求を連結して転送ノードの順番を示すファイル管理リストを生成するソート処理部と、
前記ファイルサーバ及び全ノードにキャッシュされている保有ファイルの一覧を収集し、前記ファイル管理リストに転送元ファイルのキャッシュ位置を検出して設定するキャッシュ位置取得部と、
前記ファイル管理リストに配列したノード転送要求毎に、次ノードに対する部分ファイルの転送進捗状況を示す進捗管理情報と、次ノードに対する同じ部分ファイルの転送回数を所定の最大転送可能数に制限する転送回数管理情報とを生成して管理する転送情報管理部と、
前記進捗管理情報及び転送回数管理情報に基づいて、転送可能なノードを判定して前記細分化ファイル配信管理部にファイル転送を依頼すると共に、前記転送回数管理情報における同じ部分ファイルの転送回数を更新するファイル転送依頼部と、
前記細分化ファイル配信管理部から依頼したファイル転送の完了通知を受けた際に、前記進捗管理情報に記述している部分ファイルの転送進捗状況を更新し、全ての部分ファイルの転送完了を判別した場合は、対応するノード転送要求を前記ファイル管理リストから削除し、更に、前記転送回数管理情報の同じ部分ファイルの転送回数が最大転送可能数に達していた場合は次の部分ファイル転送のために前記転送回数を１つ減らす転送完了処理部と、
を備えたことを特徴とするデータ転送スケジュール装置。
【請求項４】
請求項３記載のデータ転送スケジュール装置に於いて、前記転送情報管理部で管理する次ノードに対する同じ部分ファイルの最大転送可能数を１に設定したことを特徴とするデータ転送スケジュール装置。
【請求項５】
請求項１記載のデータ転送スケジュール装置に於いて、前記ファイル転送依頼部は、
前記ファイル管理リストに配列したノード転送要求にリンクしている前記ファイルサーバを含む各ノードの進捗管理情報及び転送回数管理情報を配列順に調べ、
前記転送回数管理情報の部分ファイル転送回数が最大転送可能数未満で、且つ前記進捗管理情報が全ての部分ファイルの転送完了を示していなければ、転送可能ノードと判定することを特徴とするデータ転送スケジュール装置。
【請求項６】
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置のコンピュータを、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部、
として機能させることを特徴とするプログラム。
【請求項７】
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置のコンピュータを、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部、
として機能させるプログラムを格納したコンピュータ可読な記録媒体。
【請求項８】
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール方法に於いて、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付プロセスと、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理プロセスと、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理プロセスと、
を備えたことを特徴とするデータ転送スケジュール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置、プログラム、記録媒体及び方法に関し、特に、データを細分化して近接ノード間でバケツリレー的に転送させるデータ転送スケジュール装置、プログラム、記録媒体及び方法に関する。
【背景技術】
【０００２】
従来、大規模なサーバファームやデータセンタのような多数のサーバを利用する環境において、大きな入力ファイルを必要とするアプリケーションを多数台で実行する場合に、その入力ファイルを効率的に配布するデータ転送が必要となる。
【０００３】
従来のデータ転送にあっては、ファイルを必要とするサーバからファイルの置き場所であるファイルサーバへファイルの転送要求が送られ、それに応える形でファイルサーバからサーバへファイルが転送されている。
【特許文献１】特開２００２−１４９４７３号公報
【特許文献２】特開平９−１６０８２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来のデータ転送にあっては、複数台のサーバでファイルが必要な場合に、例えばｎ台のサーバでファイルが必要な場合、ファイルサーバからｎ回ファイル転送が発生し、このような１対ｎ転送ではファイルサーバがネックとなって全体にファイルが行きわたるまで時間が掛かるという問題がある。
【０００５】
この問題を解消するため、各々のサーバにファイル転送のエージェントを配置し、キャッシュとしてファイルを持たせて、近隣のサーバからファイルを転送させる方法がある。しかし、このデータ転送にあっても、最後の1台にファイルがコピーされるまでに、やはりｎ回分のファイル転送が必要であり、時間がかかる問題がある。
【０００６】
一方、サーバ設置時などの状況においては、複数のサーバに対するファイルの転送順序予め定め、細分化された部分ファイルを定められた順序でサーバ間を順次転送することでファイル転送時間を短縮するバケツリレー方式によるデータ転送方法がある。
【０００７】
しかし、バケツリレー方式によるデータ転送は、サーバ設置状況が把握できている定められたサーバ群全体に配布するケースでしか利用できず、ファイルを配布するサーバが転送要求毎に変化するようなデータ転送では利用できない問題がある。
【０００８】
本発明は、転送先のノード群が変更されてもバケツリレー転送により細分化した部分ファイルを近接間転送して最終ノードまで高速にファイルを転送可能なデータ転送スケジュール装置、プログラム、記録媒体及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
（装置）
本発明はデータ転送スケジュール装置を提供する。本発明は、ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置に於いて、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部と、
転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部と、
ファイル転送依頼を受けた際に、依頼先となるファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部と、
を備えたことを特徴とする。
【００１０】
ここで、ファイル転送順序管理部は、ファイル転送を依頼したノードでの同一部分ファイルの次のノードへの転送回数を１回に制限して前記ファイル管理リストにおけるノード転送要求の配列順に部分ファイルを順次転送させる。
【００１１】
ファイル転送順序管理部は、
転送要求を転送先ノード毎のノード転送要求に分解した後にファイル名と転送先アドレスでソートし、ファイル名にソートした前記ノード転送要求を連結して転送ノードの順番を示すファイル管理リストを生成するソート処理部と、
ファイルサーバ及び全ノードにキャッシュされている保有ファイルの一覧を収集し、ファイル管理リストに転送元ファイルのキャッシュ位置を検出して設定するキャッシュ位置取得部と、
ファイル管理リストに配列したノード転送要求毎に、次ノードに対する部分ファイルの転送進捗状況を示す進捗管理情報と、次ノードに対する同じ部分ファイルの転送回数を所定の最大転送可能数に制限する転送回数管理情報とを生成して管理する転送情報管理部と、
進捗管理情報及び転送回数管理情報に基づいて、転送可能なノードを判定して細分化ファイル配信管理部にファイル転送を依頼すると共に、転送回数管理情報における同じ部分ファイルの転送回数を更新するファイル転送依頼部と、
細分化ファイル配信管理部から依頼したファイル転送の完了通知を受けた際に、進捗管理情報に記述している部分ファイルの転送進捗状況を更新し、全ての部分ファイルの転送完了を判別した場合は、対応するノード転送要求をファイル管理リストから削除し、更に、転送回数管理情報の同じ部分ファイルの転送回数が最大転送可能数に達していた場合は次の部分ファイル転送のために転送回数を１つ減らす転送完了処理部と、
を備える。
【００１２】
転送情報管理部で管理する次ノードに対する同じ部分ファイルの最大転送可能数を１に設定する。
【００１３】
ファイル転送依頼部は、
ファイル管理リストに配列したノード転送要求にリンクしているファイルサーバを含む各ノードの進捗管理情報及び転送回数管理情報を配列順に調べ、
転送回数管理情報の部分ファイル転送回数が最大転送可能数未満で、且つ進捗管理情報が全ての部分ファイルの転送完了を示していなければ、転送可能ノードと判定する。
【００１４】
（プログラム）
本発明はデータ転送スケジュールのためのプログラムを提供する。本発明のプログラムは、ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置のコンピュータを、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部、
転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部、
ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部、
として機能させることを特徴とする。
【００１５】
（記録媒体）
本発明はデータ転送スケジュールのためのプログラムを格納したコンピュータ可読な記録媒体を提供する。本発明の記録媒体は、
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置のコンピュータを、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部、
転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部、
ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部、
として機能させるプログラムを格納ことを特徴とする。
【００１６】
（方法）
本発明はデータ転送スケジュール方法を提供する。本発明は、ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール方法に於いて、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付プロセスと、
転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理プロセスと、
ファイル転送依頼を受けた際に、依頼先となるファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理プロセスと、
を備えたことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ファイル名と転送先ノード群を指定した転送要求を受付けた際に、受付けた転送要求をノード毎のノード転送要求に分解してノード間で近接間転送を可能とするように例えばノードのＩＰアドレスでソートした順番でファイル単位に配列したノード転送順序を示すファイル管理リストを生成し、このファイル管理リストに基づいて転送可能なノードを判別してファイル転送を指示し、更に、ノード間での同じ部分ファイルの転送回数を１回しか許さないように制限することで、ファイル管理リストの転送順序に従って細分化した部分ファイルをファイルサーバから各ノードにバケツリレー的に転送し、最終ノードまで高速にファイルを転送することができる。
【発明を実施するための最良の形態】
【００１８】
図１は本発明によるデータ転送スケジューラを備えたデータ配信システムの実施形態を示した説明図である。図１において、本実施形態のデータ転送スケジューラ１０に対してはファイル転送元となるファイルサーバ１２が接続され、またネットワーク１４を介してファイル転送先となるノード１６−１〜１６−５が接続されている。
【００１９】
ノード１６−１〜１６−５のそれぞれにはデータ転送エージェント１８−１〜１８−５が配置されており、データ転送スケジューラ１０からの転送命令を受けて近接ノード間で所定の固定サイズに細分化した部分ファイルをバケツリレー方式で転送する。
【００２０】
またノード１６−１〜１６−５のそれぞれには転送ファイルを一時的に保持するための転送キャッシュ２０−１〜２０−５が設けられている。更にノード１６−１〜１６−５には、それぞれ転送されたファイルを格納してアプリケーションで使用するためのストレージ２２−１〜２２−５が接続されている。
【００２１】
図１に示す本実施形態のデータ転送スケジューラ１０を備えたデータ配信システムは、例えばデータファームやデータセンタのようなグリッド環境であり、ノード１６−１〜１６−５はファイルサーバ１２から比較的大きなファイルの転送を受けてアプリケーションにより実行するサーバとして機能する。
【００２２】
また転送スケジューラ１０及びノード１６−１〜１６−５を接続しているネットワーク１４は例えばインターネットプロトコル（ＩＰプロトコルネットワーク）であり、データ転送スケジューラ１０、ファイルサーバ１２及びノード１６−１〜１６−５のそれぞれは固有のＩＰアドレスを持ち、またノード１６−１〜１６−５はそれぞれ識別するための固有のノード名を予め設定している。
【００２３】
図２は本実施形態におけるデータ転送スケジューラの機能構成を示したブロック図である。図２において本実施形態のデータ転送スケジューラ１０は転送要求受付部２４、転送順序管理部２６、制御部２８、キャッシュ位置取得部３０、細分化ファイル配信管理部３２を備えている。
【００２４】
転送順序管理部２６にはソート処理部３４と転送要求格納部３６が設けられている。また制御部２８には転送情報管理部３８、ファイル転送依頼部４０及び転送完了処理部４２が設けられている。このようなデータ転送スケジューラに設けられた各処理部はデータ転送スケジューラ１０を実現するコンピュータにおけるプログラムの実行により実現される機能である。
【００２５】
またデータ転送スケジューラ１０にネットワーク１４を介して接続されているノード１６−１〜１６−５のノード名として、この例ではｈｏｓｔ１〜ｈｏｓｔ５を設定している。
【００２６】
データ転送スケジューラ１０に設けた転送要求受付部２４は、ネットワーク１４に接続しているクライアントなどからの転送要求４４−１〜４４−２を受け付けて保持する。
【００２７】
転送要求受付部２４で受け付ける転送要求４４−1、４４−２は例えば図３に示す内容を持つ。図３は図２の転送要求４４−１はＸＭＬによる記述例を示している。転送要求４４−１には転送対象とするファイル名４８として「ファイルＡ」が記述されている。
【００２８】
また転送要求４４−１には転送先ノード群５０が記述され、この例では転送先ノード群５０として図２に示したノード１６−１〜１６−５の５つのノード名「ｈｏｓｔ１〜ｈｏｓｔ５」が記述されている。
【００２９】
再び図２を参照するに、転送要求受付部２４で受け付けた転送要求４４−１、４４−２は受付順に転送順序管理部２６に送られる。転送順序管理部２６は転送要求受付部２４から受け取った例えば転送要求４４−１を、転送先ノードごとのノード転送要求に分解した後、分解したノード転送要求を例えばＩＰアドレスによってソートしてファイル名に結合して配列したノード転送順序を示す転送要求格納部３６に示すファイル管理リスト４６−１を生成する。
【００３０】
そして転送順序管理部２６は、転送対象となったファイルＡを細分化した例えば５つの部分ファイルＡ１〜Ａ５、ファイル管理リスト４６−１のノード転送順序に従って近接ノード間転送をするように細分化ファイル配信管理部３２にファイル転送を依頼する。
【００３１】
細分化ファイル配信管理部３２は転送順序管理部２６から転送依頼を受けた際に、依頼先となるファイルサーバ１２、ノード１６−１〜１６−４にファイル転送を指示して近接ノード間転送を実行する。
【００３２】
この転送順序管理部２６の機能を制御部２８とともに更に詳細に説明すると次のようになる。まずソート処理部３４は転送要求受付部２４から例えば転送要求４４−１、４４−２を受け取った際に、転送要求４４−１、４４−２をそれぞれ転送先ノードごとのノード転送要求に分解した後、ファイル名と転送先アドレスであるＩＰアドレスでソートし、ファイル名単位、すなわちファイル名Ａ単位及びファイル名Ｂ単位に、それぞれノード転送要求をノード転送順に配列したファイル管理リスト４６−１、４６−２を生成する。
【００３３】
ファイル管理リスト４６−１、４６−２に配列している「ｈｏｓｔ１〜ｈｏｓｔ５」または「ｈｏｓｔ３，ｈｏｓｔ５」で示すノート転送要求のそれぞれに対しては、後の説明で明らかにする進捗管理情報を初期化してリンクしている。進捗管理情報は次のノードに対する部分ファイルの転送進捗情報、即ち細分化した部分ファイルがいくつ次ノードにいくつ送られたかを示す情報である。
【００３４】
例えばファイル名Ａのファイル管理リスト４６−１にリンクされた進捗管理情報はファイルＡを例えば６つの部分ファイルＡ１〜Ａ６に分けて転送していることから、進捗管理情報はある転送タイミングで図示のように転送順に「１／６,２／６，３／６，４／６，５／６」が記録されている。
【００３５】
制御部２８に設けた転送情報管理部３８は例えばファイル管理リスト４６−１を例にとると、ファイル管理リスト４６−１に配列した「ｈｏｓｔ１〜ｈｏｓｔ５」で示すノード転送要求に基づき次のノードに対する部分ファイルの転送進捗状況を示す進捗管理情報と、次のノードに対する同じく部分ファイルの転送回数を所定の最大転送回数に制限する転送回数管理情報部とを生成して管理する。
【００３６】
図４は図２の転送情報管理部２４で管理される図３の転送要求４４−１から生成されたリンク先のファイル管理リスト４６−１と、これにリンクして管理される進捗管理情報５２と転送回数管理情報を５４を示した説明図である。
【００３７】
図４において、ファイル管理リスト４６−１は図３の転送要求４４−１について図２のソート処理部３４の処理により作成されている。このファイル管理リスト４６−１は転送要求４４−１のファイル名４８に対し転送要求４４−１に含まれている転送先ノード名から転送先ノードごとのノード転送要求５６−１〜５６−５に分解した後、分解したノード転送要求をファイル単位及びＩＰアドレス単位にソートしてファイル名４８に対し配列することで生成している。
【００３８】
ファイル管理リスト４６−１の生成と同時にソート処理部３４は転送先のノードごとに次のノードに対する部分ファイルの転送進捗情報を示す進捗管理情報６０−１〜６０−５を初期化してリンクしている。
【００３９】
ノード転送要求５６−１〜５６−５に初期化してリンクされた進捗管理情報６０−１〜６０−５は、ノード間で転送される細分化された部分ファイルの転送進捗情報を記録する。例えば細分化数を６とすると、部分ファイルを次のノードに転送るごとに、転送進捗情報は１／６、２／６、３／６、４／６、５／６と変化する情報を記録して管理する。
【００４０】
ここで図４のファイル管理リスト４６−１に配列しているノード転送要求５６−１〜５６−５の情報は図５（Ａ）に代表して示すように、ファイル名６８と転送先ノード名７０で構成されている。
【００４１】
また図４の進捗管理情報５２に配置しているノード進捗管理情報６０−１〜６０−５は、図５（Ｂ）に取り出して代表して示すように、部分ファイル進捗比７２とノード名７４を記述している。ここで部分ファイル進捗比７２は
（部分ファイル進捗比）＝（部分ファイルの転送完了数）／細分化数）
で与えられる。
【００４２】
具体的に図４の進捗管理情報５２の各ノード進捗管理情報６０−１〜６０−５に示すように細分化数＝６とすると、部分ファイルの転送の進捗に応じて部分ファイル進捗比は、０／６，１／６，２／６，３／６，４／６，５／６，６／６と変化する。尚、部分ファイル進捗比０／６は部分ファイルの転送が行われていない初期値であり、また部分ファイル進捗比６／６は部分ファイルの全ての転送が完了した転送完了を示す値となる。
【００４３】
図４の転送回数管理情報５４は、図５（Ｃ）に示すように、ノード名６２、最大転送可能数６４及び現在転送数６６を記述している。転送回数管理情報５４は細分化して部分ファイルをファイル転送元のファイルサーバ１２からノード１６−１〜１６−５に対してバケツリレー方式により転送する際のノード間で同じ部分ファイルを転送できる回数を制限するための情報である。
【００４４】
即ち、転送回数管理情報５２に設定された最低転送可能数６４が次のノードに同じ部分ファイルを転送することのできる最大数であり、次のノードに転送するごとに現在転送数６６を１つずつ増加させる更新を行い、現在転送数６６が最大転送可能数６４に達したら、それ以降同じ部分ファイルの次のノードへの転送を禁止する。
【００４５】
本実施形態にあっては転送回数管理情報５４における最大転送可能数を１とすることでファイルサーバ１２から転送先のノード１６−１〜１６−５に対する細分化された部分ファイルの転送につき同じ部分ファイルはノード間で１回しか転送できないように制限する。これによってファイルサーバ１２からノード１６−１〜１６−５に対し、部分ファイルを近接サーバ間で１回ずつ順次転送するバケツリレー転送を実現することができる。
【００４６】
図４に示す転送回数管理情報５４にあってはノード名６２−１〜６２−５に示すように、ファイルサーバ１２と最後のノード１６−５を除くノード１６−１〜１６−４のホスト名ｈｏｓｔ１〜ｈｏｓｔ４を記述している。
【００４７】
次の最大転送可能数６４−１〜６４−５は予め設定した「１」である。最後の現在転送数６６−１〜６６−５は次のノードに対する部分ファイルの転送を依頼するごとに０から１に更新され、依頼した部分ファイルの転送完了の通知を受けると１から０に１つ減らして次の部分ファイルの転送に備える。
【００４８】
再び図２を参照するに制御部２８に設けたファイル転送依頼部４０は転送情報管理部３８で管理している例えば図４に示した進捗情報管理情報５２及び転送回数管理情報５４に基づき転送可能なノードを判定して細分化ファイル配信管理部３２にファイル転送を依頼する。更にファイル転送依頼部４０は転送依頼時に同じ部分ファイルの転送回数を示す現在転送数６６−１〜６６−５を各ノードに対応してこのタイミングで０から１に更新する。
【００４９】
制御部２８に設けた転送完了処理部４２は、細分化ファイル配信管理部３２から依頼したファイル転送の完了通知を受けた際に、図４の進捗管理情報５２の中のノード進捗管理情報６０−１〜６０−５の部分ファイル進捗比の分子を１つ増加させる更新を行う。
【００５０】
この更新により部分ファイル進捗比の分母の細分化数と分子の部分ファイル転送完了数とが一致する例えば６／６となったときに、全ての部分ファイルの転送完了を判別し、対応するノード転送要求をファイル管理リストから削除する。
【００５１】
また図４の転送回数管理情報５４における現在転送数６６−１〜６６−５が最大転送可能数６４−１〜６４−５の値、具体的には１に達していた場合には、次の部分ファイルの転送のため現在転送数６６−１〜６６−５を１つ減らしてゼロにする。
【００５２】
更に図２のデータ転送スケジューラ１０に設けているキャッシュ位置取得部３０は、ファイルサーバ１２、ノード１６−１〜１６−５にキャッシュされている保有ファイルの一覧を収集し、ファイル管理リスト４６−１または４６−２に転送元のキャッシュ位置を記述してセットする。これによって例えばファイル管理リスト４６−１における転送対象となる元ファイルがファイルサーバ１２にあることを示す転送元ファイルサーバ情報５８をファイル管理リスト４６に設定することができる。
【００５３】
図４のファイル管理リスト４６−１にあってはファイル名４８である「ファイルＡ」に対し、図２のキャッシュ位置取得部３０の処理により検出されたファイルサーバを転送元ファイルサーバ情報５８に記録してファイル管理リスト４６のファイル名４８にリンクする。
【００５４】
図６は図２の転送要求格納部３６に配置したファイル管理リスト４６−１に基づいてファイルＡを６つの部分ファイルＡ１〜Ａ６に細分化してバケツリレー方式によりノード１６−１〜１６−５に対しデータ転送する様子を示したタイムチャートである。
【００５５】
図６において、ステップＳ１のタイミングにあっては、まずファイルサーバ１２から細分化した最初の部分ファイルＡ１を最初のノード１６−１に転送する。ファイルサーバ１２からノード１６−１に対する部分ファイルＡ１の転送回数は最大転送可能数を１に設定することで１回だけ行われる。
【００５６】
次のステップＳ２のタイミングでは、ファイルサーバ１２は最初の部分ファイルＡ１は１回しか送ることができないため、次の部分ファイルＡ２をノード１６−１に転送する。同じタイミングでノード１６−１はキャッシュに格納したステップＳ２のタイミングで受信した部分ファイルＡ１を次のノード１６−２に転送する。
【００５７】
以下同様にファイルサーバ１２はステップＳ３〜Ｓ６の各タイミングで１つずつ部分ファイルＡ３、Ａ４、Ａ５、Ａ６を次のノード１６−１に順次転送する。またノード１６−２にあってはステップＳ２〜Ｓ７のタイミングで部分ファイルＡ１〜Ａ６を順次次のノード１６−２に転送する。
【００５８】
残りのノード１６−３〜１６−４についても、同様にして各タイミングで同じ部分ファイルは１回ずつだけ次のノードに順次転送する。この結果、ステップＳ１０のタイミングで最後のノード１６−５に対する最後の部分ファイルＡ６の転送が完了し、これによってファイルサーバ１２から細分化されたファイルＡ１の転送先であるノード１６−１〜１６−５の全てに対するファイル転送が完了することになる。
【００５９】
図７は図２の転送要求４４−２からデータ転送スケジューラ１０で生成されたファイル管理リスト４６−２に基づくデータ転送の様子を示したタイムチャートであり、この場合にはファイルＢをファイルＡの場合と同様６つの部分ファイルＢ１〜Ｂ６に細分化し、転送先ノードとしてノード１６−３、１６−５の２つに転送する場合を例にとっている。
【００６０】
図７において、転送先ノードはノード１６−３、１６−５の２つであることから、ファイルサーバ１２はステップＳ１〜Ｓ６のタイミングで部分ファイルＢ１〜Ｂ６を１回ずつノード１６−３に転送する。
【００６１】
またノード１６−３はステップＳ２〜Ｓ７のタイミングでキャッシュした部分ファイルＢ１〜Ｂ６を１回ずつ次のノード１６−５に転送し、これによって転送要求４４−２に基づくファイルＢのノード１６−３、１６−５に対する転送を完了する。
【００６２】
この図６及び図７のタイムチャートから明らかなように本実施形態にあっては、転送先となるノードは転送要求によってネットワーク上の任意の数のノードを指定して動的に行うことができ、且つファイルサーバ及びノード間の同じ部分ファイルの転送数を１回に制限することで、ＩＰアドレスのソート順に従ってノード間でバケツリレー方式により近接ノード間転送を実行することができ、複数のノードに対し同時に部分ファイルを転送する１対ｎ転送によるネットワーク輻輳を回避し、さらに図６及び図７のタイムチャートのように、各ノード間で転送可能であれば並列的にバケツリレー転送が実行されることでファイルサーバから複数のノードに対しファイルを高速転送することができる。
【００６３】
尚、本実施形態にあってはノード間の最大転送可能数を１としてノード間のバケツリレー転送を実現しているが、最大転送可能数を１より大きい任意の整数に設定すれば、部分的に１対ｎを転送が可能となる。このような１対ｎ転送はネットワーク負荷が低い場合などに必要に応じて選択することが可能である。
【００６４】
図８は本実施形態のデータ転送スケジューラのプログラムを実行するコンピュータのハードウェア環境を示したブロック図である。図８において、図１のデータ転送スケジューラ１０を構築するコンピュータは、ＣＰＵ７６のバス７８に対しＲＯＭ８２、ＲＡＭ８０、ハードディスクドライブ８４、キーボート８８、マウス９０、ディスプレイ９２を接続するデバイスインタフェース８６、更にネットワーク１４に接続するネットワークアダプタ９４を接続している。
【００６５】
ハードディスクドライブ８４には本実施形態の図２に示したデータ転送スケジューラ１０の機能を実現するためのプログラムがインストールされている。
【００６６】
コンピュータを起動するとＢＩＯＳによる自己診断及び初期化を経てＲＯＭ８２のブートプログラムが実行され、ハードディスクドライブ８４からＯＳがＲＡＭ８０に読出し配置されてＣＰＵ７６により実行される。続いてＯＳの実行によりハードディスクドライブ８４から本実施形態のデータ転送スケジューラの機能を実現するプログラムがＲＡＭ８０に読出し配置され、ＣＰＵ７６により実行されることになる。
【００６７】
このような図８のコンピュータのハードウェア環境は、本実施形態のデータ転送スケジューラ１０のみならず、ファイルサーバ１２、ノード１６−１〜１６−５を構築するサーバについても基本的には同じである。
【００６８】
図９は本実施形態におけるデータ転送スケジュール処理を示したフローチャートであり、図２を参照して説明すると次のようになる。図９において、データ転送スケジューラ１０によるデータ転送スケジュール処理は、ステップＳ１で転送要求受付部２４がファイル転送要求の受付の有無をチェックしており、転送要求を受け付けるとステップＳ２で転送要求をソート処理部３４に渡し、ノード転送要求に分解し手ソートしたファイル管理リストを生成するソート処理を実行する。
【００６９】
続いてステップＳ３でファイル管理リストに従ってファイルサーバ１２から転送対象となるノードにノード間の部分ファイル転送数を１回に制限したバケツリレー方式による近接ノード間転送処理を行うための転送順序管理処理を実行する。
【００７０】
続いてステップＳ４でファイル転送完了の有無をチェックしており、ファイル転送を完了するとステップＳ５でファイル管理リストを削除し、ステップＳ６で依頼元に転送正常終了を通知する。このステップＳ１〜Ｓ６の処理をステップＳ７でログオフなどの停止指示があるまで繰り返す。
【００７１】
図１０は図９のステップＳ２におけるソート処理の詳細を示したフローチャートである。図１０において、ソート処理はステップＳ１でソート処理部３４が転送要求受付部２４から受け付けた例えば図３に示した転送要求４４−１について、ノードごとのノード転送要求に分解する。
【００７２】
続いてステップＳ２で分解したノード転送要求をファイル名及びノードのＩＰアドレスでソートし、ステップＳ３で例えば図４のファイル管理リスト４６−１に示すようにファイルごとのファイル管理リストに分解したノード転送要求を連結する。
【００７３】
続いてステップＳ４で進捗管理情報５２を初期化し、ノード進捗管理情報６０−１〜６０−５に示すように、ファイル管理リストのノード転送要求５６−１〜５６−５のそれぞれにリンクする。続いてステップＳ５で図２の転送順序管理部２６に生成したファイル管理リストを追加イベントとして送信する。
【００７４】
図１１は図９のステップＳ３における転送順序管理処理の詳細を示したフローチャートである。図１１において、転送順序管理処理は図２の転送要求格納部３６にソート処理部３４から受信して格納した送信要求リスト４６−１、４６−２を対象に、制御部２８に設けた転送情報管理部３８、ファイル転送依頼部４０及び転送完了処理部４２の処理が実行される。
【００７５】
図１１において、まずステップＳ１で新規ノードの転送要求投入イベントがあるか、あるいはステップＳ２で部分ファイル転送完了イベントがあるか否かチェックし、いずれかのイベントがあるとステップＳ３に進み、図４に示すようにファイル管理リスト４６−１に対応して生成管理している進捗管理情報５２及び転送回数管理情報５４を更新する。
【００７６】
続いてステップＳ４で更新した進捗管理情報５２及び転送回数管理情報５４に基づき転送可能ノードの判別をチェックする。この判別処理の結果、ステップＳ５で転送可能ノードがあればステップＳ６で部分ファイル転送を細分化ファイル配信管理部３２に依頼する。
【００７７】
この依頼と同時にステップＳ７で転送回数管理情報５４における同じ部分ファイルの現在転送数を１つ増加させて更新する。続いてステップＳ８で依頼したノード転送要求が完了したことを判別すると、ステップＳ９で完了したノード転送要求をファイル管理リストから削除する。
【００７８】
図１２は図１１のステップＳ４における転送可能ノードの判定処理を詳細を示したフローチャートである。図１２において、転送可能ノード判定処理は、ステップＳ１でノードにリンクした図５（Ｂ）に示すノード進捗管理情報６０における部分ファイル進捗比７２を読み取り、分子の転送完了数が分母の細分化数未満であることをステップＳ２で判別すると、そのノードは全ての部分ファイルの転送が済んでいないことから転送可能なノードと判断し、続いてステップＳ３でノードにリンクした図５（Ｃ）に示す転送回数管理情報５４の現在転送数６６を読み取る。
【００７９】
続いてステップＳ４で現在転送数は同じく転送回数管理情報５４に設定している最大転送可能数未満か否かチェックし、最大転送可能数未満であればステップＳ５に進み、このノードは転送可能ノードと判定する。
【００８０】
ステップＳ２で転送完了数が細分化数に達していた場合、あるいはステップＳ４で現在転送数が最大転送可能数に達していたノードについては、部分ファイルの転送ができないことからステップＳ５の転送可能ノードとしての判定処理は行わない。
【００８１】
続いてステップＳ６で全ノードを処理が終了したか否かチェックし、未終了であればステップＳ１に戻り、ファイル管理リストに配列している次のノードについて同様の処理をステップＳ６で全ノードの処理を判別するまで繰り返す。
【００８２】
図１３〜図２８は、ファイルを２つの部分ファイルに細分化して２つのノード１６−１，１６−２に転送する場合の本実施形態によるデータ転送スケジュール処理を、ステップＳ１〜Ｓ１６の１６段階に分けて詳細に示した説明図である。
【００８３】
図１３はステップＳ１の処理であり、転送要求受付部２４で受け付けた転送要求４４の内容が、ファイルＸを細分化した２つの部分ファイルＸ１，Ｘ２をノード１６−１，１６−２にファイルサーバ１２から転送する場合を例にとっている。ここでノード１６−１のホスト名はＨｏｓｔ１とし、ノード１６−２のホスト名はＨｏｓｔ２としている。
【００８４】
図１４はステップＳ２の処理であり、転送要求受付部２４で受け付けられた転送要求４４はソート処理部３４に送られ、ノード１６−１，１６−２ごとのノード転送要求１００，１０２に分解された後、ノード１６−１，１６−２のＩＰアドレスでソートされ、ファイル名９８である「ファイルＸ」のエントリに連結したファイル管理リスト９６を生成する。
【００８５】
図１５は次のステップＳ３の処理であり、ソート処理部３４は更に、生成したファイル管理リスト９６のノード転送要求１００，１０２のそれぞれに対し進捗管理情報１０４，１０６を初期化してリンクする。
【００８６】
図１６は次のステップＳ４の処理であり、キャッシュ位置取得部３０がファイルサーバ１２及び全てのノード１６−１，１６−２から保有ファイルの一覧を収集し、転送順序管理部２６のファイル管理リスト９６におけるファイルＸの位置情報として、転送元がファイルサーバ１２であることを示すファイル転送元情報１０８を記録する。
【００８７】
図１７は次のステップＳ５の処理であり、制御部２８に設けてファイル管理リスト９６にリンクしているノード１６−１，１６−２ごとのノード転送要求１００，１０２を配列順（時間的に古い順）に調べ、ノード転送要求１００における部分ファイルＸ１をファイルサーバ１２からノード１６−１に転送可能であることを判別する。
【００８８】
この判別結果に基づき制御部２８はノード１６−１に対応した転送回数管理情報１１０の現在転送数１１２をそれまでの０から１に更新した後、細分化ファイル配信管理部３２に部分ファイルＸ１のファイルサーバ１２からノード１６−１への転送を依頼する。
【００８９】
図１８はステップＳ６の処理であり、図１７のステップＳ５で転送依頼を受けた細分化ファイル配信管理部３２がファイルサーバ１２に対し転送指示命令を発行し、これを受けてファイルサーバ１２が部分ファイルＸ１をノード１６−１に転送する。
【００９０】
図１９はステップＳ７の処理であり、ファイルサーバ１２からノード１６−１に対する部分ファイルＸ１の転送が完了すると、細分化ファイル配信管理部３２が制御部２８に転送終了を通知する。
【００９１】
この転送終了を受けて制御部２８は、ノード１６−１に対応した転送回数管理情報１１０における現在転送数１１２を１つ減らして０にし、次の部分ファイルの転送に備える。更に制御部２８は、ノード１６−１に対応したノード転送要求１００にリンクしている進捗管理情報１０４を図１８の転送前の部分ファイル進捗比「０／２」から「１／２」に更新し、最初の部分ファイルＸ１の転送が完了した進捗状況を記録する。
【００９２】
図２０は次のステップＳ８の処理であり、制御部２８は転送順序管理部２６のファイル管理リスト９６にリンクしている進捗管理情報１０４，１０６を再び調べ、転送対象ファイルＸの部分ファイルＸ２がファイルサーバ１２からノード１６−１に転送可能であることを判別し、細分化ファイル配信管理部３２に判別したファイル転送を依頼し、同時に転送回数管理情報１１０の現在転送数１１２をそれまでの０から１に更新する。
【００９３】
図２１は次のステップＳ９の処理であり、制御部２８はファイル管理リスト９６のノード転送要求１０２にリンクしている進捗管理情報１０６を調べ、ノード１６−１からノード１６−２への部分ファイルＸ１の転送が可能であることを判別し、この判別した転送を細分化ファイル配信管理部３２に依頼する。同時に、制御部２８においてノード１６−１に対応した転送回数管理情報１１４における現転送数をそれまでの０から１に更新する。
【００９４】
図２２は次のステップＳ１０の処理であり、図２０のステップＳ８及び図２１のステップＳ９の処理でファイル転送の依頼を受けた細分化ファイル配信管理部３２が、ファイルサーバ１２及びノード１６−１のそれぞれに転送指示命令を送り、ファイルサーバ１２からノード１６−１に部分ファイルＸ２を転送すると共に、ノード１６−1からノード１６−２に部分ファイルＸ１を転送させる。
【００９５】
図２３は次のステップＳ１１の処理であり、図２２のステップＳ１０の部分ファイルＸ１，Ｘ２の転送が完了すると、細分化ファイル配信管理部３２が制御部２８に転送終了を通知する。
【００９６】
この転送終了を受けて、制御部２８はファイルサーバ１２に対応した転送回数管理情報１１０の現在転送回数１１２を１つ減らして０にし、同時にノード１６−１に対応した転送回数管理情報１１４の現在転送数１１６を１つ減らして０にする。
【００９７】
更に制御部２８は、ノード１６−１に対するノード転送要求１１０にリンクしている進捗管理情報１０４の部分ファイル進捗比を、それまでの「１／２」から「２／２」に更新する。またノード１６−２のノード転送命令１０２にリンクしている進捗管理情報１０６の部分ファイル進捗比を、それまでの「０／２」から「１／２」に更新する。
【００９８】
図２４は次のステップＳ１２の処理であり、制御部２８は再び転送順序管理部２６のファイル管理リスト９６にリンクしている進捗管理情報１０４，１０６を調べ、ノード１６−１からノード１６−２への部分ファイルＸ２の転送が可能であることを判別し、判別した転送を細分化ファイル配信管理部３２に依頼し、更にノード１６−１に対応した転送回数管理情報１１４における現在転送数１１６をそれまでの０から１に更新する。
【００９９】
図２５は次のステップＳ１３の処理であり、制御部２８は図２４のステップＳ１２に示したノード進捗管理情報１０４の部分ファイル進捗比「２／２」から、ノード１６−１に対するファイルＸの転送が完了していることを判別し、図２４のノード１６−１に対応したノード転送要求１００をファイル管理リスト９６から削除する。
【０１００】
このときファイル管理リスト９６のファイル名９８に対する転送元情報１０８はノード１６−１を示す「Ｈｏｓｔ１」に書き換える。そして、、転送要求受付部２４の転送要求４４にノード１６−１に対するファイルＸの転送が完了したことを記録する。
【０１０１】
図２６は次のステップＳ１４の処理であり、図２４のステップＳ１２で転送依頼を受けた細分化ファイル配信管理部３２がノード１６−１に対し転送指示命令を発行し、ノード１６−１からノード１６−２に部分ファイルＸ２を転送させる。
【０１０２】
図２７は次のステップＳ１５の処理であり、ノード１６−１からノード１６−２に対する部分ファイルＸ２の転送が完了すると、細分化ファイル配信管理部３２が転送完了を制御部２８に通知する。
【０１０３】
制御部２８は、ノード１６−２に対するノード転送要求１０２にリンクしている進捗管理情報１０６の部分ファイル進捗比をそれまでの「１／２」から「２／２」に更新する。更に、ノード１６−２に対応した転送回数管理情報１１４の現在転送数１１６を１つ減らして０に戻す。
【０１０４】
図２８は次のステップＳ１６の処理であり、図２７のステップＳ１５におけるノード１６−２に対応したノード転送要求１０２にリンクしている進捗管理情報１０６の部分ファイル進捗比が「２／２」になっていることで、ノード１６−２に対するファイルＸの転送が完了したことを判別する。
【０１０５】
ファイルＸの転送完了を判別すると、転送順序管理部２６からファイル管理リスト９６を削除し、更に転送要求４４に対しノード１６−２へのファイルＸの転送が完了したことを記録する。最終的に転送要求受付部２４が、要求したファイルＸのノード１６−１，１６−２に対する転送が完了していることを判別し、転送正常終了を通知して一連の転送処理を終了する。
【０１０６】
本発明は図１のデータ転送スケジューラ１０のコンピュータで実行されるプログラムを提供する。このプログラムは図９乃至図１２のフローチャートに示した内容となる。
【０１０７】
また本発明は、本実施形態のデータ転送スケジューラ１０を実現する図８のハードウェア環境を持つコンピュータで実行されるプログラムを格納した記録媒体を提供する。
【０１０８】
ここで記録媒体とは、ＣＤ−ＲＯＭ、フロッピィディスク（Ｒ）、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの可搬型記憶媒体や、コンピュータシステムの内外に備えられたハードディスクドライブなどの記憶装置の他、回線を介してプログラムを保持するデータベースあるいは他のコンピュータシステム、更にそのデータベース、更には回線上の伝送媒体を含むものである。
【０１０９】
なお上記の実施形態は転送先のノードとしてサーバを例にとるものであったが、本発明はこれに限定されず、適宜の情報処理装置や機器をノードとするファイルサーバからのデータ転送にそのまま適用できる。
【０１１０】
また上記の実施形態にあっては、ファイルを予め定めた固定長の部分ファイルに細分化して転送する場合を例にとっているが、ファイルサイズが部分ファイルのサイズ長より小さい場合には部分ファイル数は１つであり、ファイルサーバから転送先の複数のノードに対し１つのファイルを近接ノード間転送によりバケツリレー転送することになる。
【０１１１】
また本発明はその目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【０１１２】
ここで本発明の特徴を列挙すると次の付記のようになる。
（付記）
（付記１）（装置）
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置に於いて、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部と、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部と、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部と、
を備えたことを特徴とするデータ転送スケジュール装置。（１）
【０１１３】
（付記２）（ファイル転送順序管理部の詳細）
付記１記載のデータ転送スケジュール装置に於いて、前記ファイル転送順序管理部は、ファイル転送を依頼したノードでの同一部分ファイルの次のノードへの転送回数を１回に制限して前記ファイル管理リストにおけるノード転送要求の配列順に部分ファイルを順次転送させることを特徴とするデータ転送スケジュール装置。（２）
【０１１４】
（付記３）（ファイル転送順序管理部の詳細）
付記１記載のデータ転送スケジュール装置に於いて、前記ファイル転送順序管理部は、
前記転送要求を転送先ノード毎のノード転送要求に分解した後にファイル名と転送先アドレスでソートし、前記ファイル名にソートした前記ノード転送要求を連結して転送ノードの順番を示すファイル管理リストを生成するソート処理部と、
前記ファイルサーバ及び全ノードにキャッシュされている保有ファイルの一覧を収集し、前記ファイル管理リストに転送元ファイルのキャッシュ位置を検出して設定するキャッシュ位置取得部と、
前記ファイル管理リストに配列したノード転送要求毎に、次ノードに対する部分ファイルの転送進捗状況を示す進捗管理情報と、次ノードに対する同じ部分ファイルの転送回数を所定の最大転送可能数に制限する転送回数管理情報とを生成して管理する転送情報管理部と、
前記進捗管理情報及び転送回数管理情報に基づいて、転送可能なノードを判定して前記細分化ファイル配信管理部にファイル転送を依頼すると共に、前記転送回数管理情報における同じ部分ファイルの転送回数を更新するファイル転送依頼部と、
前記細分化ファイル配信管理部から依頼したファイル転送の完了通知を受けた際に、前記進捗管理情報に記述している部分ファイルの転送進捗状況を更新し、全ての部分ファイルの転送完了を判別した場合は、対応するノード転送要求を前記ファイル管理リストから削除し、更に、前記転送回数管理情報の同じ部分ファイルの転送回数が最大転送可能数に達していた場合は次の部分ファイル転送のために前記転送回数を１つ減らす転送完了処理部と、
を備えたことを特徴とするデータ転送スケジュール装置。（３）
【０１１５】
（付記４）（ファイル転送順序管理部の詳細）
付記３記載のデータ転送スケジュール装置に於いて、前記転送情報管理部で管理する次ノードに対する同じ部分ファイルの最大転送可能数を１に設定したことを特徴とするデータ転送スケジュール装置。（４）
【０１１６】
（付記５）（転送可能ノードの判定）
付記１記載のデータ転送スケジュール装置に於いて、前記ファイル転送依頼部は、
前記ファイル管理リストに配列したノード転送要求にリンクしている前記ファイルサーバを含む各ノードの進捗管理情報及び転送回数管理情報を配列順に調べ、
前記転送回数管理情報の部分ファイル転送回数が最大転送可能数未満で、且つ前記進捗管理情報が全ての部分ファイルの転送完了を示していなければ、転送可能ノードと判定することを特徴とするデータ転送スケジュール装置。（５）
【０１１７】
（付記６）（プログラム）
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置のコンピュータを、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部、
として機能させることを特徴とするプログラム。（６）
【０１１８】
（付記７）（ファイル転送順序管理部の詳細）
付記６記載のプログラムに於いて、前記ファイル転送順序管理部は、ファイル転送を依頼したノードでの同一部分ファイルの次のノードへの転送回数を１回に制限して前記ファイル管理リストにおけるノード転送要求の配列順に部分ファイルを順次転送させることを特徴とするプログラム。
【０１１９】
（付記８）（ファイル転送順序管理部の詳細）
付記６記載のプログラムに於いて、前記ファイル転送順序管理部は、
前記転送要求を転送先ノード毎のノード転送要求に分解した後にファイル名と転送先アドレスでソートし、前記ファイル名にソートした前記ノード転送要求を連結して転送ノードの順番を示すファイル管理リストを生成するソート処理部と、
前記ファイルサーバ及び全ノードにキャッシュされている保有ファイルの一覧を収集し、前記ファイル管理リストに転送元ファイルのキャッシュ位置を検出して設定するキャッシュ位置取得部と、
前記ファイル管理リストに配列したノード転送要求毎に、次ノードに対する部分ファイルの転送進捗状況を示す進捗管理情報と、次ノードに対する同じ部分ファイルの転送回数を所定の最大転送可能数に制限する転送回数管理情報とを生成して管理する転送情報管理部と、
前記進捗管理情報及び転送回数管理情報に基づいて、転送可能なノードを判定して前記細分化ファイル配信管理部にファイル転送を依頼すると共に、前記転送回数管理情報における同じ部分ファイルの転送回数を更新するファイル転送依頼部と、
前記細分化ファイル配信管理部から依頼したファイル転送の完了通知を受けた際に、前記進捗管理情報に記述している部分ファイルの転送進捗状況を更新し、全ての部分ファイルの転送完了を判別した場合は、対応するノード転送要求を前記ファイル管理リストから削除し、更に、前記転送回数管理情報の同じ部分ファイルの転送回数が最大転送可能数に達していた場合は次の部分ファイル転送のために前記転送回数を１つ減らす転送完了処理部と、
を備えたことを特徴とするプログラム。
【０１２０】
（付記９）（ファイル転送順序管理部の詳細）
付記８記載のプログラムに於いて、前記転送情報管理部で管理する次ノードに対する同じ部分ファイルの最大転送可能数を１に設定したことを特徴とするプログラム。
【０１２１】
（付記１０）（転送可能ノードの判定）
付記６記載のプログラムに於いて、前記ファイル転送依頼部は、
前記ファイル管理リストに配列したノード転送要求にリンクしている前記ファイルサーバを含む各ノードの進捗管理情報及び転送回数管理情報を配列順に調べ、
前記転送回数管理情報の部分ファイル転送回数が最大転送可能数未満で、且つ前記進捗管理情報が全ての部分ファイルの転送完了を示していなければ、転送可能ノードと判定することを特徴とするプログラム。
【０１２２】
（付記１１）（記録媒体）
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール装置のコンピュータを、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付部、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理部、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理部、
として機能させるプログラムを格納したコンピュータ可読な記録媒体。（７）
【０１２３】
（付記１２）（方法）
ファイルサーバから複数のノードに対するデータ転送をスケジュールして管理するデータ転送スケジュール方法に於いて、
ファイル名と複数の転送先ノードを指定した転送要求を受け付ける転送要求受付プロセスと、
前記転送要求を転送先ノード毎のノード転送要求に分解してソートした後に、前記ファイル名に連結して転送ノードの順番を示すファイル管理リストを生成し、前記ファイル管理リストの順番に従って細分化した部分ファイルを近接ノード間転送するようにファイル転送を依頼するファイル転送順序管理プロセスと、
前記ファイル転送依頼を受けた際に、依頼先となる前記ファイルサーバ及びノードにファイル転送を指示して実行させる細分化ファイル配信管理プロセスと、
を備えたことを特徴とするデータ転送スケジュール方法。（８）
【０１２４】
（付記１３）（ファイル転送順序管理プロセスの詳細）
付記１２記載のデータ転送スケジュール方法に於いて、前記ファイル転送順序管理プロセスは、ファイル転送を依頼したノードでの同一部分ファイルの次のノードへの転送回数を１回に制限して前記ファイル管理リストにおけるノード転送要求の配列順に部分ファイルを順次転送させることを特徴とするデータデータ転送スケジュール方法。
【０１２５】
（付記１４）（ファイル転送順序管理プロセスの詳細）
付記１２記載のデータ転送スケジュール方法に於いて、前記ファイル転送順序管理プロセスは、
前記転送要求を転送先ノード毎のノード転送要求に分解した後にファイル名と転送先アドレスでソートし、前記ファイル名にソートした前記ノード転送要求を連結して転送ノードの順番を示すファイル管理リストを生成するソート処理プロセスと、
前記ファイルサーバ及び全ノードにキャッシュされている保有ファイルの一覧を収集し、前記ファイル管理リストに転送元ファイルのキャッシュ位置を検出して設定するキャッシュ位置取得プロセスと、
前記ファイル管理リストに配列したノード転送要求毎に、次ノードに対する部分ファイルの転送進捗状況を示す進捗管理情報と、次ノードに対する同じ部分ファイルの転送回数を所定の最大転送可能数に制限する転送回数管理情報とを生成して管理する転送情報管理プロセスと、
前記進捗管理情報及び転送回数管理情報に基づいて、転送可能なノードを判定して前記細分化ファイル配信管理プロセスにファイル転送を依頼すると共に、前記転送回数管理情報における同じ部分ファイルの転送回数を更新するファイル転送依頼プロセスと、
前記細分化ファイル配信管理プロセスから依頼したファイル転送の完了通知を受けた際に、前記進捗管理情報に記述している部分ファイルの転送進捗状況を更新し、全ての部分ファイルの転送完了を判別した場合は、対応するノード転送要求を前記ファイル管理リストから削除し、更に、前記転送回数管理情報の同じ部分ファイルの転送回数が最大転送可能数に達していた場合は次の部分ファイル転送のために前記転送回数を１つ減らす転送完了処理プロセスと、
を備えたことを特徴とするデータ転送スケジュール方法。
【０１２６】
（付記１５）（ファイル転送順序管理プロセスの詳細）
付記１４記載のデータ転送スケジュール方法に於いて、前記転送情報管理プロセスで管理する次ノードに対する同じ部分ファイルの最大転送可能数を１に設定したことを特徴とするデータ転送スケジュール方法。
【０１２７】
（付記１６）（転送可能ノードの判定）
付記１２記載のデータ転送スケジュール方法に於いて、前記ファイル転送依頼プロセスは、
前記ファイル管理リストに配列したノード転送要求にリンクしている前記ファイルサーバを含む各ノードの進捗管理情報及び転送回数管理情報を配列順に調べ、
前記転送回数管理情報の部分ファイル転送回数が最大転送可能数未満で、且つ前記進捗管理情報が全ての部分ファイルの転送完了を示していなければ、転送可能ノードと判定することを特徴とするデータ転送スケジュール方法。
【図面の簡単な説明】
【０１２８】
【図１】本発明のデータ転送スケジューラを備えたデータ配信システムの実施形態を示した説明図
【図２】本実施形態におけるデータ転送スケジューラの機能構成を示したブロック図
【図３】本実施形態で受付ける転送要求を示した説明図
【図４】本実施形態のデータ転送スケジューラで生成管理されるファイル管理リスト、進捗管理情報及び転送回数管理情報を示した説明図
【図５】図４のノード転送要求、進捗管理情報及び転送回数管理情報の内容を示した説明図
【図６】図２のファイルＡを５つのノードに６つの部分ファイルに細分化してデータ転送する様子を示したタイムチャート
【図７】図２のファイルＢを２つのノードに６つの部分ファイルに細分化してデータ転送する様子を示したタイムチャート
【図８】本実施形態のデータ転送スケジューラのプログラムを実行するコンピュータのハードウェア環境を示したブロック図
【図９】本実施形態におけるデータ転送スケジュール処理を示したフローチャート
【図１０】図９のステップＳ２におけるソート処理の詳細を示したフローチャート
【図１１】図９のステップＳ３における転送順序管理処理の詳細を示したフローチャート
【図１２】図１１のステップＳ４における転送可能ノード判定処理の詳細を示したフローチャート
【図１３】転送要求を受けたステップＳ１の処理を示した説明図
【図１４】転送要求を分解してファイル管理リストを生成するステップＳ２の処理を示した説明図
【図１５】ファイル管理リストに進捗管理情報を初期化してリンクするステップＳ３の処理を示した説明図
【図１６】ファイルサーバ及び全ノードの保有ファイルを取得してファイル管理リストにファイル位置を記録するステップＳ４の処理を示した説明図
【図１７】転送可能ノードを調べてファイルサーバから最初のノードに部分ファイルＸ１の転送を依頼するステップＳ５の処理の説明図
【図１８】ファイルサーバから最初のノードに部分ファイルＸ１を転送するステップＳ６の処理の説明図
【図１９】部分ファイルＸ１の転送完了に伴い転送順序情報と進捗管理情報を更新するステップＳ７の処理を示した説明図
【図２０】転送可能ノードを調べてファイルサーバから最初のノードに次の部分ファイルＸ２の転送を依頼するステップＳ８の処理の説明図
【図２１】転送可能ノードを調べて最初のノードから次のノードに部分ファイルＸ１の転送を依頼するステップＳ９の処理の説明図
【図２２】転送依頼に基づき部分ファイルＸ１，Ｘ２を転送するステップＳ１０の処理の説明図
【図２３】部分ファイルＸ１，Ｘ２の転送完了に伴い転送順序情報と進捗管理情報を更新するステップＳ１１の処理を示した説明図
【図２４】転送可能ノードを調べて最初のノードから次のノードに部分ファイルＸ２の転送を依頼するステップＳ１２の処理の説明図
【図２５】最初のノードへの転送完了を判別してファイル管理リストから対応するノード転送要求を削除するステップＳ１３の処理を示した説明図
【図２６】転送依頼に基づき部分ファイルＸ２を転送するステップＳ１４の処理の説明図
【図２７】部分ファイルＸ２の転送完了に伴い転送順序情報と進捗管理情報を更新するステップＳ１５の処理を示した説明図
【図２８】次のノードへの転送完了を判別してファイル管理リストから対応するノード転送要求を削除した後に依頼元に転送正常終了を通知するステップＳ１６の処理を示した説明図
【符号の説明】
【０１２９】
１０：データ転送スケジューラ
１２：ファイルサーバ
１４：ネットワーク
１６−１〜１６−５：ノード
１８−１〜１８−５：データ転送エージェント
２０−１〜２０−５：転送キャッシュ
２２−１〜２２−５：ストレージ
２４：転送要求受付部
２６：転送順序管理部
２８：制御部
３０：キャッシュ位置取得部
３２：細分化ファイル配信管理部
３４：ソート処理部
３６：転送要求格納部
３８：転送情報管理部
４０：ファイル転送依頼部
４２：転送完了処理部
４４，４４−１，４４−２：転送要求
４６−１，４６−２，９６：ファイル管理リスト
４８，５４，７８，９８：ファイル名
５０：転送先ノード群
５２，１０４，１０６：進捗管理情報
５４，１１０，１１２：転送回数管理情報
５６−１〜５６−５，１００，１０２：ノード転送要求
５８：転送元ファイルサーバ
６０，６０−１〜６０−５，１０４，１０６：ノード進捗管理情報
６２，６２−１〜６２−５：ノード名
６４，６４−１〜６４−５：最大転送可能数
６６，６６−１〜６６−５，１１２，１１６：現在転送数
６８：ファイル名
７０：転送先ノード名
７２：部分ファイル進捗比
７４：ノード名
７６：ＣＰＵ
７８：バス
８０：ＲＡＭ
８２：ＲＯＭ
８４：ハードディスクドライブ
８６：デバイスインタフェース
８８：キーボード
９０：マウス
９２：ディスプレイ
９４：ネットワークアダプタ
【図１】
2008299769.tif 000003
【図２】
2008299769.tif 000004
【図３】
2008299769.tif 000005
【図４】
2008299769.tif 000006
【図５】
2008299769.tif 000007
【図６】
2008299769.tif 000008
【図７】
2008299769.tif 000009
【図８】
2008299769.tif 000010
【図９】
2008299769.tif 000011
【図１０】
2008299769.tif 000012
【図１１】
2008299769.tif 000013
【図１２】
2008299769.tif 000014
【図１３】
2008299769.tif 000015
【図１４】
2008299769.tif 000016
【図１５】
2008299769.tif 000017
【図１６】
2008299769.tif 000018
【図１７】
2008299769.tif 000019
【図１８】
2008299769.tif 000020
【図１９】
2008299769.tif 000021
【図２０】
2008299769.tif 000022
【図２１】
2008299769.tif 000023
【図２２】
2008299769.tif 000024
【図２３】
2008299769.tif 000025
【図２４】
2008299769.tif 000026
【図２５】
2008299769.tif 000027
【図２６】
2008299769.tif 000028
【図２７】
2008299769.tif 000029
【図２８】
2008299769.tif 000030