(57)【要約】【目的】ファイルの転送に要する時間を短縮し、ネットワークの負荷を軽減することができる情報転送装置を提供すること。【構成】ＦＴＰ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を用いて情報の転送を行う情報転送装置として、転送を行うデータの送信前の圧縮又は受信後の伸長若しくはその両方ができるようにする。具体的には、ファイルデータの転送に先立って、データの圧縮を行うか否かの調停を行うことが可能とする。又は、ファイルデータの転送に先立って、データの圧縮を行うか否か及びデータの圧縮のレベルの調停を行うことが可能賭する。或は、ファイルデータの転送に先立って、データの圧縮を行うか否かの調停を自動的に行うことが可能とする。【選択図】      図１
2004280407.tif 000002
【特許請求の範囲】
【請求項１】
ＦＴＰ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を用いて情報の転送を行う装置であって、転送を行うデータの送信前の圧縮又は受信後の伸長若しくはその両方ができることを特徴とする情報転送装置。
【請求項２】
ファイルデータの転送に先立って、データの圧縮を行うか否かの調停を行うことが可能なことを特徴とする請求項１記載の情報転送装置。
【請求項３】
ファイルデータの転送に先立って、データの圧縮を行うか否か及びデータの圧縮のレベルの調停を行うことが可能なことを特徴とする請求項１記載の情報転送装置。
【請求項４】
ファイルデータの転送に先立って、データの圧縮を行うか否かの調停を自動的に行うことが可能なことを特徴とする請求項２記載の情報転送装置。
【請求項５】
ファイルデータの転送に先立って、データの圧縮を行うか否か及びデータの圧縮のレベルの調停を自動的に行うことが可能なことを特徴とする請求項３記載の情報転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＡＮ、ＷＡＮ、インターネット等のネットワーク上でファイル等のデジタル情報を送受信する装置に関する。
【０００２】
【従来の技術】
従来、ネットワーク上の機器間での情報の受け渡しの方法として、ファイルの転送を行うことが広く行われている。
【０００３】
このための手段としてインターネット及びＬＡＮ上ではＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｒｏｃｏｌ：ＲＦＣ９５９）  が広く用いられてきた。ＦＴＰでは複数の機器が共通のプロトコルに従って通信することで機器の種類を問わないファイルの相互転送が可能である。
【０００４】
ＦＴＰではファイルの送受信の要求を発行する側をクライアント、要求を受けてファイルを受信又は送信する側をサーバと呼ぶ。
【０００５】
ＦＴＰクライアントソフトウェアとしてはＵＮＩＸやＭＳ−ＤＯＳ、ＭＳ−Ｗｉｎｄｏｗｓに付属しているｆｔｐという文字ベースのプログラムや各種の専用のＦＴＰクライアントソフトウェアがある。又、ＷＷＷのブラウザもＦＴＰクライアントとしての機能を持っているものが多い。
【０００６】
ＦＴＰサーバソフトウェアとしてはＵＮＩＸ上ではｆｔｐｄというプログラムが広く使用されている。
【０００７】
ＦＴＰはクライアントがＲＦＣ９５９で定められたコマンドを文字列としてサーバへ送ることでファイルの転送を行う。
【０００８】
例えば、上記ｆｔｐクライアントプログラムの使用を考える。
【０００９】
ユーザがｆｔｐクライアントプログラムを起動し、キーボードから“ｇｅｔＡ”と入力すると、ｆｔｐはサーバに対して“ＲＥＴＲ  Ａ”というＦＴＰプロトコルで定められたコマンドを発行する。これを受信したサーバは、Ａという名前のファイルを読み出し、その内容をネットワークを介して送信する。クライアントは、これを受信してＡという名前でファイルに格納する。この結果、サーバ上のＡというファイルがクライアント側に転送され、格納される。
【００１０】
又、ユーザが“ｐｕｔ  Ｂ”というコマンドを入力すると、クライアントはサーバに対して“ＳＴＯＲ”というＦＴＰプロトコルコマンドを発行し、続いてＡという名前のファイルを読み出し、その内容をサーバに送信する。サーバは、これを受信してＡという名前でファイルに格納する。その結果、クライアント側のＢというファイルがサーバに転送され、格納される。
【００１１】
この様子を図２に示す。
【００１２】
ＲＦＣ９５９ではＲＥＴＲ，  ＳＴＯＲといったファイル転送に関するコマンドの他にユーザの認証（ＵＳＥＲ，  ＰＡＳＳ）や、転送方法の制御（ＴＹＰＥ，ＭＯＤＥ他）  等のための各種コマンドの使用方法とそれへの応答が定義されている。
【００１３】
このＲＦＣで定義されているＳＩＴＥコマンドを用いて従来のＦＴＰの枠組みを変えること無く、ファイル転送前にファイルデータの圧縮を行い、受信後に伸長をおこなう転送方法を発明した。
【００１４】
これにより、サーバ、クライアント双方がこの方式にのっとっている場合、双方が合意すれば、実際に転送するデータの量を削減することができる。
【００１５】
【発明が解決しようとする課題】
しかし、ＦＴＰのサーバとクライアント間で圧縮を行う（又は行わない）という調停を行う機構（メカニズム）を提供するのみで、実際に合意の形成を行うには人手による介入又はプログラムによるポリシーの実装が必要であった。
【００１６】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、ファイルの転送に要する時間を短縮し、ネットワークの負荷を軽減することができる情報転送装置を提供することにある。
【００１７】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ＦＴＰ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を用いて情報の転送を行う情報転送装置として、転送を行うデータの送信前の圧縮又は受信後の伸長若しくはその両方ができるようにしたことを特徴とする。
【００１８】
本発明によれば、ファイル転送における転送方法の調停手段と、転送するファイルのデータを圧縮する手段と、圧縮されたファイルのデータを伸長する手段と、ネットワークの速度を見積もる手段と、ホスト（  コンピュータ）  の処理能力を見積もる手段と、ファイル転送時に圧縮を行うかどうかの判定手段、又はファイル転送時の圧縮率を決定する手段、を設けることで、るファイルデータを送信時に圧縮して転送し、受信側で伸長を行う際に、圧縮を行うかどうか、又圧縮を行う際の圧縮率を自動的に決定できるようにするものである。
【００１９】
【発明の実施の形態】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００２０】
＜実施の形態１＞
図１は本発明の実施の形態１を示し、本発明を実施するに好適なシステムの図面である。
【００２１】
図１において、１はＦＴＰクライアント、２はＦＴＰのサーバ、３はサーバとクライアントの間のネットワーク、１１，２１はネットワークインターフェース、１２，２２はＣＰＵ、１３，２３はＲＡＭ、１４，２４はＲＯＭ、１５，２５はディスク装置である。
【００２２】
図３は本発明の実現に用いるシステムの概念を示す図である。
【００２３】
本実施の形態では、サーバとクライアントの間のネットワークの速度に応じてファイル転送を圧縮したデータで行うか否かの調停の自動化を行う。
【００２４】
本実施の形態でのクライアント側の動作を図４に示す。
【００２５】
クライアントはＦＴＰでのファイル転送に先立って、先ずサーバとの間のネットワークの速度の見積もりを行う。これは例えばＴＣＰ／ＩＰで定められているＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ  ）のＥＣＨＯ＿ＲＥＱＵＥＳＴパケットを用いて一定サイズのパケットを送り、その応答のパケットが戻るまでの時間を計測することで実現できる。
【００２６】
これはＵＮＩＸやＷｉｎｄｏｗｓ  等のシステムではコマンドｐｉｎｇとして既に実装されている。
【００２７】
計測された応答時間をｔ（秒）とする（４１）。次に、この値と閾値Ｔとを比較する（４２）。そして、ｔ＞Ｔならば、サーバとクライアント間のネットワーク速度が低速であると判断し、「拡張圧縮モード」での転送を要求する（４４〜）。
【００２８】
Ｔの値は予めユーザが指定しておく。又は計測を行い決定することも可能である。ｔ＞Ｔ  Ｔでないならば、通常のＦＴＰと同じ圧縮を行わない転送を行う。
【００２９】
以上により、サーバとクライアントの組ではＦＴＰでの転送の際に圧縮したデータでの転送の使用をサーバとクライアントの間のネットワークの速度時応じて自動的に調停することが可能となる。
【００３０】
これによりネットワークの速度が予め決められた値より遅い場合にのみ、拡張圧縮転送モードでの転送を行うことで、ファイルの転送に掛かる時間を短縮することが可能となる。
【００３１】
更に、ネットワークの速度が十分に速い場合は、通常の転送を行うことで、ファイルの圧縮、伸長に掛かる時間を無くすことができる。又、サーバ及びクライアントの負荷を軽減することができる。
【００３２】
ネットワークの速度の見積もりにはここで説明した計測を行う方式の他に、ホスト又はドメイン等の相手先の区分ごとに予め登録を行っておくことで、この情報に基づいて計測を行わずに見積もることも可能である。この場合、ネットワークの負荷に応じた動的な決定はできなくなるが、クライアントにとっては異なるサーバやドメインごとにそことの間のネットワークの速度よって処理を変更することは可能である。
【００３３】
＜実施の形態２＞
実施の形態１では、ネットワークの速度を見積もり、この値によって圧縮するか否かを決定した。
【００３４】
一般にデータ圧縮を行う際に、高い圧縮率を得ようとすると圧縮のための処理量が増え、延ては圧縮のための処理時間又はＣＰＵ負荷又はメモリ使用量等が増大する。
【００３５】
一方、処理時間及びＣＰＵ負荷、メモリ使用量等を小さくしようとすれば低圧縮率の圧縮方式を使用することになり、本発明のファイル転送の場合は通信量が増大する。これはトレードオフであり、サーバ及びクライアントが動作する機器の資源（ＣＰＵ速度、メモリ量他）とサーバとクライアントの間の通信媒体の速度（バンド幅）によってトータルの処理時間が異なる。又、処理時間が掛かってもネットワークへの負荷を低くしたい場合も考えられる。
【００３６】
本実施の形態では、ネットワークの速度に応じて圧縮率を決定することを考える。
【００３７】
決定した圧縮率をもって、調停機構を用いて圧縮率の調停を行う。圧縮率の決定は、実施の形態１と同様にネットワークの速度を元に行う。
【００３８】
圧縮率の表現には０〜９の間の整数値（０が最低の圧縮率に相当、９が最高の圧縮率に相当する）を使用する。
【００３９】
図５に本実施の形態のクライアント側の処理の流れを示す。
【００４０】
５１でネットワークの速度見積もるのは実施の形態１と同様である。
【００４１】
圧縮率ｎ（ｎ：０，１，２，…，９）を実施の形態１でのネットワークの速度見積もり結果の値、ｔの関数として以下のように表すことを考える。
【００４２】
ｎ＝ｆ（ｔ）
この関数に従ってｎの値を決定する（５２）。
【００４３】
ｆ（ｔ）の値を０とすることで圧縮を行わない転送も実現可能である。
【００４４】
本実施の形態では、例えば図６のような表を用いることで、関数ｆ（ｔ）を実現し、圧縮率の決定を行う（図中でＴ０＜Ｔ１＜…Ｔ８＜Ｔ９）。
【００４５】
即ち、実施の形態１と同様の方法で計測した時間ｔを、表中の左列のＴｉ（ｉ＝０，１，…，９）と比較してｔ＜＝Ｔｉを満足する最小のｉを圧縮率とする。これによりｔの値が大きい程、つまりネットワークが遅いほど、圧縮率を自動的に高くしてファイルの転送を行うことができる。
【００４６】
又、これを数式で実現することも可能である。この場合表を保持する必要は無くなり、本発明の処理に掛かる記憶装置の必要量を減らすことができる。
【００４７】
例えばｆ（ｔ）を適当な係数ａ（ａ＞０）をもって
ｆ（ｔ）＝ｉｐ（ａ＊ｔ）
但し、ａ＊ｔ＞＝９のときはｆ（ｔ）＝９とすると定義することで計算により圧縮率を求めることもできる（ｉｐ（ｘ）はｘの整数部）。
【００４８】
こうして決めた値をもって、調停を行い圧縮率ｎで圧縮をしたファイルの転送を行う。
【００４９】
以上により、本発明の本実施の形態を実装したサーバとクライアントの組では拡張圧縮転送モードにおける圧縮率の自動調停を行うことが可能となる。
【００５０】
＜実施の形態３＞
実施の形態１，２では、圧縮を行うか否かの、又は圧縮率の決定にネットワークの速度の見積もり値を用いた。
【００５１】
本実施の形態では、これに代えてホストの処理能力を用いてこの決定を行うことを考える。
【００５２】
ホストの処理能力を見積もるために、ＲＦＣ９５９のＳＩＴＥコマンドの拡張を考える。
【００５３】
ＳＩＴＥコマンドはサーバのシステムの特有のサービスを提供するために使用することができるコマンドである。ここではＳＩＴＥコマンドを用いて“ＳＰＥＣ”という新たなコマンドを定義する（図７及び図８）。
【００５４】
クライアントは転送に先立ちサーバに対してＳＩＴＥコマンドを用いてＳＰＥＣという新しいコマンドを発行する（７１）。
【００５５】
具体的なクライアント要求のコマンドの書式は以下のようになる。尚、以下の説明でｃ：はクライアントの要求、ｓ：はサーバの応答を示す。
【００５６】
ｃ：  ＳＩＴＥ  ＳＰＥＣ
サーバはクライアントからの要求を受信し（８１）、これが本実施の形態で定義するＳＰＥＣコマンドでなければ通常の動作を行う（８２，８７）。
【００５７】
サーバの応答は以下の２通りを定める（８６，８８）。
【００５８】
ｓ：  ２００  ＳＰＥＣ  ＯＫ  ｘ．
又は、
ｓ：  ５００  ＳＰＥＣ  ＮＧ．
前者の場合、サーバはクライアントから送られた、ＳＰＥＣ  ＳＩＴＥ  コマンドを理解し、その応答として、サーバ自らの処理能力をｘであるとクライアントに応答している（８６）。
【００５９】
後者は何らかの理由でＳＰＥＣコマンドに応答できない場合である。
【００６０】
サーバの応答の先頭にある“２００  ”又は“５００  ”はＲＦＣ９５９で定めれらている応答コードである“”２ｙｚ”は肯定的終了応答、“５ｙｚ  ”は否定的終了応答を表すコードである（詳しくはＣ９５９を参照のこと）。
【００６１】
又、本発明で定めるＳＰＥＣ  ＳＩＴＥ  コマンドをサポートしない従来のＦＴＰ  サーバでは、
ｓ：  ５００  ’ＳＩＴＥ  ＳＰＥＣ’：  ｃｏｍｍａｎｄ  ｎｏｔ  ｕｎｄｅｒｓｔｏｏｄ．
等のメッセージが返される。又、そもそもＳＩＴＥコマンドをサポートしないＦＴＰ  サーバからは、
ｓ：  ５０２  ＳＩＴＥ  ｃｏｍｍａｎｄ  ｎｏｔ  ｉｍｐｌｅｍｅｎｔｅｄ．
のようなメッセージが返される。
【００６２】
これら２つの場合と応答として“ＮＧ”が返された場合、ホストの処理能力を用いた圧縮転送の自動調停は行われない。
【００６３】
ｘの値は標準化しておく必要がある。これは例えば「内容と大きさの決められている特定のファイルを圧縮するのに掛かる時間の逆数」として定義できる（つまりｘの値が大きい程、処理能力は高い）。
【００６４】
サーバはクライアントからの要求があったとき、又は或る間隔で定期的にこの処理を行いこれに掛かった時間を計測する（８４）。
【００６５】
クライアントから“ＳＩＴＥ  ＳＰＥＣ  ”コマンドがあったときはこの値を応答として返す（８５）。
【００６６】
サーバは予めこの値を保持しておいても良い。この場合はサーバの能力は静的に定義され、負荷の変動等の要因による処理能力に応じて圧縮率を変化させることはできなくなる。しかし、クライアントにとっては異なるサーバごとの処理能力の違いに応じて圧縮率を変化させることはできる。
【００６７】
又、処理能力の指標を、定義はそのままに別の要因でもって計測し、それを変換して上記処理能力とすることもできる。例えば、メモリ使用量、ＣＰＵ使用率、ＯＳ内のタスクの町行列の長さ、或はこれらの組み合わせによる。これにより計測時間を短縮することができる。
【００６８】
クライアントはサーバからの応答を受信し（７２）、これがＯＫならばサーバが返した値をｔとする（７４）。
【００６９】
こうして求められた値ｔによって、本発明の実施の形態１のアルゴリズムを用いて圧縮の有無の自動的な調停を行うことができる。但し、閾値Ｔは適切な値に設定する必要がある。
【００７０】
又、実施の形態２の圧縮率の自動調停にも同様に適応可能である。この場合は図５の表の「ネットワーク遅延時間」は「サーバの処理能力」で置き換えて考え、その値Ｔ０〜Ｔ９も適切に設定する必要がある。
【００７１】
更に、実施の形態１，２のネットワークの速度による場合と、本実施の形態のホストの処理能力に夜場合を組み合わせることも可能である。
【００７２】
実施の形態１のネットワークの速度をｔ１、本実施の形態のホストの処理能力をｔ２とし、適当な正の係数ｂ，ｃをもって実施の形態１の４２の評価式ｔ＜Ｔを、
ｂ・ｔ１＋ｃ・ｔ２＜Ｔ
又は、実施の形態２の５２のｎ＝ｆ（ｔ）を
ｎ＝ｆ（ｂ・ｔ１＋ｃ・ｔ２）
とすれば良い。
【００７３】
これによりネットワークの速度とホストの処理能力双方を加味した圧縮の有無又は圧縮率の決定が可能となる。
【００７４】
【発明の効果】
以上説明したように、本発明によれば、圧縮を用いてファイル転送を行えるサーバとクライアントの間でファイル転送において、ネットワークの速度又は負荷に応じて自動的に圧縮の有無又は圧縮率を決定することににより、ファイルの転送に要する時間を短縮し、ネットワークの負荷を軽減することができるという効果が得られる。
【００７５】
又、圧縮の有無又は圧縮率の決定をネットワークの速度ではなくホストの処理能力に応じて行うことでファイルの転送に要する時間を短縮し、ホストに掛かる負荷を軽減することができる。
【００７６】
更に、これを組み合わせることで最適な圧縮の有無及び圧縮率の自動判断を行うことも可能である。
【図面の簡単な説明】
【図１】本発明のを実施するに好適なシステムを示す図である。
【図２】従来のＦＴＰにおける処理の流れをコマンドとデータのやり取りで示す図である。
【図３】本発明の前提とするデータ転送時のコマンドとデータのやり取りを示す図である。
【図４】本発明の実施の形態１におけるクライアント側の処理の流れを示す図である。
【図５】本発明の実施の形態２における圧縮率の決定のためのテーブルである。
【図６】本発明の実施の形態２におけるクライアント側の処理の流れを示す図である。
【図７】本発明の実施の形態３におけるクライアント側の処理の流れ（一部）を示す図である。
【図８】本発明の実施の形態３におけるサーバ側の処理の流れ（一部）を示す図である。
【符号の説明】
１          ＦＴＰクライアント
２          ＦＴＰのサーバ
３          サーバとクライアントの間のネットワーク
１１，２１  ネットワークインターフェース
１２，２２  ＣＰＵ
１３，２３  ＲＡＭ
１４，２４  ＲＯＭ
１５，２５  ディスク装置
【図１】
2004280407.tif 000003
【図２】
2004280407.tif 000004
【図３】
2004280407.tif 000005
【図４】
2004280407.tif 000006
【図５】
2004280407.tif 000007
【図６】
2004280407.tif 000008
【図７】
2004280407.tif 000009
【図８】
2004280407.tif 000010