(57)【要約】【課題】ＣＰＵやネットワークの使用状況が変動しても最適なスループットを得る。【解決手段】ファイルを構成する複数のデータをネットワークを介して順次送信する送信工程と、送信工程において送信される各データを圧縮する圧縮工程と、圧縮されて送信された各データの圧縮結果及び送信結果に関する圧縮・送信情報に基づいて、圧縮しなかった場合の送信に要する送信処理時間を推定し、当該推定された処理時間と実際の圧縮及び送信に要した総処理時間とを比較することにより圧縮行程における圧縮処理を継続するか否かを判定する圧縮判定工程と、を有し、判定によって圧縮処理が停止されてから第１の所定時間が経過したときに圧縮処理が開始し、圧縮処理が開始されてから又は圧縮処理を継続すると判定されてから第２の所定時間が経過するまでの圧縮期間が経過したときに、少なくとも当該圧縮期間中に得られた圧縮・送信情報に基づいて判定する。【選択図】図７
2010224996.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを構成する複数のデータをネットワークを介して順次送信する送信工程と、
前記送信工程において送信される各前記データを圧縮する圧縮工程と、
前記圧縮工程において圧縮されて前記送信工程において送信された各前記データの圧縮結果及び送信結果に関する圧縮・送信情報に基づいて、圧縮しなかった場合の送信に要する送信処理時間を推定し、当該推定された処理時間と実際の圧縮及び送信に要した総処理時間とを比較することにより前記圧縮行程における圧縮処理を継続するか否かを判定する圧縮判定工程と、
を有し、
前記圧縮判定工程における判定によって前記圧縮処理が停止されてから第１の所定時間が経過したときに前記圧縮処理が開始し、
前記圧縮判定工程は、前記圧縮処理が開始されてから又は前記圧縮処理を継続すると判定されてから第２の所定時間が経過するまでの圧縮期間が経過したときに、少なくとも当該圧縮期間中に得られた前記圧縮・送信情報に基づいて前記圧縮処理を継続するか否かを判定することを特徴とするファイル送信方法。
【請求項２】
請求項１に記載のファイル送信方法において、
前記圧縮判定工程は、直近の所定数の前記圧縮期間それぞれの推定された前記送信処理時間と実際の前記総処理時間との比較結果に基づいて前記圧縮処理を継続するか否かを判定し、現時点に近い前記圧縮期間であるほど、前記判定に対する前記比較結果の影響の重み付けを重くしたことを特徴とするファイル送信方法。
【請求項３】
ファイルを構成する複数のデータをネットワークを介して順次送信する送信手段と、
前記送信手段により送信される各前記データを圧縮する圧縮手段と、
前記圧縮手段により圧縮されて前記送信手段により送信された各前記データの圧縮結果及び送信結果に関する圧縮・送信情報に基づいて、圧縮しなかった場合の送信に要する送信処理時間を推定し、当該推定された処理時間と実際の圧縮及び送信に要した総処理時間とを比較することにより前記圧縮手段による圧縮処理を継続するか否かを判定する圧縮判定手段と、
を備え、
前記圧縮手段は、前記圧縮判定手段による判定によって前記圧縮処理が停止されてから第１の所定時間が経過したときに前記圧縮処理を開始させ、
前記圧縮判定手段は、前記圧縮処理が開始されてから又は前記圧縮処理を継続すると判定されてから第２の所定時間が経過するまでの圧縮期間が経過したときに、少なくとも当該圧縮期間中に得られた前記圧縮・送信情報に基づいて前記圧縮処理を継続するか否かを判定することを特徴とするファイル送信装置。
【請求項４】
コンピュータを、
請求項３に記載のファイル送信装置として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルを圧縮しつつネットワークを介して送信するファイル送信方法、ファイル送信装置及びコンピュータプログラムの技術分野に関する。
【背景技術】
【０００２】
従来のファイル転送システムでは、ファイル転送時に転送ファイルを圧縮することにより、ファイルサイズを小さくし、転送のスループットを向上しようとする転送方法が取られる場合があった。ただし、転送するファイルの内容や種類等によっては、圧縮を施したとしても、ファイルサイズの大幅な減少が見込めず、十分なスループットの向上が求められないばかりか、圧縮処理によりスループットの低下を招く場合もあった。同様に、高速なネットワークでは、圧縮処理時間が、圧縮によるファイルサイズの削減分に相当する転送処理時間の短縮幅を上回る場合もあり、この場合、圧縮処理を施さない方が良いスループットを得られる。
【０００３】
本課題に対する従来の解決案の一つとして、ファイル種別により圧縮が有効か否かを判定し、有効な場合にのみ圧縮処理を行う方法がある。また、特定のファイルに対して圧縮条件・履歴を管理し、その管理情報をもとに、圧縮処理が有効か否かを判断する方法もある。しかしながら、いずれの方法においても、ＣＰＵ負荷とネットワークの使用状況によって圧縮処理と転送処理が変動することが考慮されておらず、最適なスループットを得られるという保証はない。
【０００４】
また、特許文献１には、サーバが、プログラム圧縮時間、圧縮後のサイズ、通信速度等の情報に基づいて、サーバ側で副プログラムを実行した場合の処理時間と、副プログラムを転送することによりクライアント側で副プログラムを実行した場合の処理時間との比較を行うことにより、副プログラムの実行をサーバ側で行うかクライアント側で行うかを判定する発明が開示されている。
【０００５】
また、特許文献２には、データ種別毎に実施した圧縮手順を圧縮履歴情報として用いて圧縮手順を選択する発明が開示されている。具体的には、制御装置が、ユーザファイルのデータ種別と一致するデータ種別の圧縮手順の圧縮履歴情報を使用して、転送処理時間帯が一致する平均転送速度から転送処理時間を予測するとともに、圧縮処理時間帯が一致する平均転送速度から圧縮処理時間を予測する。そして、処理時間が最小となる圧縮手順を、圧縮しないで処理する場合も含めて選択する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２９３７４３号公報
【特許文献２】特開平０９−２２３０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の発明は、副プログラムの処理時間を最適にするものであり、ファイル転送そのものを最適にするものではない。つまり、特許文献１に記載のは、クライアントにファイルを転送するかしないかの２者選択であり、また、サーバからクライアントにファイルを転送する場合には、必ず圧縮が行われる。
【０００８】
また、特許文献２に記載の発明は、経験的に最適な圧縮手順を選択することを特徴とするものであるが（当該文献の段落０００７を参照）、これによって課題を解決するためには、同じ時間帯に同じ圧縮手順を使用した場合は、ファイルの圧縮時間及び転送時間は同等となるという前提が必要である。ところが、現実には、同じ時間帯にファイルを圧縮転送しようとしても、その時々によってネットワークの使用状況は異なる。また、ファイルサイズも固定的ではなく、ファイルの内容も同等ではない。更には、計算機の使用状況もその時々によって異なる。従って、上記の前提は必ずしも満たされるものではなく、この前提が崩れれば、特許文献２に記載の発明では最適なスループットが望めない。
【０００９】
そこで、本発明は以上の点に鑑みてなされたものであり、ＣＰＵのやネットワークの使用状況が変動しても最適なスループットを得られるファイル送信方法、ファイル送信装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のファイル送信方法は、ファイルを構成する複数のデータをネットワークを介して順次送信する送信工程と、前記送信工程において送信される各前記データを圧縮する圧縮工程と、前記圧縮工程において圧縮されて前記送信工程において送信された各前記データの圧縮結果及び送信結果に関する圧縮・送信情報に基づいて、圧縮しなかった場合の送信に要する送信処理時間を推定し、当該推定された処理時間と実際の圧縮及び送信に要した総処理時間とを比較することにより前記圧縮行程における圧縮処理を継続するか否かを判定する圧縮判定工程と、を有し、前記圧縮判定工程における判定によって前記圧縮処理が停止されてから第１の所定時間が経過したときに前記圧縮処理が開始し、前記圧縮判定工程は、前記圧縮処理が開始されてから又は前記圧縮処理を継続すると判定されてから第２の所定時間が経過するまでの圧縮期間が経過したときに、少なくとも当該圧縮期間中に得られた前記圧縮・送信情報に基づいて前記圧縮処理を継続するか否かを判定することを特徴とする。
【００１１】
本発明のファイル送信装置は、ファイルを構成する複数のデータをネットワークを介して順次送信する送信手段と、前記送信手段により送信される各前記データを圧縮する圧縮手段と、前記圧縮手段により圧縮されて前記送信手段により送信された各前記データの圧縮結果及び送信結果に関する圧縮・送信情報に基づいて、圧縮しなかった場合の送信に要する送信処理時間を推定し、当該推定された処理時間と実際の圧縮及び送信に要した総処理時間とを比較することにより前記圧縮手段による圧縮処理を継続するか否かを判定する圧縮判定手段と、を備え、前記圧縮手段は、前記圧縮判定手段による判定によって前記圧縮処理が停止されてから第１の所定時間が経過したときに前記圧縮処理を開始させ、前記圧縮判定手段は、前記圧縮処理が開始されてから又は前記圧縮処理を継続すると判定されてから第２の所定時間が経過するまでの圧縮期間が経過したときに、少なくとも当該圧縮期間中に得られた前記圧縮・送信情報に基づいて前記圧縮処理を継続するか否かを判定することを特徴とする。
【００１２】
本発明のコンピュータプログラムは、コンピュータを、前記ファイル送信装置として機能させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、少なくとも直前の圧縮期間中の圧縮結果及び送信結果に基づいて圧縮送信するか否かが判定されるので、最新のＣＰＵやネットワークの使用状況によって圧縮処理時間と送信処理時間が変動することを考慮したファイル送信が可能となり、これにより最適なスループットを得ることができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る通信システムＳの概要構成例を示す図である。
【図２】本実施形態に係るデータ圧縮部１２により実行される処理の一例を示すフローチャートである。
【図３】本実施形態に係るデータ圧縮判定部１４により実行される処理の一例を示すフローチャートである。
【図４】（ａ）は、判定履歴表に設定される内容の一例を示す図であり、（ｂ）は、判定結果重み付け表に設定される内容の一例を示す図である。
【図５】本実施形態に係るタイマー監視部１５により実行される処理の一例を示すフローチャートである。
【図６】タイマー表に設定される内容の一例を示す図である。
【図７】本実施形態に係るファイル転送部１３及びファイル転送部２３により実行される処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ファイル転送システムに対して本発明を適用した場合の実施形態である。
【００１６】
始めに、図１を参照して、本実施形態に係る通信システムＳの構成について説明する。
【００１７】
図１は、本実施形態に係る通信システムＳの概要構成例を示す図である。
【００１８】
図１に示すように、通信システムＳは、ファイル転送システム１、ファイル転送システム２、及びネットワーク３を備え、ファイル転送システム１とファイル転送システム２とは、ネットワーク３を介して互いに通信可能である。
【００１９】
ファイル転送システム１とファイル転送システム２とはファイルを送受信可能とされている。ファイル転送システム１からは転送ファイル１１１がネットワークを介して送信され、ファイル転送システム２により受信される。一方、ファイル転送システム２からは転送ファイル２１１がネットワークを介して送信され、ファイル転送システム１により受信される。
【００２０】
ファイル転送システム１は、転送対象となる転送ファイル１１１を格納するディスク装置１１、ファイル転送部１３により設定されたタイマーを監視してタイムアウトをファイル転送部１３に通知するタイマ監視部１５、及び複数の送受信部１６を備えている。
【００２１】
各送受信部１６は、それぞれ一つの転送ファイル１１１に対応しており、複数の送受信部１６により複数の転送ファイル１１１を同時に転送することができるようになっている。そして、送受信部１６は、例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備えるマイクロコンピュータ等から構成され、ＣＰＵが、ＲＯＭやディスク装置１１に記憶されたコンピュータプログラムを読み出し実行することによって、転送ファイル１１１のレコードを圧縮するデータ圧縮部１２、転送ファイル１１１をレコード単位で送信するファイル転送部１３、及びレコードに対して圧縮処理を行うか否かを判定するデータ圧縮判定部１４として機能する。このコンピュータプログラムは、例えば、ＤＶＤ−ＲＯＭ等の記録媒体に記録されて提供されても良いし、ネットワーク３を介して所定のサーバ装置からダウンロードされても良い。
【００２２】
なお、例えば、ファイル転送システム１自体が１台の装置で構成されていても良いし、各部それぞれが別個の装置として構成されても良い。
【００２３】
ファイル転送システム２は、ディスク装置２１、タイマー監視部２５、及び複数の送受信部２６を備えている。また、送受信部２６は、データ圧縮部２２、ファイル転送部２３、データ圧縮判定部２４を備えている。
【００２４】
次に、通信システムＳにおける動作について、図２乃至図７を用いて説明する。なお、ファイル転送システム２の構成、機能及び処理内容は、ファイル転送システム１と同様であるので、以下においては、主としてファイル転送システム１について説明する。
【００２５】
図２は、本実施形態に係るデータ圧縮部１２により実行される処理の一例を示すフローチャートである。
【００２６】
図２に示すように、データ圧縮部１２は、ファイル転送部１３からレコード及び当該レコードのレコードサイズを受け取ると、受け取ったレコードの圧縮処理を行う（ステップＳ１１）。そして、データ圧縮部１２は、圧縮したレコードと圧縮処理時間をファイル転送部１３に引き渡して処理を終了させる。
【００２７】
図３は、本実施形態に係るデータ圧縮判定部１４により実行される処理の一例を示すフローチャートである。
【００２８】
データ圧縮判定部１４は、データ圧縮部１２がレコードを圧縮してファイル転送部１３が送信したときのレコードの送信処理時間、圧縮処理時間、圧縮前のレコードサイズ、及び圧縮後のレコードサイズの４値の情報に基づいて、レコードに対して圧縮処理を行うか否かを判定する。
【００２９】
図３に示すように、データ圧縮判定部１４は、ファイル転送部１３から、送信したレコードの送信処理時間Ｔｔ、圧縮処理時間Ｔｃ、圧縮前のレコードサイズＳ１及び圧縮後のレコードサイズＳ２を受け取る。そして、データ圧縮判定部１４は、先ず、判定値Ｄを０に設定する（ステップＳ２１）。
【００３０】
次いで、データ圧縮判定部１４は、判定処理ループを開始させる（ステップＳ２２）。この判定処理ループにおいて、データ圧縮判定部１４は、レコードを圧縮した場合の総処理時間Ａを以下の式１により算出する（ステップＳ２３）。
【００３１】
Ａ＝Ｔｔ＋Ｔｃ  ・・・  式１
次いで、データ圧縮判定部１４は、レコードを圧縮しない場合の総処理時間Ｂを算出する（ステップＳ２４）。圧縮しない場合の転送処理時間をＴｔ’とし、圧縮しない場合の圧縮処理時間をＴＣ’とすると、
Ｂ＝Ｔｔ’＋ＴＣ’  ・・・  式２
となる。ここで、ＴＣ’は当然に０である。また、圧縮した場合の送信処理時間Ｔｔの前後でネットワークの回線速度の変化が微小であると仮定すると、はＴＣ’はＴｔの（Ｓ１÷Ｓ２）倍として近似することができる。従って、
Ｂ＝（Ｓ１÷Ｓ２）×Ｔｔ’  ・・・  式３
となる。
【００３２】
次いで、データ圧縮判定部１４は、圧縮した場合の総処理時間Ａと圧縮しなかった場合の総処理時間Ｂとの大小比較を行って、判定結果Ｃを求める。具体的には、
Ｃ＝１（Ａ＜Ｂ）、Ｃ＝０（Ａ≧Ｂ）  ・・・式４
で求められる。データ圧縮判定部１４は、求めた判定結果Ｃを、データ圧縮判定部１４の内部で保持する判定履歴表に書き込む。
【００３３】
図４（ａ）は、判定履歴表に設定される内容の一例を示す図である。図４（ａ）に示すように、判定履歴表には、過去の判定結果Ｃ（０又は１）が、旧いものから順に保持されるようになっている。
【００３４】
そして、データ圧縮判定部１４は、圧縮した場合の総処理時間Ａが圧縮しなかった場合の総処理時間Ｂよりも短いか否かを判定する（ステップＳ２５）。つまり、データ圧縮判定部１４は、Ｃが１であるか否かを判定する。
【００３５】
このとき、データ圧縮判定部１４は、ＡがＢより短い場合、すなわち、Ｃが１である場合には（ステップＳ２５：ＹＥＳ）、Ｃに重み付けＷを乗じた値を判定値Ｄに加算する（ステップＳ２６）。つまり、データ圧縮判定部１４は、
Ｄ＝Ｄ＋Ｃ×Ｗ  ・・・式５
を計算する。この重み付けＷは、データ圧縮判定部１４の内部で保持する判定結果重み付け表から得られる。
【００３６】
図４（ｂ）は、判定結果重み付け表に設定される内容の一例を示す図である。図４（ｂ）に示すように、判定結果重み付け表には、最新の判定結果Ｃ（最新の４値の情報から求められた結果）と過去の判定結果Ｃの重み付けＷが新しい順に定められている。これにより、新しい判定結果と古い判定結果の影響度を設定することができる。図４（ｂ）に示す例では、最新の判定結果に対する重み付けＷとして０．４０が規定されている。また、最新の判定結果より１つ前の判定結果に対する重み付けＷとして０．３５が規定されている。また、２つ前の判定結果に対する重み付けＷとして０．２０が規定されている。また、３つ前の判定結果に対する重み付けＷとして０．０５が規定されている。そして、４つ前及びそれ以前の判定結果に対する重み付けＷとしては０．００が規定されている。
【００３７】
判定処理ループの１回目のループでは、重み付けＷとして、最新の判定結果に対応する０．４０が選択される。
【００３８】
一方、データ圧縮判定部１４は、ステップＳ２５においてＡがＢより短くはない場合、すなわち、Ｃが０である場合には（ステップＳ２５：ＮＯ）、判定値Ｄに対する加算処理は行わない。
【００３９】
データ圧縮部１４は、このようなステップＳ２２〜Ｓ２６の処理を、判定結果重み付け表から得られる重み付けが０になるまで繰り返す（ステップＳ２７）。このとき、データ圧縮判定部１４は、当該処理を繰り返す毎に、使用する送信処理時間、圧縮処理時間、圧縮前のレコードサイズ及び圧縮後のレコードサイズの４値の情報として一つずつ古くしていく。つまり、１回目は最新の情報、２回目な１つ前の情報、３回目は２つ前の情報・・・となる。ただし、実際は、古い情報に関しては判定結果Ｃが判定履歴表に書き込まれているので、データ圧縮判定部１４は、この判定履歴表から判定結果Ｃを取得すれば良い。そして、データ圧縮判定部１４は、取得した判定結果Ｃが１である場合には、これに対応する重み付けＷとして判定結果重み付け表から０．３５を取得し、式５を計算する。
【００４０】
なお、判定値Ｄは、一般式を用いて以下のように求めることができる。
【００４１】
【数１】
2010224996.tif 000003
ここで、Ｃｉは、i個前の判定結果Ｃであり、Ｃ０が最新の判定結果Ｃである。また、Ｗｉは、i個前の重み付けＷである。また、Ｋは、何個前に重み付けＷが０となるかを示す。図４（ｂ）の例では、Ｋ＝４である。
【００４２】
データ圧縮判定部１４は、判定処理ループを終えると、判定値Ｄが０．５以上であるか否かを判定する（ステップＳ２８）。このとき、データ圧縮判定部１４は、判定値Ｄが０．５以上である場合には（ステップＳ２８：ＹＥＳ）、判定結果ＥにＹＥＳを設定し（ステップＳ２９）、判定値Ｄが０．５未満である場合には（ステップＳ２８：ＮＯ）、判定結果ＥにＮＯを設定する（ステップＳ３０）。
【００４３】
判定結果Ｅは、圧縮するか否かを示す情報である。そして、圧縮した場合としない場合の総処理時間を比較し重み付けを加えた上で、圧縮した方が総処理時間が短いと判定された場合には判定結果ＥはＹＥＳとなり、圧縮しない方が総処理時間が短いと判定された場合には判定結果ＥはＮＯとなる。
【００４４】
データ圧縮判定部１４は、ステップＳ２９又はＳ３０の処理を終えると、判定結果Ｅをファイル転送部１３に引き渡して処理を終了させる。
【００４５】
図５は、本実施形態に係るタイマー監視部１５により実行される処理の一例を示すフローチャートである。図６は、タイマー表に設定される内容の一例を示す図である。タイマー表には、タイマー種別、要求元識別番号及びタイマー値が対応付けられて登録される。タイマー種別としては、判定タイマー及び切替タイマーが存在する。判定タイマーは、データ圧縮判定部１４によって次に圧縮判定を行うまでの時間を計時するタイマーである。つまり、判定タイマーの値は圧縮判定を行う間隔を示す。また、切替タイマーはデータ圧縮判定部１４によって圧縮を行わないと判定されたことにより、圧縮処理が停止してから圧縮処理を再開するまでの時間を計時するタイマーである。要求元識別番号は、タイマーの設定を要求したファイル転送部１３を識別するための情報である。タイマー値はタイムアウトまでの残り時間を秒単位で示す情報である。
【００４６】
図５に示すように、タイマー監視部１５は、タイマー監視処理ループを開始させる（ステップＳ３１）。タイマー監視処理ループにおいて、タイマー監視部１５は、タイマー表に登録されている各タイマーの値を１減算する。
【００４７】
次いで、タイマー監視部１５は、タイマーが０になったか否かを判定する（ステップＳ３３）。このとき、タイマー監視部１５は、タイマーが０になった場合には（ステップＳ３３：ＹＥＳ）、０になった各タイマーに対応する要求元識別情報が示す各ファイル転送部１３にタイムアウトを通知する（ステップＳ３４）。このとき、タイマー監視部１５は、タイムアウトになったタイマーの種別（判定タイマー又は切替タイマー）も合わせて通知する。
【００４８】
タイマー監視部１５は、タイマーが０にならなかった場合（ステップＳ３３：ＮＯ）、又は、ステップＳ３４の処理を終えた場合には、１秒休止する（ステップＳ３５）。このようにして、タイマー監視部１５は、ステップＳ３１〜Ｓ３５の処理を繰り返す。
【００４９】
図７は、本実施形態に係るファイル転送部１３及びファイル転送部２３により実行される処理の一例を示すフローチャートである。ここでは、ファイル転送システム１を送信側、ファイル転送システム２を受信側として説明する。
【００５０】
ファイル転送部１３は、ディスク装置１１に格納されている転送ファイル１１１を予め定められたレコード単位で読み込み、データ圧縮判定手段１４の判定結果に基づいて、読み込んだレコードをデータ圧縮部１２により圧縮させて、ファイル転送システム２のファイル転送手段２３送信する。ファイル転送部１３は、この処理をファイルの終了まで繰り返す。
【００５１】
図７に示すように、ファイル転送システム１のファイル転送部１３は、最初に圧縮フラグをＯＮに設定する（ステップＳ４１）。次いで、ファイル転送部１３は、タイマー表に判定タイマーを設定する（ステップＳ４２）。タイマー表には複数のファイル転送部１３からのタイマーの登録があるため、排他処理にてタイマーが登録される。
【００５２】
次に、ファイル転送部１３は、送信処理ループを開始する（ステップＳ４３）。また、ファイル転送システム２のファイル転送部２３においても受信処理ループが開始される（ステップＳ６１）。
【００５３】
送信処理ループにおいて、ファイル転送部１３は、転送ファイルから予め定められたサイズのレコードを読み込む（ステップＳ４４）。次いで、ファイル転送部１３は、圧縮フラグがＯＮであるか否かを判定する（ステップＳ４５）。このとき、ファイル転送部１３は、圧縮フラグがＯＮである場合には（ステップＳ４５：ＹＥＳ）、読み込んだレコード及び当該レコードのレコードサイズをデータ圧縮部１２に引き渡して、図２に示す圧縮処理を実行させる（ステップ４６）。次いで、ファイル転送部１３は、データ圧縮部１２から圧縮されたレコードと圧縮処理時間を受け取り、圧縮されたレコードをファイル転送システム２に送信する（ステップＳ４７）。このとき、ファイル転送部１３は、送信処理時間を求める。ファイル転送システム２においては、送信されたレコードをファイル転送部２３が受信する（ステップＳ６２）。
【００５４】
一方、ファイル転送部１３は、圧縮フラグがＯＦＦである場合には（ステップＳ４５：ＮＯ）、読み込んだレコードを非圧縮でファイル転送システム２に送信する（ステップＳ４７）。ファイル転送システム２においては、送信されたレコードをファイル転送部２３が受信する（ステップＳ６２）。
【００５５】
ファイル転送部１３は、圧縮又は非圧縮でレコードを送信した後、圧縮フラグがＯＮであるか否かを判定する（ステップＳ４８）。このとき、ファイル転送部１３は、圧縮フラグがＯＮである場合には（ステップＳ４８：ＹＥＳ）、送信処理時間、圧縮処理時間、圧縮前のレコードサイズ、及び圧縮後のレコードサイズを、それぞれの累計値に加算する（ステップＳ４９）。なお、各累計値の初期値は０である。一方、ファイル転送部１３は、圧縮フラグがＯＦＦである場合には（ステップＳ４８：ＮＯ）、当該加算を行わない。
【００５６】
以上が、ファイル転送部１３が転送ファイル１１１からレコードを読み込み圧縮フラグに応じてレコードを圧縮させてファイル転送システム２に送信する処理となる。
【００５７】
ただし、ファイル転送部１３は、判定タイマーと切替タイマーとを設定するため、これらのタイマーのタイムアウト通知をタイマー監視手段１５から受信する。これらのタイムアウト通知を受けた後の処理について以下に説明する。
【００５８】
ファイル転送部１３は、タイマー監視部１５から判定タイマーのタイムアウト通知を受信したか否かを判定する（ステップＳ５０）。このとき、ファイル転送部１３は、判定タイマーのタイムアウト通知を受信した場合には（ステップＳ５０：ＹＥＳ）、送信処理時間、圧縮処理時間、圧縮前のレコードサイズ、及び圧縮後のレコードサイズをデータ圧縮判定部１４に引き渡し、図３に示す圧縮判定処理を実行させる（ステップＳ５１）。次いで、ファイル転送部１３は、データ圧縮判定部１４から判定結果Ｅを受け取り、当該判定結果ＥがＹＥＳであるか否かを判定する（ステップＳ５２）。このとき、ファイル転送部１３は、判定結果ＥがＮＯである場合には（ステップＳ５２：ＮＯ）、圧縮フラグをＯＦＦに設定し（ステップＳ５３）、ステップＳ４２の処理と同様にして切替タイマーを設定する（ステップＳ５４）。一方、ファイル転送部１３は、判定結果ＥがＹＥＳである場合には（ステップＳ５２：ＹＥＳ）、判定タイマーを設定する（ステップＳ５５）。
【００５９】
ファイル転送部１３は、ステップＳ５４又はステップＳ５５の処理を終えると、送信処理時間、圧縮処理時間、圧縮前のレコードサイズ、及び圧縮後のレコードサイズの各累計値を０に設定する（ステップＳ５６）。
【００６０】
ファイル転送部１３は、判定タイマーのタイムアウト通知を受信していない場合（ステップＳ５０：ＮＯ）、又は、ステップＳ５６の処理を終えた場合には、タイマー監視部１５から切替タイマーのタイムアウト通知を受信したか否かを判定する（ステップＳ５７）。このとき、ファイル転送部１３は、切替タイマーのタイムアウト通知を受信した場合には（ステップＳ５７：ＹＥＳ）、圧縮フラグをＯＮに設定し（ステップＳ５８）、判定タイマーを設定する（ステップ５９）。一方、ファイル転送部１３は、切替タイマーのタイムアウト通知を受信していない場合には（ステップＳ５９：ＮＯ）、圧縮フラグ及び判定タイマーの設定は行わない。
【００６１】
このように、データ圧縮判定部１４により判定結果ＥがＮＯ（圧縮必要＝圧縮しない方が総処理時間が短い）と判定されると、圧縮フラグがＯＦＦに設定され、以降レコードは圧縮されることなく送信されるが、圧縮不要との判定後、ファイルの内容の変化やネットワーク状況の変化等によっては、圧縮送信した方がスループットが向上する可能性もある。しかし、圧縮フラグがＯＦＦの状態では、圧縮処理の結果が得られず判定のための情報が得られない。そこで、一定時間（切替タイマーの値）後に圧縮フラグがＯＦＦからＯＮに切り替えるタイミングを設けている。
【００６２】
一方、データ圧縮判定部１４により判定結果ＥがＹＥＳ（圧縮要＝圧縮した方が総処理時間が短い）と判定されると、圧縮フラグはＯＮ状態のままとされ、レコードの圧縮送信が継続される。ただし、圧縮要との判定後、ファイルの内容の変化やネットワーク状況の変化等によっては、圧縮しないで送信した方がスループットが向上する可能性があるので、一定時間（判定タイマーの値）後に再度圧縮判定が行われるようにしている。
【００６３】
このようにして、ファイル転送部１３は、ステップＳ４５〜Ｓ５９の処理を繰り返し、転送ファイル１１１の全レコードを送信し終えると、送信処理ループを終了させる（ステップＳ６０）。また、ファイル転送システム２においても受信ループを終了させる（ステップＳ６３）。
【００６４】
以上説明したように、本実施形態によれば、ファイル転送部１３が、ファイルを構成する複数のレコードをネットワーク３を介して順次送信し、データ圧縮部１２が、送信されるレコードを圧縮し、データ圧縮判定部１４が、圧縮送信されたレコードの送信処理時間、圧縮処理時間、圧縮前のレコードサイズ及び圧縮後のレコードサイズに基づいて、圧縮しなかった場合の送信処理時間を算出し、算出した送信処理時間と実際の圧縮処理時間及び送信処理時間を加算した総処理時間とを比較して圧縮処理を継続するか否かを判定し、タイマー監視部１５が、圧縮処理を継続すると判定されたことにより設定された判定タイマー及び圧縮処理を継続しないと判定されたことにより設定された切替タイマーを監視する。そして、切替タイマーがタイムアウトとなると、データ圧縮部１２が、圧縮処理を再開し、判定タイマーがタイムアウトとなると、データ圧縮判定部１４が、少なくとも判定タイマーが設定されてから現時点までの最新の圧縮期間中における判定結果Ｃに基づいて圧縮処理を継続するか否かを判定する。
【００６５】
これにより、本実施形態によれば、以下の効果を奏する。
【００６６】
第１は、少なくとも直前の圧縮期間中の最新の判定結果Ｃに基づいて圧縮送信するか否かが判定されるので、最新のＣＰＵやネットワークの使用状況によって圧縮処理時間と送信処理時間が変動することを考慮したファイル送信が可能となり、これにより最適なスループットを得ることができる。
【００６７】
また、大容量のファイルにおいて、画像情報、動画情報など既に圧縮処理が施されている内容と、テキスト情報や数値情報など圧縮効果の高い内容が混在するファイルにおいて、圧縮処理時間の変動が大きいファイル送信に対しても適用効果が高い。
【００６８】
第２に、圧縮処理が不要と判定された場合には、圧縮処理を行わずに送信を行うことができるので、ＣＰＵの負荷低減の効果がある。
【００６９】
また、データ圧縮判定部１４が、直近の複数の圧縮期間についての判定結果Ｃに基づいて圧縮処理を継続させるか否かを判定し、現時点に近い圧縮期間に得られた判定結果Ｃほど、当該判定に対する影響の重み付けを重くする。
【００７０】
これにより、最新のＣＰＵやネットワークの使用状況が継続性のない突発的な変動によるものだったとしても、それ以前の使用状況もその新しさに応じて考慮されるので、より適切に圧縮処理の要否を判定することができる。
【００７１】
次に、本発明の他の実施例について説明する。
【００７２】
上記実施形態においては、過去のネットワークの使用状況等（判定結果Ｃ）に重み付けをして圧縮処理の要否の判定をしているが、図４（ｂ）に示す判定結果重み付け表の最新の判定結果Ｃに対応する重み付けを０．５以上に設定し、他の判定結果Ｃに対応する重み付けを０に設定しても良い。これにより、最新のネットワークの使用状況等を即時反映することができる。
【符号の説明】
【００７３】
１、２  ファイル転送部
３  ネットワーク
１１、２１  ディスク装置
１２、２２  データ圧縮部
１３、２３  ファイル転送部
１４、２４  データ圧縮判定部
１５、２５  タイマー監視部
１６、２６  送受信部
Ｓ  通信システム
【図１】
2010224996.tif 000004
【図２】
2010224996.tif 000005
【図３】
2010224996.tif 000006
【図４】
2010224996.tif 000007
【図５】
2010224996.tif 000008
【図６】
2010224996.tif 000009
【図７】
2010224996.tif 000010