(57)【特許請求の範囲】
【請求項１】
ＦＴＰプロトコルによりファイルを転送する際に、
ＴＣＰセッションの数Ｎを、ＴＣＰプロトコルのウインドウサイズＷ、ネットワークの往復遅延時間Ｄ及び回線速度Ｂに基づいて、Ｎ=１＋［（Ｂ×Ｄ）／（８×Ｗ）］の式により決定し（但し、［］は、ガウス記号である。）、
決定した前記数ＮでファイルをＮ個のデータに分割し、決定した前記数ＮのＴＣＰセッションを確立して、前記Ｎ個のデータを同時並列的に転送することを特徴とするファイル転送方法。
【請求項２】
ウインドウサイズが制限されているトランスポートプロトコル上のサービスを用いるファイル転送方法において、
ウインドウサイズＷ、ネットワークの往復遅延時間Ｄ及び回線速度Ｂに基づいて、必要な論理コネクションの数Ｎを、Ｎ=１＋［（Ｂ×Ｄ）／（８×Ｗ）］の式により決定すること（但し、［］は、ガウス記号である。）、
決定した前記数ＮでファイルをＮ個のデータに分割し、決定した前記数Ｎの論理コネクションを確立して、前記Ｎ個のデータを同時並列的に転送すること、を特徴とするファイル転送方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はウインドウサイズが制限されたＴＣＰなどのトランスポートプロトコルを用いたファイル転送方法に関し、高速ではあるが高遅延のネットワークにおいても、ウインドウサイズの制限に影響されることなく、効率的にデータ転送を行うことができるようにしたものである。
【０００２】
【従来の技術】
ファイル転送のための標準プロトコルとして、ＵＮＩＸを始めとした多くのコンピュータで使用されているＦＴＰ（File Transfer Protocol）が知られている。プロトコルとは通信規約である。
【０００３】
ＦＴＰプロトコルはＴＣＰ／ＩＰ（Transmisson Control Protocol/Internet Protocol）上のサービスを用いるファイル転送プロトコルであり、ファイル転送の際に１本のＴＣＰセッション（ＴＣＰプロトコルでの論理コネクション）を使用する。そのためファイル転送の性能はＴＣＰプロトコルの転送能力、特にスライディングウインドウのウインドウサイズの上限により制限されるところが多く、ネットワークがより高速且つ高遅延になりつつある現状では、ネットワークの回線速度に比べて期待した程のスループットが得られないという問題がある。以下、この点について順を追って説明する。
【０００４】
ＴＣＰ／ＩＰプロトコルは本来ＢＳＤ系のＵＮＩＸで採用されたものであるが、現在では、世界的規模のネットワークであるインターネット（Internet）を始めとして広く用いられているプロトコルスイートである。
【０００５】
そのうち、ＴＣＰプロトコルはＯＳＩ参照モデルの第４層（トランスポート層）に相当するコネクション型でバイトストリーム指向のトランスポートプロトコルであり、後述するように、再送付き肯定確認応答プロトコルの改良版である可変ウインドウサイズのスライディングウインドウプロトコルを用いて信頼性のある効率的なデータ転送サービスを提供している。また、ＩＰプロトコルはＯＳＩ参照モデルの第３層（ネットワーク層）に相当するネットワークプロトコルである。
【０００６】
なお、コネクション型とは事前に論理コネクションを確立した後にデータ転送を行う通信形態であり、コネクションレス型とは論理コネクションの確立を必要としないデータ転送の形態である。
【０００７】
次に、スライディングウインドウプロトコルの説明の前に、再送付き肯定確認応答プロトコルについて説明する。信頼性のあるデータ転送を保証する多くのプロトコルでは、１回毎のデータ転送量を固定しておき、データ送信者はデータ受信者に対してデータを受信する度に確認応答を送信することを要求し、確認応答を待って次のデータを送出する。しかし、このような単純な肯定確認応答プロトコルでは、送信者は固定サイズのデータ転送毎に必ず確認応答を待たなければならないので、非効率的である。
【０００８】
そこでＴＣＰプロトコルでは、図５に示すように、転送しようとするパケットシーケンス５１の中に可変サイズのウインドウ５２を設定し、最初はウインドウ５２内の全てのパケット１〜８を転送する。そして、一度送信者がウインドウ５２内の最初のパケット１に対する確認応答を受信すると、ウインドウ５２をスライドさせ、次のパケット９を送る。ウインドウ５２のサイズは転送しようとするパケットシーケンス５１のサイズに応じて可変であるが、ＴＣＰプロトコルでは上限を６４ＫＢ（キロバイト）に制限している。なお、前述の如くＴＣＰプロトコルはバイトストリーム指向であるため、実際には、パケット単位ではなくバイト単位でウインドウ５２がスライドする。
【０００９】
図６はスライディングウインドウプロトコルの動作概念を示し、ウインドウ内のパケット１〜８の送信に対し、受信側からそれぞれの確認応答５３が出されている。
【００１０】
このようなスライディングウインドウプロトコルを有するＴＣＰプロトコルを用いたＦＴＰプロトコルのアルゴリズムは図７に示され、その時のデータ転送の動作概念は図８に示される。
【００１１】
即ち、図７において、ファイル転送要求コマンドが入力されると（ステップＳ７１）、ＦＴＰプロトコルはデータ転送用に１本のＴＣＰセッションをＴＣＰプロトコルに確立させ（ステップＳ７２）、ファイルのデータを転送する（ステップＳ７３）。データ転送においては、図８に示すように、送信側はウインドウサイズ分だけのデータ８１をまず転送し、その確認応答８２を受信するまで次の転送を待つ。確認応答８２を受信したら次のデータ８３を転送し、またしても確認応答８４を受信するまで次の転送を待つ。このような操作がファイルの全データを転送し終るまで繰り返される。全てのデータ転送が完了したら、図７のステップＳ７４に示すように、ＦＴＰプロトコルがＴＣＰセッションを終了する。
【００１２】
図８から判るように、ウインドウサイズが可変なため単純な確認応答プロトコルよりも効率的であるが、可変ウインドウサイズのスライディングウインドウプロトコルを用いた場合でも、ファイルのサイズが大きい場合にはウインドウサイズの制限により何回かに分けてデータ転送が行われる。そのため、データ転送後から確認応答を受信するまでの間ｔ1 がネットワーク上の空き時間として累積し、ネットワークのスループットを低下させる。この空き時間ｔ1 はネットワークの往復遅延時間に左右され、高遅延なほど多くなる。また空き時間ｔ1 が全体に対して占める割合は、１回のデータ送出に要する時間ｔ2 が短いほど大きくなり、この時間ｔ2 はネットワークの回線速度が高速なほど短くなる。
【００１３】
一般にネットワークの最大実効スループットＥは、ウインドウサイズをＷ、ネットワークの往復遅延時間をＤとすると、次式（１）で与えられる。
【数１】
Ｅ＝Ｗ／Ｄ                          …式（１）
【００１４】
式（１）から判るように、伝送路上での遅延が大きくなる等、ネットワークの往復遅延時間が長くなると、最大実効スループットＥ以上に回線速度が高速なネットワークでは、回線速度と比べて期待した程のスループットが得られない。これは、これまでの説明から明らかなように、スライディングウインドウプロトコルにおけるウインドウサイズが不十分なため、確認応答を待つまでの空き時間がネットワークに生じるからである。
【００１５】
最近では、フレームリレーやＡＴＭ等の高速な通信技術が発達してきたこと、並びに、ネットワークが世界的規模に広がってきたことにより、ネットワークがより一層高速で且つ高遅延になりつつあるので、このようなネットワークでは、ＴＣＰプロトコルの性能、特に６４ＫＢというウインドウサイズの上限、によってＦＴＰプロトコルのデータ転送能力が制限される、という効率上の問題点が露見してきた。
【００１６】
この問題点の解決策として、従来、ＴＣＰプロトコルにおけるウインドウサイズの拡大が提案されている。
【００１７】
しかし、ウインドウサイズを６４ＫＢより大きくすることはＴＣＰプロトコル自体の拡張である。従って、ＴＣＰ／ＩＰプロトコルが既に機器のシステムの一部として組み込まれている場合が多いことを考慮すると、現在存在するＴＣＰ／ＩＰ製品にプロトコル自体の拡張となるウインドウサイズの拡大をそのまま適用することは困難である。
【００１８】
また、ウインドウサイズを拡大した場合、品質の悪いネットワークでは、ＴＣＰセグメントの再送によるオーバヘッドが大きくなるため、逆にスループットが低下する恐れがある。
【００１９】
従って、現状のファイル転送技術では、フレームリレーやＡＴＭの到来により高速化し、且つ、世界的規模への拡大により高遅延化したネットワークに十分対応することができず、効率的でない。
【００２０】
【発明が解決しようとする課題】
本発明の課題は、上記従来技術の問題点に鑑み、ウインドウサイズの制限に影響されることなく、高速且つ高遅延のネットワークでの効率的なファイル転送を行うことができる方法を提供することである。
【００２１】
【課題を解決するための手段】
上記課題を解決する本発明のファイル転送方法は、ＦＴＰプロトコルによりファイルを転送する際に、ＴＣＰセッションの数Ｎを、ＴＣＰプロトコルのウインドウサイズＷ、ネットワークの往復遅延時間Ｄ及び回線速度Ｂに基づいて、Ｎ=１＋［（Ｂ×Ｄ）／（８×Ｗ）］の式により決定し（但し、［］は、ガウス記号である。）、決定した数ＮでファイルをＮ個のデータに分割し、決定した数ＮのＴＣＰセッションを確立して、Ｎ個のデータを同時並列的に転送することを特徴とするものである。
【００２３】
更に本発明のファイル転送方法は、ウインドウサイズが制限されているトランスポートプロトコル上のサービスを用いるファイル転送方法において、ウインドウサイズＷ、ネットワークの往復遅延時間Ｄ及び回線速度Ｂに基づいて、必要な論理コネクションの数Ｎを、Ｎ=１＋［（Ｂ×Ｄ）／（８×Ｗ）］の式により決定すること（但し、［］は、ガウス記号である。）、決定した数ＮでファイルをＮ個のデータに分割し、決定した数Ｎの論理コネクションを確立して、Ｎ個のデータを同時並列的に転送すること、を特徴とするものである。
【００２４】
【作用】
ＦＴＰプロトコルは従来１本のＴＣＰセッションによりデータ転送を行っているが、ＴＣＰプロトコル自体は複数のＴＣＰセッションを確立することが可能である。
【００２５】
そこで、ファイルを複数に分割し複数のデータ転送用ＴＣＰセッションによりデータ転送を行うことにより、ＴＣＰプロトコル自体には何の改変を与えることなく、ウインドウサイズの不足により生じるネットワークの空き時間を有効に利用することができる。また、複数のＴＣＰセッションによりデータ転送を行うことにより、品質が良くないネットワークであっても、再送による帯域の浪費が少なくなる。
【００２６】
ファイルの分割数及びＴＣＰセッシッンの数は基本的には任意の固定した値でも良いが、小さすぎると効率向上の効果が少なく、大きすぎるとオーバヘッドが増えるので、ウインドウサイズとネットワークのパラメータとに基づき決定することが望ましい。即ち、ウインドウサイズが大きければ数を減らし、往復遅延時間が多いほど、あるいは回線速度が速いほど数を増せば良い。
【００２７】
上述したデータ転送効率向上の技術は、ＴＣＰプロトコル上のＦＴＰプロトコルに限らず、ウインドウサイズが制限されているトランスポートプロトコルを用いるファイル転送方法全にて拡張して適用することができる。
【００２８】
【実施例】
以下、図面を参照して本発明の一実施例として、ＴＣＰプロトコル上でのＦＴＰプロトコルによるファイル転送を説明する。図１には本発明の実施例のシステム構成が示され、図２には本発明の実施例のファイル転送アルゴリズムが示され、図３には２個のＴＣＰセッションを用いたＦＴＰデータ転送の動作概念が示され、図４には実験結果によるＴＣＰセッションの数と総合スループットとの関係が示されている。
【００２９】
図１において、送信側（または受信側）のシステム１１は、ＦＴＰ基本部１２及びユーザインタフェース１３に加えて、パラメータ収集モジュール１４と、ＴＣＰセッション数計算モジュール１５と、ファイル分割・統合モジュール１６を備えている。このようなシステム１１どうしがＴＣＰドライバ１７を介してネットワークで接続されている。また、システム１１にはデータを格納するための記憶装置（ディスク）１８が接続されている。
【００３０】
ここで、ＴＣＰドライバ１７は可変ウインドウサイズのスライディングウインドウプロトコルを含むＴＣＰプロトコルを実行するものであり、ＴＣＰセッションの確立、ウインドウサイズの設定、データ転送、確認応答の送受、ウインドウのスライド等を行う。
【００３１】
システム１１の各部１２〜１６について説明すると、ＦＴＰ基本部１２はＦＴＰプロトコルを実行する基本的機能に加えて、次のような各部を管理する機能を有する。
【００３２】
（１）ユーザインタフェース１３から“get"、“put"などのファイル転送要求のコマンドを受け取った時、パラメータ収集モジュール１４にパラメータ収集を指示する。
（２）ＴＣＰセッション数計算モジュール１５に必要とするＴＣＰセッション数の計算を指示する。
（３）ファイル分割・統合モジュール１６にファイルの分割または統合を指示する。
（４）ＴＣＰドライバ１７にファイル転送先を指示し、また必要とする数のＴＣＰセッションの確立を指示し、更にＴＣＰセッションの終了を指示する。
【００３３】
ユーザインタフェース１３はコマンドラインの入力の処理などを行う。
【００３４】
パラメータ収集モジュール１４はＴＣＰドライバ１７から、最大ウインドウサイズＷ（bytes:バイト）と、ネットワークの往復遅延時間Ｄ（sec:秒）及び回線速度Ｂ（bps:１秒当りのビット数）といったパラメータを収集又は測定する。ＴＣＰプロトコルではＷ＝６４ＫＢである。ＤとＢはファイル転送先までのネットワーク上のルートによって変わるが、これらはＴＣＰドライバ１７にとって既知であり、インターネット（Internet）の場合にはＩＣＭＰ（Internet Control Message Protocol)プロトコルなどによって求まる。
【００３５】
ＴＣＰセッション数計算モジュール１５は、パラメータ収集モジュール１４で得たパラメータＷ，Ｄ，Ｂを用いて、次式（２）または式（３）の計算により、必要とするデータ転送用のＴＣＰセッション数Ｎを決定する。
【００３６】
【数２】
0003711156.tif 000002
【００３７】
【数３】
0003711156.tif 000003
【００３８】
ここで、式（３）中の分子Ｂ×Ｄは確認応答を受信する前に転送可能なデータサイズ（ビット）であり、８×Ｗはウインドウサイズ（ビット）であるから、これらから必要なＴＣＰセッショッ数Ｎを決定することができる。なお、式（２）と式（３）は等価である。
【００３９】
ファイル分割・統合モジュール１６は、ＦＴＰ基本部１２で指定されたファイルを記憶装置１８から読み出し、これをモジュール１５が決定したＴＣＰセッション数Ｎで分割し、ＴＣＰドライバ１７に与える。
【００４０】
ＴＣＰドライバ１７は、ＦＴＰ基本部１２を通してＴＣＰセッシッ数Ｎが指定されると、Ｎ個のＴＣＰセッションを確立し、モジュール１６で分割されたＮ個のデータをそれぞれにＴＣＰセッションを対応づけしてネットワークに転送する。
【００４１】
システム１１が受信側になる場合は、ＦＴＰ基本部１２はＴＣＰドライブ１７からＴＣＰセッション数を受け取り、ファイル分割・統合モジュール１６に対し、ファイルの統合を指示する。この指示を受けて、同モジュール１６はＴＣＰドライブ１７から与えられる複数のＴＣＰセッションのデータを１つのファイルに統合し、記憶装置１８に格納する。
【００４２】
次に、図２、図３を参照してシステム全体の動作を説明する。
（１）ファイル転送要求コマンドを入力すると（図２のステップＳ２１）、まずウインドウサイズＷ，往復遅延時間Ｄ及び回線速度Ｂを収集（または測定）して、必要なデータ転送用ＴＣＰセッション数Ｎを決定する（ステップＳ２２，Ｓ２３）。
（２）次に、転送すべきファイルをＮ個のデータに分割し（ステップＳ２４）、更に、ＴＣＰセッションをデータ転送用にＮ個確立する（ステップＳ２５）。
（３）Ｎ個のＴＣＰセッションを用いて、Ｎ個のデータを時分割手法により同時並列的に転送する（ステップＳ２６）。図３にＮ＝２とした場合のデータ転送動作を概念的に示す。但し、図３の時分割手法は一例にすぎず、任意のもので良い。
（４）Ｎ個のデータを全て転送したら、Ｎ個全てのＴＣＰセッションを終了する（ステップＳ２７）。
（５）受信側では、Ｎ個のＴＣＰセッションにより転送されてきたＮ個のデータを統合し、１つのファイルにする（ステップＳ２８）。
【００４３】
本発明の有効性を確認するために、以下の実験を行った。その結果を図４に示す。
【００４４】
即ち、回線速度を１．５３６Ｍbps 、往復遅延時間を４０ms、２００ms、５００ms、１０００msとしたシリアル回線で接続したＬＡＮ（Local Area Network）間で、ＦＴＰプロトコルによるデータ転送を行う。そして、１つのファイルを１〜４分割し、それぞれ１〜４個のデータ転送用ＴＣＰセッションにより転送し、各ケースにおける総合スループットを測定した。図４より、ＴＣＰセッション数の増加により総合スループットが向上することが良く判る。特に、高遅延の場合に効果が顕著である。
【００４５】
【発明の効果】
本発明によれば、ＦＴＰのファイル転送において、ＴＣＰセッションの数Ｎを、ＴＣＰプロトコルのウインドウサイズＷ、ネットワークの往復遅延時間Ｄ及び回線速度Ｂに基づいて、Ｎ=１＋［（Ｂ×Ｄ）／（８×Ｗ）］の式により決定し（但し、［］は、ガウス記号である。）、決定した数ＮでファイルをＮ個のデータに分割し、決定した数ＮのＴＣＰセッションを確立して、Ｎ個のデータを同時並列的に転送するので、ＴＣＰセッション数を最適化できると共に、ＴＣＰプロトコル自体には何の改変を与えることなく、ウインドウサイズの不足により生じるネットワークの空き時間を有効に利用することができ、特にインターネットのような高速・高遅延のネットワークでの効率的なＦＴＰファイル転送ができる。また、複数のＴＣＰセッションによりデータ転送を行うことにより、品質が良くないネットワークであっても、再送による帯域の浪費が少なくなる。
【００４７】
更に、本発明によれば、ＴＣＰプロトコル上のＦＴＰファイル転送に限らず、ウインドウサイズが制限されているトランスポートプロトコルを用いる各種のファイル転送において、効率的なデータ転送を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施例に係るシステム構成を示す図。
【図２】本発明の一実施例に係るファイル転送アルゴリズムを示す図。
【図３】２個のＴＣＰセッションを用いたＦＴＰデータ転送の動作概念を示す図。
【図４】実験結果によるＴＣＰセッション数と総合スループットとの関係を示す図。
【図５】スライディングウインドウの概念を示す図。
【図６】スライディングウインドウプロトコルを用いた確認応答プロトコルを示す図。
【図７】従来のファイル転送アルゴリズムを示す図。
【図８】従来のＦＴＰデータ転送の動作概念を示す図。
【符号の説明】
１１  システム
１２  ＦＴＰ基本部
１３  ユーザインタフェース
１４  パラメータ収集モジュール
１５  ＴＣＰセッション数計算モジュール
１６  ファイル分割・統合モジュール
１７  ＴＣＰドライバ
１８  記憶装置
【図１】
0003711156.tif 000004
【図２】
0003711156.tif 000005
【図３】
0003711156.tif 000006
【図４】
0003711156.tif 000007
【図５】
0003711156.tif 000008
【図６】
0003711156.tif 000009
【図７】
0003711156.tif 000010
【図８】
0003711156.tif 000011