(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介してクライアント端末にデータを転送するデータ転送システムであって、主サーバと、前記ネットワーク上の物理的に異なる地点に設置され前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わって前記クライアント端末にこのデータを転送する機能を有する複数のミラーサーバとを具え、ルーティング処理を行って前記主サーバと複数のミラーサーバの中から前記クライアント端末までの転送速度が最も早い実行サーバを選択してデータ転送を行うシステムにおいて、
前記選択された実行サーバが、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶する基準値記憶手段と、前記選択された実行サーバによるデータ転送速度を監視して、実際の転送速度が前記基準値が示す転送速度を下回ってきた場合に前記主サーバに再ルーティング処理を促す転送速度比較手段とを具え、
前記主サーバが、前記実行サーバの転送速度比較手段の出力に応じて、前記主サーバと複数のミラーサーバのうちその時点におけるクライアント端末までの転送速度の最も早いサーバを新たな実行サーバとして選択して、この新たに選択された実行サーバにて、これより以前に選択された実行サーバによって転送されなかった未転送データを前記クライアントに転送することを特徴とする経路選択型データ転送システム。
【請求項２】
請求項１に記載の経路選択型データ転送システムにおいて、前記ルーティング処理は、前記主サーバと前記複数のミラーサーバの各々から前記クライアント端末に対して所定の信号を配信してその応答時間を測定して比較し、最も応答時間が短いサーバを実行サーバとして選択して行うことを特徴とする経路選択型データ転送システム。
【請求項３】
請求項１または２に記載の経路選択型データ転送システムにおいて、前記実行サーバにおける転送速度を、当該実行サーバが前記クライアントに転送したデータの応答時間で測定することを特徴とする経路選択型データ転送システム。
【請求項４】
請求項１ないし３のいずれかに記載のデータ転送システムにおいて、前記主サーバと前記ミラーサーバとがそれぞれ相互通信機能を有し、実行サーバが新たに選択された場合に、現実行サーバはそれまでに転送が終了したデータ位置を示す情報を新たに選択された実行サーバへ直接通知することを特徴とする経路選択型データ転送システム。
【請求項５】
請求項４に記載の経路選択型データ転送システムにおいて、前記主サーバおよび前記ミラーサーバが、それぞれ、自身が転送したデータをレコード単位で計数する手段を有しており、現実行サーバはこの計数結果を転送が終了したデータ位置として新たに選択された実行サーバへ通知することを特徴とする経路選択型データ転送システム。
【請求項６】
主サーバと、前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わってこのデータを配信する機能を有する複数のミラーサーバとをネットワーク上の物理的に異なる地点に設置して、これらのサーバの中から、実行サーバを選択してクライアント端末にデータを転送するデータ転送において、
（１）前記主サーバおよび前記ミラーサーバの各々から前記クライアント端末に対して信号を送信してその応答時間を測定する工程と；
（２）前記主サーバが、前記工程（１）で測定した応答時間のうち最短の応答時間を示したサーバを実行サーバとして選択する工程と；
（３−１）前記工程（２）で選択された実行サーバが、前記データをクライアント端末に転送する工程と；
（３−２）  前記実行サーバが、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶する工程と；
（４）前記工程（３−１）における実行サーバのデータ転送速度を監視して、実際の転送速度が前記基準値が示す転送速度を下回ってきたかを判断する工程と；
（５）工程（４）における比較結果が前記実行サーバのデータ転送速度が前記基準値が示す転送速度を下回ってきたことを示す場合に、再び前記工程（１）および（２）を行って前記主サーバおよび前記ミラーサーバの中からその時点でクライアント端末までの転送速度が最も早い実行サーバを選択して、この新たに選択したサーバにて前記工程（３）にて転送できなかった残りのデータを転送する工程と；
を具えることを特徴とするデータ転送における経路選択方法。
【請求項７】
請求項６に記載の経路選択方法において、転送すべき全データの転送が終了するまで、前記工程（３−１）ないし（５）を繰り返して実行する（ただし、２回目以降の実行サーバは工程（５）で選択した新たなサーバとする）ことを特徴とするデータ転送における経路選択方法。
【請求項８】
請求項６または７に記載の経路選択方法において、工程（１）における信号が、パケット、ＰＩＮＧコマンド、あるいはＴＲＡＣＥＲＴコマンドであることを特徴とするデータ転送における経路選択方法。
【請求項９】
請求項６ないし８のいずれかに記載の経路選択方法において、前記工程（４）における判断を、前記データを構成するレコードを転送する毎、あるいは所定の数のレコードを転送する毎、あるいは所定の時間間隔毎に行うことを特徴とするデータ転送における経路選択方法。
【請求項１０】
請求項６ないし９のいずれかに記載の経路選択方法において、前記基準値は転送開始時の転送応答時間または転送中に転送速度が上昇したらその応答時間であり、前記工程（４）における判断を、前記工程（３）においてクライアントに転送したデータの応答時間を前記基準値と比較して行うことを特徴とするデータ転送における経路選択方法。
【請求項１１】
請求項６ないし９のいずれかに記載の経路選択方法において、前記基準値は転送開始時の転送応答時間または転送中に転送速度が上昇したらその応答時間であり、前記工程（４）における判断を、測定した所定回数のクライアントからの応答時間がいずれも前記基準値より大きい場合に、実際の転送速度が前記基準値が示す転送速度を下回ってきたと判断することを特徴とするデータ転送における経路選択方法。
【請求項１２】
請求項６ないし９のいずれかに記載のデータ転送方法において、前記基準値は転送開始時の転送応答時間または転送中に転送速度が上昇したらその応答時間であり、前記工程（４）における判断を、測定した所定回数のクライアントからの応答時間の平均値を求め、この平均値が前記基準値より大きい場合に、実際の転送速度が前記基準値が示す転送速度を下回ってきたと判断することを特徴とするデータ転送における経路選択方法。
【請求項１３】
請求項１に記載の主サーバで動作するプログラムであって、
（１）前記クライアント端末からデータ転送要求を受けた場合に各ミラーサーバに前記クライアント端末への転送速度を問い合わせるとともに主サーバから前記クライアント端末への転送速度を測定するステップと、
（２）前記主サーバと複数のミラーサーバのうち前記クライアント端末への転送速度が最も早いサーバを転送実行サーバとして選択するステップと、
（３）前記ステップ（２）において前記主サーバを実行サーバとして選択した場合に、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶するとともに、実際のデータ転送速度を測定して前記基準値が示す速度と比較するステップと、
（４）実際の転送速度が前記基準値が示す速度を下回ってきた場合に、再び前記ステップ（１）および（２）を行って前記主サーバおよび前記ミラーサーバの中からその時点でクライアント端末までの転送速度が最も早い実行サーバを選択するステップと、
を前記主サーバに実行させることを特徴とするプログラム。
【請求項１４】
請求項１に記載のミラーサーバで動作するプログラムであって、前記主サーバから問い合わせを受けた場合に前記クライアント端末への転送速度を測定し前記主サーバに返答するステップと、前記主サーバから実行サーバとして選択された場合に、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶するステップと、実際のデータ転送速度を測定して前記基準値が示す速度と比較するステップと、ここで測定した転送速度が前記基準値が示す速度を下回ってきた場合に前記主サーバへその旨通知するステップと、を前記ミラーサーバに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ転送システムに関するものであり、特にネットワークにおけるデータ転送経路を動的に変更可能として効率よくデータを転送するようにした経路選択型データ転送システムに関する。
【０００２】
【従来の技術】
例えば、ウェブサーバで公開しているホームページを閲覧ソフトを利用してクライアントの端末に表示したり、あるいは、このようなホームページに掲載されているファイルをクライアントがダウンロードするような場合、クライアントは通常、ネットワーク上の配信サービスサーバにリクエストを出し、このリクエストを受けた配信サービスサーバがウェブサーバにアクセスして必要なファイルをダウンロードしてクライアントに転送する。
【０００３】
このファイル転送を、クライアントとサービスサーバの関係を１対１にして行うと、ファイル転送が完了するか、クライアントが転送処理をキャンセルするまでは、その転送経路を変更することができなくなり、人気が高いサイトでファイル転送のアクセス数が多いような場合に、サーバの負荷や、回線負荷が大きくなる。このため、ファイルを配信する配信サーバは、通常、ミラーサーバと呼ぶサーバを複数箇所に設置しておき、このミラーサーバの中からクライアントに最も早くデータを転送できるサーバを選択して、そのサーバ（実行サーバ）を介してデータを転送するようにしている。
【０００４】
しかしながら、このような従来のデータ転送方法では、転送を開始する前に転送経路が一義的に決まってしまう。すなわち、ミラーサーバを複数箇所に設けていても、転送開始前に使用するミラーサーバを決定した時点でファイル転送経路が決まるため、転送途中にその経路に何らかの不具合が生じた場合に、転送に時間がかかることがある。この問題は、企業間ネットワーク、ケーブルＴＶ、ＡＤＳＬ契約者等の高速回線ネットワークに対して、通常の低速回線を使用するクライアントが、サイズの大きいファイルの転送を依頼する場合などに特に著しい。
【０００５】
【発明が解決しようとする課題】
本発明は、この問題を解決すべくなされたものであり、データ転送経路を動的に変更できるようにすると共に、ミラーサーバ間で同期を取ってデータ転送を行うことにより、転送効率を向上させた経路選択型データ転送システムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明の経路選択型データ転送システムは、ネットワークを介してクライアントにデータを転送するデータ転送システムであって、主サーバと、前記ネットワーク上の物理的に異なる地点に設置され前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わって前記クライアントにこのデータを転送する機能を有する複数のミラーサーバとを具え、ルーティング処理を行って前記主サーバと複数のミラーサーバの中から適宜実行サーバを選択してデータ転送を行うデータ転送システムにおいて、
前記選択された実行サーバによるデータ転送速度を測定して当該測定した転送速度と所定の転送速度を比較する転送速度比較手段を具え、この転送速度比較手段の出力に応じて再度ルーティング処理を行って前記主サーバあるいは前記複数のミラーサーバから再度実行サーバを選択して、この再度選択された実行サーバにて、これより以前に選択された実行サーバによって転送されなかった未転送データを前記クライアントに転送することを特徴とする。
【０００７】
このように、本発明のシステムによれば、実行サーバのデータ転送速度に応じて、実行サーバを動的に変更することができ、また、新たに選択された実行サーバでは、以前に選択された実行サーバで転送されなかった未転送データをクライアントに転送するため、実行サーバになんらかの障害が生じたような場合に、適宜サーバを変更して転送を引き継いで、スムーズにデータ転送を行うことができる。
【０００８】
なお、前記ルーティング処理は、前記主サーバと前記複数のミラーサーバの各々から前記クライアントに対して所定の信号を配信してその応答時間を測定して比較し、最も応答時間が速いサーバを実行サーバとして選択して行うのが好ましい。
【０００９】
また、実行サーバにおける転送速度を、当該実行サーバが前記クライアントに転送したデータの応答速度で測定するようにした。
【００１０】
さらに、本発明のシステムでは、前記主サーバと前記ミラーサーバとがそれぞれ相互通信機能を有し、実行サーバが新たに選択された場合に、現実行サーバはそれまでに転送が終了したデータ位置を示す情報を新たに選択された実行サーバへ直接通知しうるようにするとともに、主サーバおよびミラーサーバが、それぞれ、自身が転送したデータをレコード単位で計数する手段を有しており、現実行サーバはこの計数結果を転送が終了したデータ位置として新たに選択された実行サーバへ通知するようにした。
【００１１】
このように構成することによって、現実行サーバでのデータ転送情報を次に選択された実行サーバに直接送り、各サーバ間で同期を取ってデータ転送が行われるため、効率よくデータを転送することができる。
【００１２】
本願第２発明は、データ転送を行う際の経路転送方法に関するものであり、  主サーバと、前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わってこのデータを配信する機能を有する複数のミラーサーバとをネットワーク上の物理的に異なる地点に設置して、これらのサーバの中から、実行サーバを選択してクライアントにデータを転送するデータ転送において、
（１）前記主サーバおよび前記ミラーサーバの各々から前記クライアントに対して信号を送信してその応答時間を測定する工程と；
（２）前記工程（１）で測定した応答時間のうち最短の応答時間を示したサーバを実行サーバとして選択する工程と；
（３）前記工程（２）で選択した実行サーバにて前記データをクライアントに転送する工程と；
（４）前記工程（３）における実行サーバのデータ転送速度を測定して、これを所定の基準転送速度と比較する工程と；
（５）工程（４）における比較結果が前記実行サーバのデータ転送速度が所定の基準転送速度より遅いことを示す場合に、前記主サーバおよび前記ミラーサーバの中から新たに転送実行サーバを選択して、この新たに選択したサーバにて前記工程（３）にて転送できなかった残りのデータを転送する工程と；
を具えることを特徴とする。
【００１３】
このような方法によれば、データ転送を実行中のサーバに障害が生じた場合に、速やかに実行サーバを変更して残りのデータを転送することが可能となり、より迅速にクライアントにデータを配信して、サーバの混雑を回避することができる。
【００１４】
なお、工程（５）における転送実行サーバの選択は、前記工程（１）および（２）を再度実行して行うのが好ましい。
【００１５】
また、転送すべき全データの転送が終了するまで、前記工程（３）ないし（５）を繰り返して実行し、（ただし、工程（３）の転送実行サーバは工程（５）で選択した新たなサーバとする）て、実行サーバにおける障害の発生に対応すれば、実行サーバに何度障害が生じてもそれに対応することができる。
【００１６】
前記工程（４）における測定は、データを構成するレコードを転送する毎、あるいは所定の数のレコードを転送する毎、あるいは所定の時間間隔毎に行うことができる。
【００１７】
また、前記工程（５）における転送実行サーバのデータ転送速度が所定の基準転送速度より遅いか否かの判断は、工程（４）において測定したクライアントからの応答時間を基準転送時間と比較して、これが前記基準転送時間より遅い場合にデータ転送時間が遅いとする、あるいは前記工程（４）において測定した複数回のクライアントからの応答時間がいずれも前記基準転送時間より遅い場合に、データ転送時間が基準転送時間より遅いとする、あるいは前記工程（４）において測定した複数回のクライアントからの応答時間の平均値を求め、この平均値が前記基準転送時間より遅い場合に、前記データ転送時間が基準転送時間より遅いと判断することができる。
【００１８】
なお、本明細書で、「ミラーサーバ」とは、あるファイルサーバがダウンロード可能なファイルを持ち、ダウンロードサービスを提供する場合に、アクセスが集中するサーバの負荷を分散させることを目的として設置した、前記ファイルサーバと同一の内容を持つ他のサーバをいい、「転送経路」とは、ネットワーク上でデータを送受信する際に、クライアントとサーバ間のデータ転送のための伝送路をいい、「ルーティング」とは、ネットワーク上にある機器により、データを送信するために当該機器に接続されている複数の転送経路中から最適な転送経路を選択する動作をいい、「通信ソフト」とは、クライアントがネットワーク上でウェブサーバで公開されているホームページ等の情報を見る際に使用するブラウザ等のソフトウエア、あるいはファイル転送の目的に使用するソフトウエアを意味する。
【００１９】
【発明の実施の形態】
以下に、図面を参照して本発明のデータ転送システムおよび当該システムにおける転送経路選択方法について詳細に説明する。
図１は、本発明のデータ転送システムの全体の構成を示す図である。図１に示すように、クライアント１０、配送サーバ３０、ウェブサーバ４０は、インターネット２０に接続されている。クライアント１０はウェブサーバ４０が配信しているファイル（データ）の入手を希望しており、ブラウザ等の通信ソフトを使用して、ウェブサーバ４０のＵＲＬ（Uniform Resource Locators）を指定してネットワーク２０上の配信サーバ３０を介してファイルの取り込みを試みている。
【００２０】
クライアントが指定したＵＲＬは、ＤＮＳ（Domain Name Server）（図示せず）によってＩＰアドレスに変換され、通信ソフトはこのＩＰアドレスをデータに付加して、パケットとして配信サーバ３０に送信する。これを受けた配信サーバ３０は、クライアント１０が指定するウェブサイト４０にアクセスして必要なファイルをダウンロードしてクライアント１０に転送する。
【００２１】
配信サーバ３０は、このファイル転送処理を司る主サーバ３０−１と、ネットワーク２０上の物理的に異なる地点に設置された複数台のミラーサーバ３０−２〜３０−ｎで構成されている。各ミラーサーバ３０−２〜３０−ｎは、本サーバ３０ａから提供されるデータを複製、蓄積し、本サーバ３０ａに代わってこのデータをクライアント１０に配信する機能を有する。また、主サーバ３０−１とミラーサーバ３０−２〜３０−ｎは、各々が相互に通信する機能を有する。
【００２２】
配信サーバ３０は、ルーティング機能を備えており、本サーバ３０−１とミラーサーバ３０−２〜３０−ｎの中から最速でデータ転送を行うことのできるサーバを選択して転送を実行する。すなわち、本サーバ３０−１はクライアントのリクエストを受けてウェブサーバ４０からファイルをダウンロードすると共に、各ミラーサーバ３０−２〜３０−ｎに対してクライアント１０にパケットを発信してその応答時間を測定し、本サーバ３０−１に報告するように指示を出す。なお、本サーバ３０−１自身でも同様にパケットを発信して自身の応答時間を測定する。本サーバ３０−１は、各サーバ（本サーバ自身を含む）の応答時間を比較して最速のミラーサーバ（あるいは本サーバ自身）を選択して、クライアント１０にファイル転送を行うようにそのサーバに指示する。なお、各サーバは、自身で転送したファイルを構成するレコード数をカウントする機能を有しており、実行サーバとして選択されたら、自身が転送したレコード数をカウントする。
【００２３】
また、各ミラーサーバ（本サーバ３０−１を含む）は、実行サーバとしてファイル転送を行う場合、転送したデータの応答時間を測定して、この測定した応答時間を所定の基準値と比較する機能を具えており、この応答時間が基準値より遅くなった場合に、その旨を本サーバ３０−１に通知する。本サーバ３０−１は、転送を実行しているミラーサーバからこの通知を受けるか、あるいは自身が実行サーバである場合は、自身が測定したデータの応答時間が基準値より遅くなった場合に、上記ルーティング処理を再度行って、新たに実行サーバを選択し、元の実行サーバに新しく選択した実行サーバのアドレスを通知する（自身が実行サーバである場合は、この通知は不要である）。
【００２４】
このアドレスの通知を受けた現実行サーバは、自身でカウントした転送済みのレコード数を新たに選択された実行サーバに通知して、通知を受けた新実行サーバでは、このカウント値の次のレコードから転送を開始して、転送処理を引き継ぐ。
【００２５】
新たに選択された実行サーバでも、同様に転送データの応答時間を測定して基準値と比較し、この応答時間が基準値を下回った場合は、上記のルーティング処理を繰り返して再度実行サーバを選択して、転送処理を引き継ぐようにする。
【００２６】
次いで、本発明のシステムの動作をフローチャートに基づいて説明する。
図２は、配信サーバ３０におけるルーティング処理を説明するためのフローチャート、図３は実行サーバを変更する場合のデータ転送引継処理を説明するためのフローチャートである。以下、順次説明する。
【００２７】
クライアント１０は入手を希望するファイル名を指定して本サーバ３０−１に対して転送要求を送る（ステップＳ１）。これを受けて本サーバ３０−１は、必要なファイルをウェブサーバ４０ダウンロードして、ミラーサーバ３０−２〜３０−ｎにこれを送り、一方、各ミラーサーバ３０−２〜３０−ｎに対してクライアント１０のＩＰアドレスを通知して、クライアント１０からの応答時間を測定するよう指示を出す（ステップＳ２）。なおクライアント１０のＩＰアドレスは、クライアント１０からのファイル転送要求によって知ることができる。
【００２８】
各ミラーサーバ３０−２〜３０−ｎは、パケットをクライアント１０に送信して応答を要求し（ステップＳ３）、クライアント１０からの応答時間を測定して（ステップＳ４、Ｓ５）これを本サーバ３０−１に報告する（ステップＳ８）。なお、本サーバ３０−１自身もパケットを送信して自身のクライアント１０からの応答時間を測定する。
【００２９】
なお、本例では、パケットを送信して応答時間を測定するようにしているが、このほか、ＰＩＮＧコマンド、ＴＲＡＣＥＲＴコマンド等を用いて応答時間を測定するようにしても良い。
【００３０】
本サーバ３０−１では、各ミラーサーバ３０−２〜３０−ｎから報告されてきた応答時間および自身の応答時間を比較して（ステップＳ９）、各ミラーサーバおよび自身の中から最も応答時間の短いサーバを選択して（ステップＳ１０、本例では、ミラーサーバ３０−３）実行サーバとして、このサーバ３０−３にファイル名を指定してデータ転送を指示する（ステップＳ１１）。
【００３１】
選択されたミラーサーバ３０−３は、クライアント１０に対してファイル転送を開始するが（ステップＳ１２）、ここで、ファイルを構成するレコード毎にクライアント１０からの応答時間を測定し、所定の基準時間と比較して、応答時間が基準時間より遅い場合は、他のミラーサーバあるいは本サーバへ転送処理を引き継ぐようにする。なお、応答時間に遅延が認められなかった場合は、その実行サーバ（３０−３）にてそのままファイル転送を継続し、完遂させる。
【００３２】
図３は、実行サーバ３０−３でファイル転送に遅延が生じて、他のサーバに転送処理を引き継ぐ場合の動作を示すフローチャートである。
上述したとおり、実行サーバであるミラーサーバ３０−３にてデータ転送を行うと共に、転送するレコード毎にクライアントに応答を要求して（ステップＳ２０）、その応答時間を測定する（ステップＳ２１、Ｓ２２）。ここで、応答時間が所定の基準値より長い場合に（ステップＳ２３、ＹＥＳ）、ミラーサーバ３０−３はその旨を本サーバ３０−１へ通知する（ステップＳ２６）。この通知を受けた本サーバ３０−１は、再度ルーティング処理を行い（ステップＳ２７）、最適サーバを再び選択する（ステップＳ２８、ここではミラーサーバ３０−２を選択）。このルーティング処理は、図２に示すステップＳ２〜Ｓ９を繰り返して行う。
【００３３】
本サーバ３０−１は、ここで新たに実行サーバとして選択したミラーサーバ３０−２のアドレスを元の実行サーバであるミラーサーバ３０−３に通知して引継処理を行うよう指示する（ステップＳ２８、Ｓ２９）。
【００３４】
この指示を受けてミラーサーバ３０−３は新たに選択されたミラーサーバ３０−２に対して、クライアントのＩＰアドレスと、転送を行うファイル名と、自身がカウントした転送済みのレコード数を通知し（ステップＳ２９）、新たに選択された実行サーバ３０−２は、元のサーバ３０−３から通知を受けた次のレコード位置からクライアント１０にファイル転送を開始する（ステップＳ３０）。
【００３５】
このように構成することによって、クライアント１０は、最も早い転送経路でファイルをダウンロードすることが可能となる。なお、ファイル転送を引き継いだミラーサーバ３０−２に、更に障害が生じて転送速度が遅くなった場合は、上記ステップＳ２０以降の動作を繰り返して、その都度最適なサーバを見つけて転送を引き継いでゆく。当然のことながら、本サーバ３０−１も、最適サーバの選択候補の一つである。本サーバ３０−１が実行サーバとして選択された場合は、転送速度の遅れを判断して、自身で代替のミラーサーバを選択して転送を引き継ぐようにする。
【００３６】
なお、転送ファイルは、レコードの集まりとしてとらえることができるので、各サーバは、昇順でファイル転送を実行し、自身が転送したレコードの数をカウントすることによって、転送ファイルのどこまでを転送したかを把握することができる。従って、転送途中で他のサーバに引き継ぎを行う場合は、転送を中止した時点におけるレコードの数を次に選択されたサーバに通知すればよい。新たに選択されたサーバでは、通知されたレコード数＋１のレコード位置から転送を開始する。なお、全サーバがその順序を認識している限り、あるいは転送を引き継ぐ際にその順序も通知するようにすれば、転送は降順で、あるいはその他の順序で行ってもよい。
【００３７】
実行サーバにおけるファイル転送速度の遅延は、以下の通り判断する。
実行サーバは、クライアントへ最初に転送したレコードの応答時間をＴｍｉｎとして記録しておき、順次、レコードを転送してその応答時間を測定して、これをＴｍｉｎと比較し、測定した応答時間がＴｍｉｎより小さければＴｍｉｎを更新してゆく。測定した応答時間が、Ｔｍｉｎより大きいときは、その時点から連続して数回の応答時間を測定し、これらの測定結果すべてがＴｍｉｎより大きい場合に遅延が生じたと判断する。なお、この測定回数は任意に設定することができる。
【００３８】
転送速度の遅延の判断は、上述の方法に限るものではなく、例えば、数回の測定結果の平均値を計算して、この平均値がＴｍｉｎより大きい場合いに遅延が生じたと判断するようにしても良い。また、一回でも応答時間がＴｍｉｎより小さければ、遅延が生じたと判断しても良い。さらに、上述の例では、レコードを送信する毎に応答時間を測定するようにしているが、所定数のレコードを送信する毎、あるいは所定の時間毎に応答を求めるようにしても良い。
【００３９】
【発明の効果】
上述したとおり、本発明のデータ転送システムによれば、転送経路を動的に変更することができるため、一旦選択したサーバに障害が生じたような場合でも、適宜経路を変更してデータを転送することによって、効率よく、最速ルートでデータ転送を実行することができる。
【図面の簡単な説明】
【図１】図１は、本発明のデータ転送システムの全体の構成を示す図である。
【図２】図２は、本発明のデータ転送システムにおけるルーティング処理動作を説明するためのフローチャートである。
【図３】図３は、本発明のデータ転送システムにおける転送引継処理動作を説明するための図である。
【符号の説明】
１０    クライアント
２０    インターネット
３０    配信サーバ
３０−１    主サーバ
３０−２〜３０−ｎ    ミラーサーバ
４０    ウェブサーバ
【図１】
0003646126.tif 000002
【図２】
0003646126.tif 000003
【図３】
0003646126.tif 000004