(57)【特許請求の範囲】
【請求項１】
配信元システムから衛星通信を使用した同報通信により複数の配信先システムにデータを配信するデータ配信システムにおいて、
配信元システムは、
配信対象データを所定サイズで分割したときに生成される複数のブロックのうち、指定されたブロック番号のブロックにその番号を付加して衛星通信により複数のデータ配信先システムに同報通信する衛星通信送信手段と、
地上回線網を経由して各データ配信先システムから送られてくる受信済最大ブロック番号を含む応答に基づいて、各データ配信先システム毎の配信状況を管理する配信状況管理手段と、
配信対象データを構成する先頭のブロックから順に１ブロックずつその番号を前記衛星通信送信手段に指定することにより配信対象データをブロック単位で配信する制御を開始し、前記配信状況管理手段で管理されている各データ配信先システム毎の配信状況に基づいて再送の要否を判断し、再送が必要となった場合には前記衛星通信送信手段に指定するブロック番号を、再送が必要な最小のブロック番号まで後退させて、以後そのブロックから順に１ブロックずつその番号を前記衛星通信送信手段に指定することにより配信対象データをブロック単位で配信する制御を続行する制御手段とを備え、
各配信先システムは、
衛星通信により同報通信されたブロックを受信し、そのブロックに付加されたブロック番号が自システムで受信済の最大ブロック番号の次の番号であれば当該ブロックを記憶装置に記憶して受信済最大ブロック番号を更新する衛星通信受信手段と、
ブロック番号の連続するブロックを所定個数受信する毎、および、受信ブロック抜けが検出される毎に、受信済最大ブロック番号を含む応答を地上回線網を経由して配信元システムに送信する通信制御手段とを備え、
配信元システムの配信状況管理手段は、各データ配信先システム毎の配信状況として、受信済最大ブロック番号に加えて、送信成功ブロック数および送信失敗ブロック数を管理し、
配信元システムの制御手段は、再送が必要となった場合に、各データ配信先システムの送信成功ブロック数および送信失敗ブロック数から判明する転送失敗率と未送信ブロック数とから以後送信に必要なブロック数を予測し、該予測したブロック数の総ブロック数に対する割合が所定値を越えたときは、受信済最大ブロック番号の最も小さい配信先システムをブロックの再送信の対象から除外することを特徴とするデータ配信システム。
【請求項２】
配信元システムの制御手段は、前回送信したブロックのブロック番号と最大受信済ブロック番号の最小値との差が所定値を越えた場合、衛星通信送信手段による以降のブロック送信を一時停止し、前記差が所定値以下となった時点でブロック送信を再開する請求項１記載のデータ配信システム。
【請求項３】
配信元システムから衛星通信を使用した同報通信により複数の配信先システムにデータを配信するデータ配信システムにおける前記配信元システムを構成するコンピュータを、
配信対象データを所定サイズで分割したときに生成される複数のブロックのうち、指定されたブロック番号のブロックにその番号を付加して衛星通信により複数のデータ配信先システムに同報通信する衛星通信送信手段、
地上回線網を経由して各データ配信先システムから送られてくる受信済最大ブロック番号を含む応答に基づいて、各データ配信先システム毎の配信状況を管理する配信状況管理手段、
配信対象データを構成する先頭のブロックから順に１ブロックずつその番号を前記衛星通信送信手段に指定することにより配信対象データをブロック単位で配信する制御を開始し、前記配信状況管理手段で管理されている各データ配信先システム毎の配信状況に基づいて再送の要否を判断し、再送が必要となった場合には前記衛星通信送信手段に指定するブロック番号を、再送が必要な最小のブロック番号まで後退させて、以後そのブロックから順に１ブロックずつその番号を前記衛星通信送信手段に指定することにより配信対象データをブロック単位で配信する制御を続行する制御手段、
として機能させ、
前記配信先システムを構成するコンピュータを、
衛星通信により同報通信されたブロックを受信し、そのブロックに付加されたブロック番号が自システムで受信済の最大ブロック番号の次の番号であれば当該ブロックを記憶装置に記憶して受信済最大ブロック番号を更新する衛星通信受信手段、
ブロック番号の連続するブロックを所定個数受信する毎、および、受信ブロック抜けが検出される毎に、受信済最大ブロック番号を含む応答を地上回線網を経由して配信元システムに送信する通信制御手段、
として機能させるプログラムであり、且つ、
配信元システムの配信状況管理手段は、各データ配信先システム毎の配信状況として、受信済最大ブロック番号に加えて、送信成功ブロック数および送信失敗ブロック数を管理し、
配信元システムの制御手段は、再送が必要となった場合に、各データ配信先システムの送信成功ブロック数および送信失敗ブロック数から判明する転送失敗率と未送信ブロック数とから以後送信に必要なブロック数を予測し、該予測したブロック数の総ブロック数に対する割合が所定値を越えたときは、受信済最大ブロック番号の最も小さい配信先システムをブロックの再送信の対象から除外するものであることを特徴とするプログラムを記録した機械読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は衛星通信を利用した同報通信によりデータを配信するデータ配信システムに関する。
【０００２】
【従来の技術】
遠隔地に散在する端末、コンピュータ等をそれぞれ配信先システムとして、一箇所の配信元システムから衛星通信によりデータを配信する場合、衛星通信の効率的な使用を目的として、一般に同報通信によりデータを配信している。また、コスト的な問題により配信先システムは衛星通信の送信設備を持っていないことが多いため、配信先システムから配信元システムへの応答通信には地上回線を利用している。このようなデータ配信システムの例が特開平１０−３３６０８９号公報（以下、文献１と称す）に記載されている。
【０００３】
文献１に記載のデータ配信システムでは、配信元システムから複数の配信先システムに対して衛星通信によりデータを同報通信し、各配信先システムでは、正常に受信できなかった場合、地上回線を介して配信元システムに再送を依頼する。配信元システムは、再送依頼のあった全配信先システムを対象に、衛星通信によりデータを最初から全て同報通信する。
【０００４】
他方、特許第２５２５６６９号公報（以下、文献２と称す）には、配信元システムが配信データをブロックに分割して１ブロックずつ複数の配信先システムに同報通信し、全ブロックの同報通信が終了した時点で、各配信先システム毎に、確認応答要求電文を送出し、これを受けた配信先システムは受信漏れがあったか否か、ある場合にはそのブロック番号を指定した再送要求を含む確認応答電文を配信元システムに返却し、配信元システムは再送要求のあったブロックのみをその配信先システムに送信するデータ配信システムが記載されている。
【０００５】
【発明が解決しようとする課題】
文献１に記載の従来技術では、データの一部分だけ受信できなかった配信先システムに対しても全データの再送を行うため、配信対象データのサイズが大きい場合、再送に時間がかかり、衛星通信の効率的な使用が困難になる。他方、文献２に記載の従来技術ではブロック単位で再送するため、再送を要求する配信先システム単位で見ればデータの無駄な再送はない。しかし、データの再送を各配信先システム個別に実施しているため、同じブロックの再送を要求する配信先システムが複数存在する場合、同じブロックを時を異にして再送する必要があり、システム全体で見れば無駄なデータの再送を行っていることになる。
【０００６】
このように従来においては、再送データを同報通信する場合には全データの一括送信を採用し、再送データをブロック単位で送信する場合には個別送信を採用していた。その為、無駄なデータの再送が発生するという問題が生じていた。
【０００７】
そこで本発明の目的は、再送データをブロック単位で同報通信することにより効率的なデータ配信を可能とすることにある。
【０００８】
【課題を解決するための手段】
本発明は上記の目的を達成するために、配信対象データを複数のブロックに分割して１ブロックずつブロック番号を付加して衛星通信によって複数の配信先システムに同報通信で配信するデータ配信システムであって、配信先システムから地上回線網を経由して送信される受信済最大ブロック番号を含む応答を受信して各配信先システム毎の配信状況を配信元システムで管理し、データ再送が必要となったときには、前記各配信先システム毎の配信状況から再送が必要な最小のブロック番号を決定し、該決定したブロック番号以降のブロックを１ブロックずつブロック番号を付加して衛星通信によって複数の配信先システムに同報通信で配信する。
【０００９】
より具体的には、配信元システムから衛星通信を使用した同報通信により複数の配信先システムにデータを配信するデータ配信システムにおいて、配信元システムは、配信対象データを所定サイズで分割したときに生成される複数のブロックのうち、指定されたブロック番号のブロックにその番号を付加して衛星通信により複数のデータ配信先システムに同報通信する衛星通信送信手段と、地上回線網を経由して各データ配信先システムから送られてくる受信済最大ブロック番号を含む応答に基づいて、各データ配信先システム毎の配信状況を管理する配信状況管理手段と、配信対象データを構成する先頭のブロックから順に１ブロックずつその番号を前記衛星通信送信手段に指定することにより配信対象データをブロック単位で配信する制御を開始し、前記配信状況管理手段で管理されている各データ配信先システム毎の配信状況に基づいて再送の要否を判断し、再送が必要となった場合には前記衛星通信送信手段に指定するブロック番号を、再送が必要な最小のブロック番号まで後退させて、以後そのブロックから順に１ブロックずつその番号を前記衛星通信送信手段に指定することにより配信対象データをブロック単位で配信する制御を続行する制御手段とを備え、各配信先システムは、衛星通信により同報通信されたブロックを受信し、そのブロックに付加されたブロック番号が自システムで受信済の最大ブロック番号の次の番号であれば当該ブロックを記憶装置に記憶して受信済最大ブロック番号を更新する衛星通信受信手段と、ブロック番号の連続するブロックを所定個数受信する毎、および、受信ブロック抜けが検出される毎に、受信済最大ブロック番号を含む応答を地上回線網を経由して配信元システムに送信する通信制御手段とを備え、配信元システムの配信状況管理手段は、各データ配信先システム毎の配信状況として、受信済最大ブロック番号に加えて、送信成功ブロック数および送信失敗ブロック数を管理し、配信元システムの制御手段は、再送が必要となった場合に、各データ配信先システムの送信成功ブロック数および送信失敗ブロック数から判明する転送失敗率と未送信ブロック数とから以後送信に必要なブロック数を予測し、該予測したブロック数の総ブロック数に対する割合が所定値を越えたときは、受信済最大ブロック番号の最も小さい配信先システムをブロックの再送信の対象から除外することを特徴とする。
【００１０】
このように本発明のデータ配信システムにあっては、各配信先システム毎の受信済最大ブロック番号を含む配信状況を配信元システムで管理しているため、データ再送が必要となったときに、最低どのブロック番号から再送すれば良いかを判断でき、配信対象データを全て再送している文献１記載の従来技術のような無駄な再送を防止することができる。また、データの再送が必要になったとき、再送が必要な最小のブロック番号以降のブロックを１ブロックずつ順番にブロック番号を付加して衛星通信によって複数の配信先システムに同報通信で配信するため、各配信先システム個別にブロックの再送を行っている文献２記載の従来技術のような無駄な再送を防止することができる。
【００１２】
配信元システムが同報通信したブロックに関して各配信先システムから受信済最大ブロック番号を含む応答が返るまでに或る程度の時間がかかるため、全てのブロックを中断なく送信し続けると、何れかの配信先システムで受信ブロック抜けが生じた場合の後戻り量が多くなる。そこで好ましくは、配信元システムの制御手段は、前回送信したブロックのブロック番号と最大受信済ブロック番号の最小値との差が所定値を越えた場合、衛星通信送信手段による以降のブロック送信を一時停止し、前記差が所定値以下となった時点でブロック送信を再開する。
【００１４】
【発明の実施の形態】
次に本発明の実施の形態の例について図面を参照して詳細に説明する。
【００１５】
図１を参照すると、本発明の一実施の形態にかかるデータ配信システムは、データの配信を行う配信元システム１と、この配信元システム１から配信されたデータを受け取る複数の配信先システム２−１〜２−Ｎと、配信元システム１から配信先システム２−１〜２−Ｎへのデータの送信に利用される通信衛星３と、その逆に配信先システム２−１〜２−Ｎから配信元システム１への応答の送信に利用される地上回線網４とから構成されている。
【００１６】
配信元システム１は、システム管理者が操作する図示しない入出力装置と配信元システム１との間の入出力を司る入出力手段１１と、配信対象ファイルを保持する記憶装置１２と、通信衛星３経由で配信元システム２−１〜２−Ｎに同報通信で配信対象ファイルを送信する衛星通信送信手段１３と、各配信先システム２−１〜２−Ｎから地上回線網４経由で送られてくる各種の応答を受信する地上通信受信手段１４と、各配信先システム毎の配信状況を管理する配信状況管理手段１５と、配信元システム１の主たる制御を司る通信制御手段１６および再送制御手段１７とを含んでいる。
【００１７】
また、各配信先システム２−１〜２−Ｎは、配信元システム１から通信衛星３経由で配信される配信対象ファイルを受信する衛星通信受信手段２１と、受信した配信対象ファイルを記憶する記憶装置２３と、地上回線網４経由で各種の応答を配信元システム１に送信する地上通信送信手段２２と、自システムの主たる制御を司る通信制御手段２４とを含んでいる。
【００１８】
以下、配信元システム１および配信先システム２−１〜２−Ｎ内の各部の機能を、全体の動作とともに詳細に説明する。
【００１９】
（１）配信元システム１の配信処理
図２は配信元システム１における配信処理の流れを示すフローチャートである。配信元システム１の管理者等が、配信先システム２−１〜２−Ｎの任意のシステムにファイルを配信したい場合、図示しない外部記憶装置に格納された配信対象ファイルの名前（例えばＡＢＣとする）を指定してその格納を図示しないキーボード等の入力装置から入出力手段１１に入力すると、入出力手段１１は、指定されたファイル名（ＡＢＣ）の配信対象ファイルを外部記憶装置から読み込んで、記憶装置１２に記憶する（ステップ１）。次に管理者が、配信対象ファイルを配信する先を入力装置から入力して配信を指示すると、入出力手段１１は、配信要求を作成し、通信制御手段１６に入力する（ステップＳ２）。配信要求では、配信先と配信対象ファイル名とが指定される。ここで、配信先としては、例えば各配信先システム２−１〜２−Ｎに一意に割り振られている識別子を用いることができる。また、配信先は複数指定することが可能である。ここでは、配信先システム２−１〜２−Ｎの識別子をＭ１〜ＭＮとし、Ｍ１、Ｍ２、Ｍ３の３つが指定されたものとする。
【００２０】
通信制御手段１６は、入出力手段１１から配信先（Ｍ１、Ｍ２、Ｍ３）とファイル名（ＡＢＣ）とを指定した配信要求を受けると、記憶装置１２中の配信対象ファイルにアクセスして、そのファイルサイズを取得し、このファイルサイズを予めシステムで定められたブロックサイズＬで除算することにより、配信対象ファイルが幾つのブロックに分割されるか、つまり総ブロック数を計算する（ステップＳ３）。ここでは、総ブロック数をＸとする。その後、配信元システム１において各種の管理情報の初期生成処理が以下のように実施される（ステップＳ４）。
【００２１】
まず、通信制御手段１６は、ファイル名（ＡＢＣ）に対応して配信先Ｍ１、Ｍ２、Ｍ３の情報を保持する。次に、通信制御手段１６は、再送制御手段１７に対して、配信先（Ｍ１、Ｍ２、Ｍ３）、ファイル名（ＡＢＣ）、総ブロック数Ｘを指定した送信開始通知を出す。再送制御手段１７は、この送信開始通知を受けると、図３に示すような、ファイル名（ＡＢＣ）、総ブロック数Ｘ、前回送信ブロック番号０とした送信管理情報１７１を生成し、かつ、配信状況管理手段１５に対し、配信先、ファイル名（ＡＢＣ）、ブロック番号０を指定した送信状況通知を全配信先Ｍ１、Ｍ２、Ｍ３について行う。つまり、配信先（Ｍ１）、ファイル名（ＡＢＣ）、ブロック番号０を指定した配信先Ｍ１用の送信状況通知、配信先（Ｍ２）、ファイル名（ＡＢＣ）、ブロック番号０を指定した配信先Ｍ２用の送信状況通知、配信先（Ｍ３）、ファイル名（ＡＢＣ）、ブロック番号０を指定した配信先Ｍ３用の送信状況通知を、順番に配信状況管理手段１５に送出する。
【００２２】
配信状況管理手段１５は、ブロック番号が０に設定された送信状況通知を１つ受け取るごとに、その配信先用の配信状況管理情報を１つ生成する。生成する配信状況管理情報は、配信先、ファイル名、配信状況、配信先状態、送信成功ブロック数、送信失敗ブロック数の各項目を有する。従って、配信先Ｍ１、Ｍ２、Ｍ３用の３つの送信状況通知を受けた今の例では、図３に示す３つの配信状況管理情報１５１、１５２、１５３が生成される。
【００２３】
ここで、配信状況は、当該配信先で当該配信対象ファイルの何番目のブロックまで受信確認がとれているかを示すブロック番号が設定される項目であり、初期生成時には図３に示すようにブロック番号０が設定される。また、配信先状態は、「送信中」、「ＮＧ」、「ＮＧ確定」、「終了」の内の何れかの状態が設定される項目であり、当該配信先へ当該ファイルの送信が開始される初期状態においては「送信中」が設定され、その後、支障なくファイルの配信が完了すると「終了」が設定される。また、ファイル送信中に何らかの原因でうまく送信されなくなった場合は「ＮＧ」が設定され、当該配信先への当該ファイルの配信を断念した場合は「ＮＧ確定」が設定される。更に、送信成功ブロック数および送信失敗ブロック数は、当該配信先への当該ファイルの送信に際して送信に成功したブロックの総数および送信に失敗したブロックの総数を設定する項目であり、初期状態ではそれぞれ０が設定される。
【００２４】
以上のような管理情報１７１、１５１〜１５３の初期生成を終えると、配信元システム１は、図２のステップＳ５以降の処理を実行する。
【００２５】
まず、通信制御手段１６は、再送制御手段１７に対して、ファイル名（ＡＢＣ）を指定してブロック番号の問い合わせを行う（ステップＳ５）。
【００２６】
再送制御手段１７は、ブロック番号の問い合わせがあると、配信状況管理手段１５で管理されている各配信先システム毎の配信状況管理情報１５１〜１５３の内容と自身が保持している送信管理情報１７１とに基づいて、問い合わせ回答を決定し、通信制御手段１６にブロック番号問い合わせ回答を返す（ステップＳ６）。再送制御手段１７からの回答には、次に送信すべきブロック番号を指定した問い合わせ回答と、送信終了処理を行わせるために回答を「最終データ」とした問い合わせ回答と、送信を一時停止することを指示した問い合わせ回答と、処理を終了することを指示する問い合わせ回答との４種類がある。問い合わせ回答には、ブロック番号の項目があり、次に送信すべきブロック番号を指定する問い合わせ回答ではブロック番号の項目にブロック番号そのものが設定される。最終データ、送信の一時停止、処理終了を指定する問い合わせ回答では、ブロック番号の項目に「最終データ」、「一時停止」、「終了」が設定される。
【００２７】
再送制御手段１７が実行する問い合わせ回答決定処理の詳細は後述するが、配信先システムにおける受信ブロック抜け等の受信障害が一切なく理想的な状況の下では、通信制御手段１６からブロック番号問い合わせがある毎に、ブロック番号１を指定した問い合わせ回答、ブロック番号２を指定した問い合わせ回答、…、ブロック番号Ｘを指定した問い合わせ回答というように、１から始まるブロック番号を総ブロック数Ｘまで順に回答する処理となり、次に最終データの問い合わせ回答、最後に処理終了の問い合わせ回答となる。但し、配信先システムからの応答遅れがあると、一時停止の回答が出される場合があり、また、受信ブロック抜け等の受信障害が配信先システムで発生していたためにデータの再送が必要となった場合には、指定するブロック番号がデータ再送の必要な過去の番号まで巻き戻される。
【００２８】
再送制御手段１７からブロック番号問い合わせ回答を得た通信制御手段１６は、その回答内容に応じて以下のような制御を実行する。
【００２９】
次に送信すべきブロック番号を指定した問い合わせ回答を受けたときは（ステップＳ７でＹＥＳ）、衛星通信送信手段１３に対して、配信先（Ｍ１、Ｍ２、Ｍ３）、ファイル名（ＡＢＣ）、ブロック番号Ｐを指定した送信指示を出す（ステップＳ９）。ここで、送信指示で指定するブロック番号Ｐは、問い合わせ回答で再送制御手段１７から指定されたブロック番号である。
【００３０】
衛星通信送信手段１３は、通信制御手段１６から上記の送信指示を受けると、記憶装置１２をアクセスして、ファイル名（ＡＢＣ）の配信対象ファイルを先頭から順にブロックサイズ分読み取って、ブロック番号Ｐに該当するブロックを読み出す。そして、この読み出したブロックのデータに、配信元（Ｍ０）と、送信指示で指定された配信先（Ｍ１、Ｍ２、Ｍ３）、ファイル名（ＡＢＣ）、ブロック番号Ｐを付加した送信データを作成し、通信衛星３を経由して配信先システム２−１〜２−Ｎに同報送信する。ここで、送信データ中の配信元の項目の値Ｍ０は、配信元システム１を一意に識別する識別子を用いることができる。
【００３１】
また、一時停止を指定した問い合わせ回答を受けたときは（ステップＳ８でＹＥＳ）、通信制御手段１６はシステムで予め定められた所定時間だけ待ち合わせを行い（ステップＳ１０）、その後にステップＳ５に戻り、再送制御手段１７に対して再びブロック番号の問い合わせを行う。
【００３２】
また、最終データを指定した問い合わせ回答を受けたときは（ステップＳ１１でＹＥＳ）、通信制御手段１６は、衛星通信送信手段１３に対して、配信先（Ｍ１、Ｍ２、Ｍ３）、ファイル名（ＡＢＣ）、総ブロック数Ｘを指定した送信終了指示を出す（ステップＳ１２）。衛星通信送信手段１３は、この送信終了指示を受けると、送信終了指示で指定された配信先（Ｍ１、Ｍ２、Ｍ３）、ファイル名（ＡＢＣ）、総ブロック数Ｘに、配信元（Ｍ０）、ブロック番号（“送信終了”）を付加した送信データを作成し、通信衛星３を経由して配信先システム２−１〜２−Ｎに同報送信する。
【００３３】
また、処理終了の問い合わせ回答を受けたときは（ステップＳ１１でＮＯ）、通信制御手段１６は当該ファイルに関する配信制御の処理を終了する。
【００３４】
（２）各配信先システムでのデータ受信、応答処理
図４は各配信先システムでのデータ受信、応答処理の流れを示すフローチャートである。衛星通信受信手段２１は、配信元システム１から通信衛星３経由で同報通信されたデータを受信すると、受信データに含まれる配信先（Ｍ１、Ｍ２、Ｍ３）を抽出し（ステップＳ２１）、その配信先の中に自システムが含まれるか否かを判別する（ステップＳ２２）。自システムが配信先に含まれない場合、受信データを廃棄して処理を終える。
【００３５】
配信先に自システムが含まれる場合、衛星通信受信手段２１は、受信データから配信元（Ｍ０）、ファイル名（ＡＢＣ）を抽出し、同じ配信元、ファイル名を持つ受信管理情報が既に存在するかを判別し（ステップＳ２３）、未だ存在しておらず（ステップＳ２３でＮＯ）、かつ、受信データにブロック番号１が指定されていれば（ステップＳ２４でＹＥＳ）、当該ファイルの１番目のブロックを自システムが初めて受信したと判断し、受信管理情報を初期生成する（ステップＳ２５）。この初期生成では、図５に示すような、配信元、ファイル名、前回受信ブロック番号を各項目として持つ受信管理情報２１１を生成し、配信元にＭ０、ファイル名にＡＢＣ、前回受信ブロック番号に０をそれぞれ設定する。次に、衛星通信受信手段２１は、受信データ中のブロックデータを、ファイル名ＡＢＣの１番目のブロックデータとして記憶装置２３に記憶し（ステップＳ２６）、受信管理情報２１１の前回受信ブロック番号に今回受信したブロック番号を設定して「１」とする（ステップＳ２７）。その後、当該配信先システムにおいて配信元システム１への受信応答処理が行われる（ステップＳ２８）。
【００３６】
また、該当する受信管理情報が存在していないにもかかわらず（ステップＳ２３でＮＯ）、受信データに１以外のブロック番号が指定されているときは（ステップＳ２４でＮＯ）、自システムが受信ブロック抜けの受信障害を起こしていたと判断する。このときは、当該配信先システムにおいて配信元システム１への受信ＮＧ応答処理が行われる（ステップＳ３２）。
【００３７】
また、該当する受信管理情報が存在していて（ステップＳ２３でＹＥＳ）、受信データ中のブロック番号の値が「送信終了」を示す値以外、つまりブロック番号そのもののとき（ステップＳ２９でＮＯ）、そのブロック番号（Ｐとする）が受信管理情報２１１の前回受信ブロック番号の次の番号に一致するか否かを判別する（ステップＳ３０）。一致する場合は、連続するブロックを順に受信していると判断し、受信データ中のブロックデータを、ファイル名ＡＢＣのＰ番目のブロックデータとして記憶装置２３に記憶し（ステップＳ２６）、受信管理情報２１１の前回受信ブロック番号に今回受信したブロック番号Ｐを設定する（ステップＳ２７）。その後、当該配信先システムにおいて配信元システム１への受信応答処理が行われる（ステップＳ２８）。
【００３８】
他方、ブロック番号Ｐが受信管理情報２１１の前回受信ブロック番号の次の番号と一致しない場合（ステップＳ３０でＮＯ）、ブロック番号Ｐが前回受信ブロック番号の次の番号より大きいか否かを判別する（ステップＳ３１）。ブロック番号Ｐが前回受信ブロック番号の次の番号より大きくない場合（ステップＳ３１でＮＯ）、今回の受信データは他の配信先システムへの再送のために同報通信されたものであると判断し、受信データを廃棄して処理を終える。しかし、ブロック番号Ｐが前回受信ブロック番号の次の番号より大きいときは（ステップＳ３１でＹＥＳ）、自システムが受信ブロック抜けの受信障害を起こしていたと判断する。このときは、当該配信先システムにおいて配信元システム１への受信ＮＧ応答処理が行われる（ステップＳ３２）。
【００３９】
また、該当する受信管理情報が存在していて（ステップＳ２３でＹＥＳ）、受信データ中のブロック番号の値が「送信終了」を示す値のとき（ステップＳ２９でＹＥＳ）、受信データに含まれる総ブロック番号（Ｘ）が受信管理情報２１１の前回受信ブロック番号と一致するか否かを判別する（ステップＳ３３）。一致しない場合は（ステップＳ３３でＮＯ）、自システムが受信ブロック抜けの受信障害を起こしていたと判断する。このときは、当該配信先システムにおいて配信元システム１への受信ＮＧ応答処理が行われる（ステップＳ３２）。他方、一致する場合は（ステップＳ３３でＹＥＳ）、当該配信先システムにおいて配信元システム１への受信終了応答処理が行われる（ステップＳ３４）。
【００４０】
ステップＳ２８の受信応答処理では、次のような処理が実行される。まず、衛星通信受信手段２１は、受信データ中に含まれる配信元（Ｍ０）、ファイル名（ＡＢＣ）、ブロック番号（Ｐ）を指定した受信通知を通信制御手段２４に出す。通信制御手段２４は、ブロック番号が１の受信通知を受けたときは、受信通知で指定された配信元（Ｍ０）、ファイル名（ＡＢＣ）、受信通知回数１を各項目として持つ図５に示すような受信通知管理情報２４１を生成し、ブロック番号が１以外の受信通知を受けたときは、受信通知で指定された配信元（Ｍ０）、ファイル名（ＡＢＣ）を持つ受信通知管理情報２４１における受信通知回数を＋１する。そして、受信通知回数がシステムで予め定められた値（Ｄとする）に達していなければ処理を終える。反対に値Ｄに達していたら、今回の受信通知で指定された配信元（Ｍ０）、ファイル名（ＡＢＣ）、ブロック番号（Ｐ）を含む受信応答通知を地上通信送信手段２２に送り、受信通知管理情報２４１の受信通知回数を０に初期化する。地上通信送信手段２２は、受信応答通知で指定された配信先（Ｍ０）を相手先として、地上回線網４経由で、受信応答を送信する。この受信応答には、応答元、ファイル名、ブロック番号の各項目が含まれ、応答元には自システムの識別子が、ファイル名、ブロック番号には受信応答指示で指定されたファイル名（ＡＢＣ）、ブロック番号（Ｐ）がそれぞれ設定される。ここで、前記Ｄは、衛星回線の通信速度と地上系回線の通信速度との差などに基づいて、事前に調整されている。
【００４１】
ステップＳ３２の受信ＮＧ応答処理では、次のような処理が実行される。まず、衛星通信受信手段２１は、受信データに含まれる配信元（Ｍ０）、ファイル名（ＡＢＣ）、及びそれらに一致する配信元およびファイル名を持つ受信管理情報２１１中の前回受信ブロック番号を指定した受信データ抜け通知を通信制御手段２４に出す。通信制御手段２４は、受信データ抜け通知を受けると、この通知で指定された配信元（Ｍ０）、ファイル名（ＡＢＣ）、前回受信ブロック番号を、それぞれ配信元、ファイル名、ブロック番号として指定した受信ＮＧ応答指示を地上通信送信手段２２に出す。地上通信送信手段２２は、受信ＮＧ応答指示を受けると、その指示で指定された配信先（Ｍ０）を相手先として、地上回線網４経由で、受信ＮＧ応答を送信する。この受信ＮＧ応答には、応答元、ファイル名、ブロック番号の各項目が含まれ、応答元には自システムの識別子が、ファイル名、ブロック番号には受信ＮＧ応答指示で指定されたファイル名（ＡＢＣ）、ブロック番号（前回受信ブロック番号）がそれぞれ設定される。
【００４２】
ステップＳ３４の受信終了応答処理では、次のような処理が実行される。まず、衛星通信受信手段２１は、受信データに含まれる配信元（Ｍ０）、ファイル名（ＡＢＣ）、総ブロック数（Ｘ）を指定した終了通知を通信制御手段２４に出し、当該配信元（Ｍ０）とファイル名（ＡＢＣ）を持つ受信管理情報２１１を廃棄する。通信制御手段２４は、終了通知を受けると、この通知で指定された配信元（Ｍ０）、ファイル名（ＡＢＣ）、総ブロック数（Ｘ）を、それぞれ配信元、ファイル名、ブロック番号として指定した受信終了応答指示を地上通信送信手段２２に出し、配信元（Ｍ０）とファイル名（ＡＢＣ）を持つ受信通知管理情報２４１を廃棄する。地上通信送信手段２２は、受信終了応答指示を受けると、その指示で指定された配信先（Ｍ０）を相手先として、地上回線網４経由で、受信終了応答を送信する。この受信終了応答には、応答元、ファイル名、ブロック番号の各項目が含まれ、応答元には自システムの識別子が、ファイル名、ブロック番号には受信終了応答指示で指定されたファイル名（ＡＢＣ）、ブロック番号（総ブロック数Ｘ）がそれぞれ設定される。
【００４３】
このように各配信先システム２−１〜２−Ｎから配信元システム１へは、ブロックを正常に受信している場合にはＤ個のブロックを受信する毎に、どのブロック番号まで受信したかを示す受信応答が送られ、受信データ抜けがあったときはその時点で直ちに、どのブロック番号まで受信したかを示す受信ＮＧ応答が送られる。また、送信終了を示すデータを受信した場合は、自システムが全ブロックを受信完了していればその旨を示す受信終了応答が送られ、若し受信データが抜けていれば、どのブロック番号まで受信したかを示す受信ＮＧ応答が送られる。
【００４４】
（３）配信先システムから受けた応答の配信元システムでの処理
図６は配信先システム２−１〜２−Ｎから地上回線網４経由で応答を受けた際の配信元システム１の処理の流れを示すフローチャートである。地上通信受信手段１４は、地上回線網４経由で何れかの配信先システムから何らかの応答を受信すると、その内容を通信制御手段１６に通知する（ステップＳ４１）。具体的には、受信応答を受信した場合にはその応答に含まれる応答元、ファイル名、ブロック番号を含む応答受信通知を出し、受信ＮＧ応答を受信した場合にはその応答に含まれる応答元、ファイル名、ブロック番号を含むＮＧ応答受信通知を出し、受信終了応答を受信した場合にはその応答に含まれる応答元、ファイル名、ブロック番号を含む終了応答受信通知を出す。
【００４５】
通信制御手段１６は、地上通信受信手段１４から上記の通知を受けると、その内容を再送制御手段１７へ通知する（ステップＳ４２）。具体的には、応答受信通知を受けた場合にはその応答に含まれる応答元、ファイル名、ブロック番号を、配信先、ファイル名、ブロック番号として含む送信状況通知を出し、ＮＧ応答受信通知を受けた場合にはその応答に含まれる応答元、ファイル名、ブロック番号を、配信先、ファイル名、ブロック番号として含む送信状況ＮＧ通知を出し、終了応答受信通知を受けた場合にはその応答に含まれる応答元、ファイル名、ブロック番号（総ブロック数）を、配信先、ファイル名、ブロック番号（総ブロック数）として含む送信終了通知を出す。
【００４６】
再送制御手段１７は、通信制御手段１６から上記の通知を受けると、通知を受けた配信先およびファイルに対応する配信状況管理情報１５１〜１５３中の配信状況を配信状況管理手段１５から取得し、この取得した配信状況が示すブロック番号と通知の種類と通知されたブロック番号とから、新たに送信成功したブロック数、送信失敗したブロック数を計算する（ステップＳ４３）。
【００４７】
具体的には、送信状況通知および送信終了通知を受けた場合、その通知に含まれるブロック番号をａ、取得した配信状況が示すブロック番号をｂとすると、ａ−ｂを新たに送信成功したブロック数とし、新たに送信失敗したブロック数は０とする。
【００４８】
また、送信状況ＮＧ通知を受けた場合、その通知に含まれるブロック番号をａ、取得した配信状況が示すブロック番号をｃとすると、ａ−ｃを新たに送信成功したブロック数とし、新たに送信失敗したブロック数は予めシステムで定められた定数とする。ここで、定数としては、受信障害の発生頻度等に基づいて事前に定めれば良い。例えば、受信障害が高々１ブロック送信中にのみ生じるような状況では、データ受信抜けを起こした１ブロックの次のブロック以降、各ブロック受信時に送信状況ＮＧ通知が発生することを考慮すれば、前記定数は例えば１として良い。勿論、２，３等の値としても良い。
【００４９】
再送制御手段１７は、上述のようにして新たな送信成功／失敗ブロック数を計算すると、通信制御手段１６から受けた送信状況通知、送信状況ＮＧ通知、送信終了通知に、計算した送信成功／失敗ブロック数の情報を付加して、配信状況管理手段１５に転送する（ステップＳ４４）。
【００５０】
配信状況管理手段１５は、再送制御手段１７から送信状況通知、送信状況ＮＧ通知、送信終了通知を受けると、通知にかかる配信先およびファイル名に対応する配信状況管理情報１５１〜１５３中の配信状況に、当該通知で指定されたブロック番号を設定する（ステップＳ４５）。また、通知の内容に応じて配信先状態を更新する（ステップＳ４６）。つまり、配信先状態に、送信状況通知の場合には「送信中」を、送信状況ＮＧ通知の場合には「ＮＧ」を、送信終了通知の場合には「終了」をそれぞれ設定する。更に、当該通知で指定された新たな送信成功ブロック数を配信状況管理情報中の送信成功ブロック数に加算し、当該通知で指定された新たな送信失敗ブロック数を配信状況管理情報中の送信失敗ブロック数に加算する（ステップＳ４７）。
【００５１】
このようにして、配信先システム２−１〜２−Ｎから地上回線網４を経由して送信される受信済最大ブロック番号を含む応答に基づき、配信元システム１の配信状況管理手段１５は、図３のように初期生成した各配信先システム毎の配信状況管理情報１５１〜１５３を適宜更新していく。従って、これらの配信状況管理情報１５１〜１５３を参照すれば、どの配信先システムでデータ再送が必要になったか、再送が必要な最小のブロック番号は幾つであるか等が即決定できることになる。
【００５２】
次に、再送制御手段１７が通信制御手段１６からブロック番号の問い合わせがあったときに実行する処理について、図７および図８のフローチャートを参照しながら説明する。
【００５３】
再送制御手段１７は、ファイル名（ＡＢＣ）を指定したブロック番号の問い合わせを受けると、図７に示す処理を開始する（ステップ２００）。先ず、配信状況管理手段１５から該当ファイルの配信状況管理情報１５１〜１５３を取得し（ステップ２０１）、全配信先状態が終了またはＮＧ確定であるか否かを調べる（ステップ２０２）。全配信先状態が終了またはＮＧ確定であれば、当該ファイルの配信処理を終了して良いので、終了の問い合わせ回答を通信制御手段１６に返し（ステップ２２０）、処理を終了する（ステップ２２１）。
【００５４】
全配信先状態が終了またはＮＧ確定でなければ（ステップ２０２でＮＯ）、配信先状態がＮＧの配信先が存在するか否かを調べ（ステップ２０３）、存在すれば図８の処理へと進む。図８の処理は後述する。他方、存在しなければ、ＮＧ確定の配信先を除いて、受信応答を受けた中で最も小さいブロック番号（これをＮｅとする）と、その配信先（これをＨｅとする）を調べ（ステップ２０４）、送信管理情報１７１中の前回送信ブロック番号と前記Ｎｅのブロック番号との差がシステムで予め定められた閾値Ｔｎを超えたか、または、前回送信ブロック番号と総ブロック数Ｘ＋１が等しいかを調べる（ステップ２０５）。
【００５５】
前回送信ブロック番号と前記Ｎｅのブロック番号との差がシステムで予め定められた閾値Ｔｎを超えておらず、且つ、前回送信ブロック番号が総ブロック数Ｘ＋１になっていない場合には（ステップ２０５でＮＯ）、後述する遅延配信先情報があればそれを消去すると共に遅延回数に０をセットした後（ステップ２０６）、前回送信ブロック番号と総ブロック数Ｘが等しいか否かを調べ（ステップ２０７）、等しくなければ、前回送信ブロック番号を＋１して、その番号をセットした問い合わせ回答を通信制御手段１６に返し（ステップ２０８）、今回の処理を終了する（ステップ２２１）。前回送信ブロック番号と総ブロック数Ｘが等しければ（ステップ２０７でＹＥＳ）、最後のブロック番号まで回答し終えているので、前回送信ブロック番号を＋１して、最終データの問い合わせ応答を通信制御手段１６に返し（ステップ２０８）、今回の処理を終了する（ステップ２２１）。
【００５６】
また、前回送信ブロック番号と前記Ｎｅのブロック番号との差が閾値Ｔｎを超えたか、または、前回送信ブロック番号と総ブロック数Ｘ＋１が等しい場合（ステップ２０５でＹＥＳ）、遅延配信先情報を保持していて、それが前記Ｈｅと同じ配信先にかかる情報であって、且つ、遅延回数がシステムで予め定められた閾値を超えたか否かを調べる（ステップ２１０）。遅延配信先情報を保持していないか、保持していてもＨｅと同じでないか、或いは遅延回数が閾値を超えていない場合（ステップ２１０でＮＯ）、遅延配信先情報としてＨｅを、遅延回数（その初期値は０）を＋１してそれぞれ保持し、一時停止の問い合わせ応答を通信制御手段１６に返し（ステップ２１１）、今回の処理を終了する（ステップ２２１）。他方、ステップ２１０の判断結果がＹＥＳの場合、つまり、所定回数にわたって一時停止の問い合わせ回答を出すことにより受信応答を待っていたにもかかわらず、受信応答が返ってこない配信先がある場合は、受信応答を受けたブロック番号が最も小さい配信先に対応する配信状況管理情報中の送信失敗ブロック数を＋Ｔｎし、図８の処理へと進む（ステップ２１２）。
【００５７】
図８の処理では、先ず、ＮＧ確定の配信先を除いた全配信先に関する送信成功／送信失敗ブロック数に基づいて、転送失敗率を計算する（計算した転送失敗率をＲｅとする）（ステップＳ２１３）。例えば、配信先Ｍ１、Ｍ２、Ｍ３の送信成功ブロック数をｓ１、ｓ２、ｓ３、送信失敗ブロック数をｆ１、ｆ２、ｆ３とすると、転送失敗率は例えば以下の式で求めることができる。
転送失敗率＝（ｆ１＋ｆ２＋ｆ３）／（ｓ１＋ｓ２＋ｓ３＋ｆ１＋ｆ２＋ｆ３）…（１）
また、送信成功／送信失敗ブロック数に加えて、システムで予め定めた補正係数を加味して転送失敗率を求めるようにしても良い。
【００５８】
次に、総ブロック数Ｘと前回送信ブロック番号とから、未送信ブロック数を計算する（計算した未送信ブロック数をＮｌとする）（ステップ２１４）。
【００５９】
次に、ＲｅとＮｌとに基づき、再送することになると予想されるブロック数を計算する（この計算したブロック数をＮｒとする）（ステップ２１５）。この計算には例えば以下の式が使用できる。
Ｎｒ＝Ｎｌ×（１＋Ｒｅ）
…（２）
また、ＲｅとＮｌとに加えて、システムで予め定めた補正係数を加味して、再送することになると予想されるブロック数を計算しても良い。
【００６０】
次に、Ｎｒの総ブロック数Ｘに対する割合がシステムで予め定められた一定値を超えたか否かを調べ（ステップ２１６）、超えていなければ、配信先状態がＮＧの場合、これを「送信中」とし（ステップ２１７）、ＮＧ確定の配信先を除いて、受信応答を受けた最も小さいブロック番号に＋１した番号をセットした問い合わせ回答を、通信制御手段１６に返し（ステップ２１８）、今回の処理を終了する（ステップ２２１）。
【００６１】
他方、Ｎｒの総ブロック数Ｘに対する割合がシステムで予め定められた一定値を超えていた場合（ステップ２１６でＹＥＳ）、受信応答を受けたブロック番号が最も小さい配信先に関して、ＮＧ確定通知を行う（ステップ２１９）。このＮＧ確定通知によって、配信状況管理手段１５が管理している情報１５１〜１５３の内、受信応答を受けたブロック番号が最も小さい配信先の配信先状態がＮＧ確定にセットされる。また、通信制御手段１６は当該ファイルＡＢＣの配信先からＮＧ確定通知のあった配信先を除外する。その後、再送制御手段１７はステップ２０１に戻って処理を続ける。
【００６２】
次に、具体的な例を挙げて本実施例の動作を説明する。
【００６３】
今、配信対象ファイル（ファイル名ＡＢＣ）の総ブロック数を「１５０」、配信先を配信先システム２−１、２−２、２−３、図７のステップ２０５中の閾値Ｔｎを「１０」とする。また、各配信先システム２−１〜２−３は５個のブロックを受信する毎に受信応答を返すものとする。
【００６４】
図３に示したような管理情報１７１、１５１〜１５３が初期生成された後、配信元システム１の通信制御手段１６が再送制御手段１７に対してブロック番号問い合わせを送ると、再送制御手段１７は、配信状況管理情報１５１〜１５３を取得し（ステップ２０１）、全配信先状態が終了またはＮＧ確定でなく（ステップ２０２でＮＯ）、配信先状態がＮＧの配信先が存在しないため（ステップ２０３でＮＯ）、ステップ２０４に進み、Ｎｅ＝０、Ｈｅ＝Ｍ１〜Ｍ３とし、前回送信ブロック番号（＝０）−Ｎｅ（＝０）＜Ｔｎ（＝１０）、且つ、前回送信ブロック番号（＝０）＜総ブロック数（＝１５０）＋１（ステップ２０５でＮＯ）、前回送信ブロック番号（＝０）≠総ブロック数（＝１５０）（ステップ２０７でＮＯ）なので、前回送信ブロック番号（＝０）を＋１し、ブロック番号「１」をセットした問い合わせ応答を通信制御手段１６に返す（ステップ２０８）。これにより、通信制御手段１６の指示の下に衛星通信送信手段１３が配信対象ファイルＡＢＣの第１ブロックを通信衛星３経由で、配信先システム２−１〜２−３に同報配信する。
【００６５】
各配信先システム２−１〜２−３では、ブロック番号「０」のブロックを受信した時点で図５に示したような管理情報２１１、２４１を生成し、配信対象ファイルＡＢＣの第１ブロックを記憶装置２３に格納する。
【００６６】
以後、再送制御手段１７は、通信制御手段１６からのブロック番号問い合わせに対し、ブロック番号「２」、ブロック番号「３」、ブロック番号「４」、ブロック番号「５」を順次に回答していき、それに伴って、衛星通信送信手段１３から配信対象ファイルＡＢＣの第２ブロック、第３ブロック、第４ブロック、第５ブロックが順次に同報送信される。各配信先システム２−１〜２−３では、これらのブロックを受信するごとに記憶装置２３に格納していき、第５ブロックの受信時に、通信制御手段２４の制御の下に地上通信送信手段２２から配信元システム１に、ブロック番号「５」を指定した受信応答が返され、配信元システム１の配信状況管理手段１５で管理されている配信状況管理情報１５１〜１５３の各配信状況がブロック番号「５」に更新される。
【００６７】
このように支障なく配信が行われている場合は、図９のシーケンス図に示すように、配信元システム１が５個のブロックを送信する毎に、配信先システムから１回の受信応答が返されてくる。
【００６８】
さて、送信管理情報１７１中の前回送信ブロック番号が「９１」、配信先システム２−１、２−２、２−３の配信状況管理情報１５１、１５２、１５３における配信状況がブロック番号「８５」、「８７」、「９０」、配信先状態がそれぞれ「ＮＧ」、「ＮＧ」、「送信中」になっている状況を考える。つまり、衛星通信障害等により、配信先システム２−１がブロック番号「８６」のブロックを受信し損ね、配信先システム２−２がブロック番号「８８」のブロックを受信し損ねた状況を想定する。
【００６９】
このような状況の下で、再送制御手段１７が通信制御手段１６からブロック番号問い合わせを受けると、図７のステップ２０３においてＮＧの配信先が存在することが検出され、図８の処理が実行される。先ず、ステップ２１３で転送失敗率Ｒｅが計算され、次いでステップ２１４で未送信ブロック数Ｎｌが計算され、次いでステップ２１５で再送することになると予想されるブロック数Ｎｒが計算される。そして、Ｎｒの総ブロック数（＝１５０）に対する割合が一定値を超えていなければ（ステップ２１６でＮＯ）、配信先システム２−１、２−２の配信先状態のＮＧが消去され、受信応答を受けた最も小さいブロック番号（＝８５）に＋１したブロック番号「８６」をセットした問い合わせが通信制御手段１６に返される。これにより、ブロック番号「８６」のブロックが同報通信にて再送される。このとき、送信管理情報１７１中の前回送信ブロック番号が「８６」に戻される。
【００７０】
ブロック番号「８６」のブロックの送信後、再送制御手段１７が通信制御手段１６からブロック番号問い合わせを受けると、配信先状態がＮＧの配信先が存在しないので（ステップ２０３でＮＯ）、ステップ２０４〜２０７を経由してステップ２０９へ進み、ブロック番号「８７」をセットした問い合わせ応答が返され、ブロック番号「８７」のブロックが同報通信される。以後、ブロック番号「８８」、「８９」、「９０」、「９１」、…と順次に同報送信される。
【００７１】
配信先システム２−１では、ブロック番号「８６」以降のブロックを順次に受信して記憶装置２３に格納していく。また、配信先システム２−２では、ブロック番号「８６」、「８７」は無視するが、ブロック番号「８８」以降のブロックは順次に受信して記憶装置２３に格納していく。さらに、配信先システム２−３では、既に受信したブロック番号までのブロックは無視するが、それ以降のブロック番号のブロックは順次に受信して記憶装置２３に格納していく。このようにして、再送が必要となった配信先システムが複数存在していても、同報送信により無駄なくブロックの再送が行える。
【００７２】
他方、例えば配信先システム２−１からのＮＧ応答受信が繰り返されると、配信先システム２−１に関する送信失敗ブロック数が増加するため、再送に必要になると予想されるブロック数Ｎｒも増加していく。その結果、総ブロック数に対するＮｒの割合が一定値を超えた時点で、受信応答を受けたブロック番号が最も小さい配信先システム２−１に関する配信先状態が「ＮＧ確定」とされ（ステップ２１９）、この後は、配信先システム２−２、２−３のみを対象として配信が継続される。
【００７３】
以上のように、一時的な衛星通信障害等が発生した配信先に対して全ブロックを再送することなく、受信に失敗したブロック以降の必要なだけの再送を行い、一方でデータ受信失敗を繰り返す配信先が含まれる場合には、その配信先を再送対象外とすることで、再送を繰り返し続けることに起因する転送速度の低下が防止される。
【００７４】
以上はＮＧ応答受信を繰り返した場合の動作であるが、ＮＧ応答受信すら送信してこない状況の下では、以下のような動作となる。例えば配信先システム２−１に対してブロック番号「８６」から再送を開始しても、配信先システム２−１から受信応答もＮＧ応答も返送されてこなかった場合、前回送信ブロック番号が「９６」になった時点で、図７のステップ２０５において、前回送信ブロック番号（＝９６）−Ｎｅ（＝８５）＞Ｔｎ（＝１０）と判断され、配信先システム２−１の遅延配信先情報が保持され、その遅延回数が「１」となり、一時停止の問い合わせ回答が再送制御手段１７から通信制御手段１６に出され（ステップ２１１）、通信制御手段１６は一定時間のウエイト後に、再びブロック番号問い合わせを出す。配信先システム２−１が尚も応答を返してこないと、上述した処理が繰り返され、遅延回数が閾値を超えた時点で、図８の処理が開始される。これによって、若し、総ブロック数に対する、再送が必要になると予測されるブロック数Ｎｒの割合が一定値を超えていると、配信先システム２−１がＮＧ確定となり、再送対象から除外される。
【００７５】
さて、配信元システム１から配信対象ファイルＡＢＣの最後のブロックが同報通信された後、通信制御手段１６から再送制御手段１７に対してブロック番号問い合わせが出されると、図７のステップ２０９において、前回送信ブロック番号が＋１されて「１５１」となり、最終データの問い合わせ応答が返される。これにより、配信元システム１から配信先システムに対して、ブロック番号に「送信終了」をセットした送信データが配信される。この送信データを受けた配信先システムは、総ブロック数分のブロックを受信していれば受信終了応答を返し（図４のステップＳ３４）、若し、受信抜けがあれば、受信ＮＧ応答を返す（ステップＳ３２）。
【００７６】
受信終了応答が返ってきた配信先システムに対応する配信状況管理情報中の配信先状態は「終了」に設定される。また、配信先から除外された配信先システムは前述のように「ＮＧ確定」になっている。従って、その後に通信制御手段１６からブロック番号問い合わせを受けると、再送制御手段１７は、図７のステップ２０２においてＹＥＳと判断し、終了の問い合わせ回答を返し、通信制御手段１６は当該配信対象ファイルＡＢＣにかかる制御を終了する。なお、各配信先システムからの受信終了応答が遅延し、配信先状態が「終了」になる前に通信制御手段１６からブロック番号問い合わせを受けた場合には、再送制御手段１７は、ステップ２０５において、前回送信ブロック番号（＝１５１）＝総ブロック数（＝１５０）＋１を検出し、遅延配信先情報および遅延回数を保持して、一時停止の問い合わせ回答を通信制御手段１６に返すことになる。そして、通常なら、遅延していた受信終了応答が、遅延回数が閾値を超える前に配信先システムから送られてきて、配信先状態が「終了」となる。
【００７７】
また、「最終データ」をセットした送信データの応答として、一部の配信先システムから受信ＮＧ応答が返されてきた場合、その配信先システムの配信先状態が「ＮＧ」となる。このため、次のブロック番号問い合わせ時、再送制御手段１７は、ステップ２０３から図８の処理へ進む。そして、総ブロック数に対するＮｒの割合が一定値を超えていなければ、ＮＧを消去し（ステップ２１７）、受信ＮＧ応答で通知されてきたブロック番号＋１をセットした問い合わせ回答を返すことで、ブロックの再送を行う。その後、再びブロック番号問い合わせがあると、再送制御手段１７は、前回送信ブロック番号が総ブロック数に等しければ（ステップ２０７でＹＥＳ）、再び、最終データの問い合わせ応答を返し（ステップ２０９）、等しくなければ、次のブロック番号をセットした問い合わせ回答を返すことになる。
【００７８】
図１０は本発明の別の実施の形態の構成例を示すブロック図である。図１０において、Ｈ１は図１に示した配信元システム１を構成するコンピュータ、Ｔ１〜ＴＮは図１に示した配信先システム２−１〜２−Ｎを構成するコンピュータ、ＭはＣＤ−ＲＯＭ、磁気ディスク、半導体メモリ等の機械読み取り可能な記録媒体であり、配信元プログラムおよび配信先プログラムが記録されている。記録媒体Ｍに記録された配信元プログラムは、コンピュータＨ１の立ち上げ時などにコンピュータＨ１によって読み取られ、コンピュータＨ１の動作を制御することにより、コンピュータＨ１上に、図１に示した入出力手段１１、記憶装置１２、衛星通信送信手段１３、地上通信受信手段１４、配信状況管理手段１５、通信制御手段１６および再送制御手段１７を実現する。また、記録媒体Ｍに記録された配信先プログラムは、コンピュータＴ１〜ＴＮの立ち上げ時などにコンピュータＴ１〜ＴＮによって読み取られ、コンピュータＴ１〜ＴＮの動作を制御することにより、コンピュータＴ１〜ＴＮ上に、図１に示した衛星通信受信手段２１、地上通信送信手段２２、記憶装置２３および通信制御手段２４を実現する。
【００７９】
以上本発明の実施例について説明したが、本発明は以上の実施例にのみ限定されず、その他各種の付加変更が可能である。例えば、各配信先システムにおける通信制御手段２４が衛星通信受信手段２１から次の受信通知を受け取るまでの時間を監視し、或る一定時間を超えても受信通知を受け取ることができない場合には、配信元システム１等に障害が発生したものと判断して、受信中ファイルの受信処理を終了するようにしても良い。
【００８０】
【発明の効果】
以上説明したように本発明によれば、以下のような効果が得られる。
【００８１】
再送データをブロック単位で同報通信したことにより、効率的なデータ配信が可能となる。
【００８２】
各配信先システムが、正常な受信時には複数個のブロックを受信する毎に応答を配信元システムに返すようにしたので、配信先システムおよび配信元システムの負荷を抑えることができ、配信先システムが受信ブロック抜けを検出した場合には、その都度応答を返すので、早急なデータ再送が可能となる。
【００８３】
配信元システムが、前回送信したブロックのブロック番号と最大受信済ブロック番号の最小値との差が所定値を越えた場合に衛星通信送信手段による以降のブロック送信を一時停止し、前記差が所定値以下となった時点でブロック送信を再開することにより、何れかの配信先システムで受信ブロック抜けが生じた場合のデータ再送にかかる後戻り量を少なくすることができる。
【００８４】
配信元システムが、ブロックの受信障害の多い配信先システムをブロックの再送信の対象から除外することにより、受信障害の頻発する特定の配信先システムが原因となって他の正常な配信先システムへのデータ配信完了が遅延する弊害を防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態にかかるデータ配信システムのブロック図である。
【図２】配信元システムにおける配信処理の流れを示すフローチャートである。
【図３】配信元システムが保持する管理情報の例を示す図である。
【図４】配信先システムでのデータ受信、応答処理の流れを示すフローチャートである。
【図５】配信先システムが保持する管理情報の例を示す図である。
【図６】配信先システムから地上回線網経由で応答を受けた際の配信元システムの処理の流れを示すフローチャートである。
【図７】再送制御手段が通信制御手段からブロック番号の問い合わせがあったときに実行する処理例の一部を示すフローチャートである。
【図８】再送制御手段が通信制御手段からブロック番号の問い合わせがあったときに実行する処理例の残りの部分を示すフローチャートである。
【図９】配信元システムと配信先システム間の送受信シーケンス図である。
【図１０】本発明の別の実施の形態の構成例を示すブロック図である。
【符号の説明】
１…配信元システム
１１…入出力手段
１２…記憶装置
１３…衛星通信送信手段
１４…地上通信受信手段
１５…配信状況管理手段
１６…通信制御手段
１７…再送制御手段
２−１〜２−Ｎ…配信先システム
２１…衛星通信受信手段
２２…地上通信送信手段
２３…記憶装置
２４…通信制御手段
３…通信衛星
４…地上回線網
【図１】
0003546767.tif 000002
【図２】
0003546767.tif 000003
【図３】
0003546767.tif 000004
【図４】
0003546767.tif 000005
【図５】
0003546767.tif 000006
【図６】
0003546767.tif 000007
【図７】
0003546767.tif 000008
【図８】
0003546767.tif 000009
【図９】
0003546767.tif 000010
【図１０】
0003546767.tif 000011