(57)【要約】【目的】情報を圧縮した状態で転送することができ、転送時間の短縮、ネットワークへの負荷の低減化を図ることができる情報転送装置を提供すること。【構成】ＦＴＰ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を用いて情報の転送を行う情報転送装置において、転送を行うデータの送信前の圧縮又は受信後の伸長、若しくはその両方ができるよう構成する。この場合、ファイルデータの転送に先立って、データの圧縮を行うか否かの調停を行うことが可能とする。又は、ファイルデータの転送に先立って、データの圧縮を行うか否か及びデータの圧縮のレベルの調停を行うことが可能とする。【選択図】      図１
2004280408.tif 000002
【特許請求の範囲】
【請求項１】
ＦＴＰ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を用いて情報の転送を行う装置であって、
転送を行うデータの送信前の圧縮又は受信後の伸長、若しくはその両方ができることを特徴とする情報転送装置。
【請求項２】
ファイルデータの転送に先立って、データの圧縮を行うか否かの調停を行うことが可能なことを特徴とする請求項１記載の情報転送装置。
【請求項３】
ファイルデータの転送に先立って、データの圧縮を行うか否か及びデータの圧縮のレベルの調停を行うことが可能なことを特徴とする請求項１記載の情報転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＡＮ、ＷＡＮ、インターネット等のネットワーク上でＦＴＰを用いてファイル等のデジタル情報を送受信する装置に関する。
【０００２】
【従来の技術】
従来、ネットワーク上の機器間での情報の受け渡しの方法として、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：  ＲＦＣ９５９）が広く用いられてきた。ＦＴＰでは複数の機器が共通のプロトコルに従って通信することで機器の種類を問わないファイルの相互転送が可能である。
【０００３】
ＦＴＰではファイルの送受信の要求を発行する側をクライアント、要求を受けてファイルを送信又は受信する側をサーバと呼ぶ。
【０００４】
ＦＴＰクライアントとしては、ＵＮＩＸやＭＳ−ＤＯＳ、ＭＳ−Ｗｉｎｄｏｗｓ  に付属している  ｆｔｐという文字ベースのインタフェース（ＣＵＩ）を持つプログラムや各種の専用のＦＴＰクライアントソフトウェアがある。又、ＷＷＷのブラウザもＦＴＰクライアントとしての機能を持っているものが多い。
【０００５】
ＦＴＰサーバとしては、ＵＮＩＸ上ではｆｔｐｄというプログラムが広く使用されている。ＦＴＰはクライアントが、ＲＦＣ９５９で定められたコマンドを文字列としてサーバへ送ることでファイルの転送を行う。
【０００６】
例えば、上記ｆｔｐクライアントプログラムの使用を考える。
【０００７】
ユーザがｆｔｐクライアントプログラムを起動し、キーボードから“ｇｅｔＡ”と入力すると、ｆｔｐはサーバに対して“ＲＥＴＲ  Ａ”という、ＦＴＰプロトコルで定められたコマンドを発行する。これを受信したサーバは、Ａという名前のファイルを読み出し、その内容をネットワークを介して送信する。この結果、サーバ上のＡというファイルがクライアント側に転送されて格納される。
【０００８】
又、ユーザが“ｐｕｔＢ”というコマンドを入力すると、クライアントはサーバに対して“ＳＴＯＲ”という、ＦＴＰプロトコルコマンドを発行し、その結果、クライアント側のＢというファイルがサーバに転送されて格納される。この様子を図２に示す。
【０００９】
ＲＦＣ９５９ではＲＥＴＲ、ＳＴＯＲといったファイル転送に関するコマンドの他にユーザの認証（ＵＳＥＲ、ＰＡＳＳ）や転送方法の制御（ＴＹＰＥ、ＭＯＤＥ他）等のための各種コマンドの使用方法とそれへの応答が定義されている。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記従来例では、指定されたファイルの内容（データ）をほぼそのままネットワーク上に流していた。このため、ネットワークのバンド幅が狭い場合やネットワークが混雑している場合にファイルの転送に時間が掛かり、又、ネットワークへの負荷が大きいという問題があった。
【００１１】
ＲＦＣ９５９では、転送のモードとして“ＣＯＭＰＲＥＳＳＥＤ  ＭＯＤＥ  ”を定義している。これは単に同一文字が連続するバイト列をその文字と長さの組として送るだけで、一般的に高い圧縮率は期待できない。又、通常は殆ど利用されることがない。
【００１２】
本発明は上記問題に鑑みてなされたもので、その目的ととする処は、情報を圧縮した状態で転送することができ、転送時間の短縮、ネットワークへの負荷の低減化を図ることができる情報転送装置を提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、ＦＴＰ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を用いて情報の転送を行う情報転送装置として、転送を行うデータの送信前の圧縮又は受信後の伸長、若しくはその両方ができるようにしたことを特徴とする。
【００１４】
請求項２記載の発明は、請求項１記載の発明において、ファイルデータの転送に先立って、データの圧縮を行うか否かの調停を行うことが可能なことを特徴とする。
【００１５】
請求項３記載の発明は、請求項１記載発明において、ファイルデータの転送に先立って、データの圧縮を行うか否か及びデータの圧縮のレベルの調停を行うことが可能なことを特徴とする。
【００１６】
【発明の実施の形態】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００１７】
＜実施の形態１＞
図１は本発明を実施するに好適なシステム構成の図面である。
【００１８】
図１において、１はＦＴＰクライアント、２はＦＴＰのサーバ、３はサーバとクライアントの間のネットワーク、１１，２１はネットワークインターフェース１２，２２はＣＰＵ、１３，２３はＲＡＭ、１４，２４はＲＯＭ、１５，２５ははディスク装置である。
【００１９】
図３は本発明の概念を示す図である。
【００２０】
本実施の形態では、ファイルの転送に先立ち、圧縮したデータでのファイル転送を行うか否かの調停を行う。
【００２１】
サーバとクライアントが圧縮したデータでのファイル転送に合意した場合以降の転送は本発明による「拡張圧縮転送モード」で行われる。
【００２２】
尚、既に述べたように、ここで言う「拡張圧縮転送モード」は、ＲＦＣ９５９で定義されている“ＣＯＭＰＲＥＳＳＥＤ  ＭＯＤＥ  ”とは独立である。ＲＦＣ９５９では転送モードとして“ＳＴＥＲＡＭ  ＭＯＤＥ  ”，  “ＢＬＯＣＫ  ＭＯＤＥ”，  “ＣＯＭＰＲＥＳＳＥＤ  ＭＯＤＥ  ”の３種を定義しているが“ＳＴＥＲＡＭ  ＭＯＤＥ  ”以外のモードは通常殆ど使用されていない。本発明では“ＳＴＥＲＡＭ  ＭＯＤＥ  ”を前提としている。
【００２３】
本実施の形態では、この調停をＲＦＣ９５９で定められている“”ＳＩＴＥ  ”コマンドを用いて実現する。
【００２４】
ＳＩＴＥコマンドはサーバのシステムの特有のサービスを提供するために使用することができるコマンドである。ここではこのＳＩＴＥコマンドを用いて“ＣＯＭＰ”という新たなコマンドを定義する（図４及び図５参照）。
【００２５】
クライアントは転送に先立ちサーバに対してＳＩＴＥコマンドを用いてＣＯＭＰという新しいコマンドを発行する（４１）。
【００２６】
サーバ側では、これに対して、圧縮したデータでのファイル転送を受け入れる場合は“ＯＫ”（５４）、受け入れない場合は“ＮＧ”の返答を返す（５５）。
【００２７】
具体的なクライアント要求のコマンドの書式は以下のようになる（図４）。尚、以下の説明でｃ：はクライアントの要求、ｓ：はサーバの応答を示す。
【００２８】
ｃ：ＳＩＴＥ  ＣＯＭＰ
これに対するサーバの応答は以下の２通りを定める。
【００２９】
ｓ：２００  ＣＯＭＰ  ＯＫ．
又は、
ｓ：５００  ＣＯＭＰ  ＮＧ．
サーバの応答の先頭にある“２００  ”又は“５００  ”等はＲＦＣ９５９で定めれらている応答コードである“２ｙｚ  ”は肯定的終了応答、“５ｙｚ  ”は否定的終了応答を表すコードである（詳しくはＲＦＣ９５９を参照のこと）。
【００３０】
又、本発明で定めるＣＯＭＰ  ＳＩＴＥ  コマンド、をサポートしない従来のＦＴＰサーバでは、例えば、
ｓ：５００  “ＳＩＴＥ  ＣＯＭＰ  ”：  ｃｏｍｍａｎｄ  ｎｏｔ  ｕｎｄｅｒｓｔｏｏｄ．
といったメッセージが返される。又、そもそもＳＩＴＥコマンドをサポートしないＦＴＰサーバからは、
ｓ：５０２  ＳＩＴＥ  ｃｏｍｍａｎｄ  ｎｏｔ  ｉｍｐｌｅｍｅｎｔｅｄ．
のようなメッセージが返される。
【００３１】
これらのような場合と、応答として“ＮＧ”が返された場合、データ圧縮を用いた転送は行われない。
【００３２】
サーバから“ＯＫ”の応答が返ると、以降のこのサーバとクライアントは「拡張圧縮転送モード」になる（４４及び５５）。
【００３３】
このセッションでの以降のファイル転送においては、ファイルを送信する側（ＲＥＴＲではサーバ、ＳＴＯＲではクライアント）  は、ファイルを転送する際にファイルの内容を指定されたファイルから読み出し、そのまま転送するのではなく、そのデータを圧縮して転送する。
【００３４】
ファイルデータの圧縮方法は可逆圧縮方式のものであれば任意のものを使用可能である。
【００３５】
受信側ではこれを伸長して指定されたファイルに書き込む。
【００３６】
拡張圧縮転送モードでは、圧縮／伸長を行うこと以外には転送自体は従来のＦＴＰの転送と特に変る点はない。
【００３７】
ファイルデータの圧縮は一旦ファイル全体を圧縮し、その結果を送っても良く、ファイルを先頭から読みながら順次圧縮し送信しても良い。
【００３８】
同様に伸長に関しても、圧縮されたデータを全て受信してから伸長を行っても良く、受信をしたデータを順次伸長しつつ、ファイルに書き込みを行っても構わない。更に、これらはサーバとクライアントで独立に設定可能である。
【００３９】
圧縮、伸長を行うのにはソフトウェアを用いても良く、ハードウェアを用いても良い。
【００４０】
拡張圧縮転送モードから通常のモードに復旧するためにはクライアントは以下のコマンドをサーバに送信する。
【００４１】
ｃ：ＳＩＴＥ  ＮＣＭＰ
サーバが拡張圧縮転送モードをサポートしている場合はこれに対して必ず
ｓ：２００  ＮＣＭＰ  ＯＫ．
の応答が返される。以降は通常のモードとなる。
【００４２】
サーバが拡張圧縮転送モードをサポートしていない場合はＣＯＭＰ  ＳＩＴＥ  コマンドの場合と同様に、
ｓ：  ５００“ＳＩＴＥ  ＣＯＭＰ  ”：ｃｏｍｍａｎｄ  ｎｏｔ  ｕｎｄｅｒｓｔｏｏｄ．
等のメッセージが返される。又、そもそもＳＩＴＥコマンドをサポートしないＦＴＰサーバからは、
ｓ：５０２  ＳＩＴＥ  ｃｏｍｍａｎｄ  ｎｏｔ  ｉｍｐｌｅｍｅｎｔｅｄ．
のようなメッセージが返されるのも同様である。これらの場合“”ＮＣＭＰ  ”コマンドは無視される。
【００４３】
以上により、本発明の本実施の形態を実装したサーバとクライアントの組では両者の調停に基づき、拡張圧縮転送モードでの転送を行うことが可能となる。どちらかが拒否をすることで、これを使用しないことも可能である。
【００４４】
又、本発明の本実施の形態を実装しない従来のＦＴＰサーバ又はクライアントとの通信においても、従来通りの方法で全く問題なくファイル転送が可能である。
【００４５】
＜実施の形態２＞
実施の形態１では、拡張圧縮モードをサポート指定しているか否かで、固定的に圧縮するか否かを決定したが、更に圧縮の度合い（レベル）を可変とすることを考える。
【００４６】
一般にデータ圧縮を行う際に、高い圧縮率を得ようとすると圧縮のための処理量が増え、延ては圧縮のための処理時間又はＣＰＵの負荷又はメモリ使用量等が増大する。一方、処理時間及びＣＰＵ負荷、メモリ使用量等を小さくしようとすれば低圧縮率の圧縮方式を使用することになり、本発明のファイル転送の場合は通信量が増大する。
【００４７】
これはトレードオフであり、サーバ及びクライアントが動作する機器の資源（ＣＰＵ速度、メモリ量他）とサーバとクライアントの間の通信媒体の速度（バンド幅）によってトータルの処理時間が異なる。又、処理時間が掛かってもネットワークへの負荷を低くしたい場合も考えられる。
【００４８】
圧縮を使用する／しないでも同様にトレードオフが存在する。このため、本実施の形態では、サーバとクライアント間で圧縮率に関する調停を可能にする機構を提供する。
【００４９】
実施の形態１と同じく調停にはＳＩＴＥ  ＦＴＰコマンドを使用する。
【００５０】
調停には、クライアント主導、サーバ主導、第三者による調停等が考えられる。
【００５１】
（１）クライアント主導
先ず、クライアント主導の調停について説明する。
【００５２】
この方式ではクライアントが拡張圧縮モードの調停時に圧縮率の提案を行う。クライアントは以下のような要求をサーバに対して行う（６１）。
【００５３】
ｃ：ＳＩＴＥ  ＣＯＭＰ  ｎ
ここで、ｎはクライアントの提案する圧縮のレベルである。レベルはサーバとクライアントの間で自由に取り決めを行えるが、本実施の形態では、例えば０〜９の間の整数値（０が最低の圧縮率に相当、９が最高の圧縮率に相当する）  とする。
【００５４】
サーバはこのコマンドを受け取ると、ｎの値が受け入れ可能かどうかを判定する。
【００５５】
ｎの値をクライアントがどのように決めるか、又、サーバがこれを受け入れるかどうかはクライアント及びサーバがＦＴＰの転送において何を重視するかによって変わる。これはサーバ及びクライアントのポリシーに関わる問題である。本実施の形態においては、ポリシーを実装するための機構（メカニズム）のみについて述べる。
【００５６】
クライアントはサーバからの応答を受け取る（６２）。上記クライアントの要求に対するサーバの応答には下の場合が考えられる。
【００５７】
ａ）クライアントの提案を受け入れる場合（７４）
ｓ：２１０  ＣＯＭＰ  ＯＫ  ｎ．
この場合サーバはユーが提案した圧縮レベルｎを受け入れ可能であることを示す。以降のファイルの転送はこの圧縮のレベルで行う（６４，７５）。又、サーバ、クライアント側は共に拡張圧縮転送モードになる（６６，７６）。
【００５８】
ｂ）クライアントの提案を受け入れない場合（７８）。
【００５９】
ｓ：４１０  ＣＯＭＰ  ＮＧ  ｎ．
この場合、サーバはユーザが提案した圧縮レベルｎを受け入れないことを示す。ファイル転送のモードは拡張圧縮転送になっていないので、クライアントは圧縮転送を行うには、ｎの値を変えて再提案を行う必要がある（６６，６７）。この再提案を行うかどうか、又、新しいｎの値の決定はクライアント側のポリシーによって決められる。
【００６０】
これ以外の、サーバが拡張圧縮転送モードをサポートしていない場合やＳＩＴＥコマンドを受け入れない場合の応答は実施の形態１と同じである。
【００６１】
（２）サーバ主導
この場合は圧縮率（圧縮レベル）の調停の主導権はサーバ側にある。
【００６２】
クライアントは転送に先立ってサーバに圧縮のレベルに関する質問を行う（８１）。
【００６３】
ｃ：ＳＩＴＥ  ＣＯＭＰ  ？
サーバはこれを受信した場合（９１，９２）、これに対してサーバは以下の応答を返す（９３）。
【００６４】
ｓ：２１０  ＣＯＭＰ  ｎ．
これはクライアントの質問に対し、圧縮レベルとしてｎを提案する。
【００６５】
サーバが圧縮を受け入れない場合の応答は実施の形態１と同様である。
【００６６】
これに対し、クライアントはこの圧縮レベルを受け入れる場合は以下のコマンドでこれを受け入れることを示す（８４，８５）。
【００６７】
ｃ：ＳＩＴＥ  ＣＯＭＰ  ＯＫ
サーバはこれを受信した場合、次の応答を返す（９５）（この応答は論理的には調停作業には不要であるが、ＦＴＰのプロトコルがクライアントの要求→サーバの応答の組で進むため必要である）。
【００６８】
ｓ：２１０  ＣＯＭＰ  ＯＫ．
クライアント及びサーバは圧縮レベルを設定し（８６，９６）、以降の転送は拡張圧縮モードになる（８７，９７）。
【００６９】
一方、クライアントがサーバからの提案を受け入れられない場合、一旦ＳＩＴＥ  ＣＯＭＰＮＧ  を送り、サーバからのリプライを受け取った後（８８）、再びＳＩＴＥ  ＣＯＭＰＮＧ  コマンドを送信し再調停を行う（８９）。
【００７０】
クライアントが調停をあきらめる場合は、
ｃ：ＳＩＴＥ  ＣＯＭＰ  ＮＧ
のコマンドを送り（８９）、サーバはこれに対し以下の応答を返す（９８）。
【００７１】
ｓ：２１０  ＣＯＭＰ  ＮＧ．
以降、通常の（圧縮を使用しない）転送を行うことになる。
【００７２】
以上により、本発明の本実施の形態を実装したサーバとクライアントの組では拡張圧縮転送モードにおける圧縮率の調停を行うことが可能となる。
【００７３】
本実施の形態の場合も、本実施の形態を実装しない従来のＦＴＰサーバ又はクライアントとの通信においても、従来通りの方法で全く問題なくファイル転送が可能である。
【００７４】
【発明の効果】
以上の説明で明らかなように、本発明によれば、情報処理装置間でのファイル転送において転送を行う装置間で調停を行うことにより、情報を圧縮した状態で転送することが可能になる。この結果、転送時間の短縮、ネットワークへの負荷の低減を図ることができるという効果が得られる。
【００７５】
又、圧縮のレベルを可変とすることでネットワークのバンド幅及び負荷、又、装置の速度、ＣＰＵ、メモリ等の負荷に応じた圧縮レベルを選択可能になる。これにより状況に応じた最適の圧縮率を選択することが可能となるという効果が得られる。
【図面の簡単な説明】
【図１】本発明を実施するに好適なシステム構成図である。
【図２】従来のＦＴＰにおける処理の流れをコマンドとデータのやり取りで示した図である。
【図３】本発明におけるファイル転送時のコマンドとデータのやり取りを示す図である。
【図４】本発明の実施の形態１におけるクライアント側の処理の流れ図である。
【図５】本発明の実施の形態１におけるサーバ側の処理の流れ図である。
【図６】本発明の実施の形態２におけるクライアント主導の調停のクライアント側の処理の流れ図である。
【図７】本発明の実施の形態２におけるクライアント主導の調停のサーバ側の処理の流れ図である。
【図８】本発明の実施の形態２におけるサーバ主導の調停のクライアント側の処理の流れ図である。
【図９】本発明の実施の形態２におけるサーバ主導の調停のサーバ側の処理の流れ図である。
【符号の説明】
１          ＦＴＰクライアント
２          ＦＴＰのサーバ、
３          サーバとクライアントの間のネットワーク
１１，２１  ネットワークインターフェース
１２，２２  ＣＰＵ
１３，２３  ＲＡＭ
１４，２４  ＲＯＭ
１５，２５  ディスク装置
【図１】
2004280408.tif 000003
【図２】
2004280408.tif 000004
【図３】
2004280408.tif 000005
【図４】
2004280408.tif 000006
【図５】
2004280408.tif 000007
【図６】
2004280408.tif 000008
【図７】
2004280408.tif 000009
【図８】
2004280408.tif 000010
【図９】
2004280408.tif 000011