(57)【特許請求の範囲】
【請求項１】
データを圧縮するためのデータ圧縮プログラムにおいて、
コンピュータに、
確立されたコネクションのそれぞれに対応付けて圧縮不可回数カウンタが設けられ、対応する前記コネクションの確立時および対応する前記コネクションにおけるデータ受信時に前記圧縮不可回数カウンタの値を０に初期化し、
前記コネクションで送信すべき１以上の圧縮対象データが入力されると、当該コネクションに対して圧縮効果が無いと判定されるまで、当該圧縮対象データの先頭から所定のデータ容量ずつ切り出した単位データを順次圧縮し、
複数の前記単位データそれぞれの圧縮処理の前後におけるデータ容量を比較して、前記単位データ毎のデータ容量の圧縮効率の良否を判定し、圧縮効率が悪いと判定された場合、前記圧縮対象データを送信する前記コネクションに対応する前記圧縮不可回数カウンタの値をカウントアップし、
前記圧縮不可回数カウンタの値が予め設定された閾値以上となった場合、当該圧縮不可回数カウンタに対応する前記コネクションに対して圧縮効果が無いと判定する、
処理を実行させることを特徴とするデータ圧縮プログラム。
【請求項２】
前記圧縮対象データから切り出された前記単位データの圧縮効率が良いと判定された場合にも、前記圧縮対象データを送信する前記コネクションに対応する前記圧縮不可回数カウンタの値を０に初期化することを特徴とする請求項１記載のデータ圧縮プログラム。
【請求項３】
前記コンピュータに、さらに、
前記圧縮対象データはネットワークを介して接続された他の端末装置に送信されるデータであり、前記単位データ毎に圧縮の有無を示す圧縮有効フラグを付与し、順次前記ネットワークを介して送信する処理を実行させることを特徴とする請求項１記載のデータ圧縮プログラム。
【請求項４】
前記圧縮対象データはネットワークを介して接続された他の端末装置に送信されるデータであり、前記単位データは、前記他の端末装置に設けられた受信用バッファのサイズに応じたデータ容量であることを特徴とする請求項１記載のデータ圧縮プログラム。
【請求項５】
コンピュータでデータを圧縮するためのデータ圧縮方法において、
初期化手段が、確立されたコネクションのそれぞれに対応付けて圧縮不可回数カウンタが設けられ、対応する前記コネクションの確立時および対応する前記コネクションにおけるデータ受信時に前記圧縮不可回数カウンタの値を０に初期化し、
圧縮手段が、前記コネクションで送信すべき１以上の圧縮対象データが入力されると、当該コネクションに対して圧縮効果が無いと判定されるまで、当該圧縮対象データの先頭から所定のデータ容量ずつ切り出した単位データを順次圧縮し、
圧縮不可回数カウント手段が、複数の前記単位データそれぞれの圧縮処理の前後におけるデータ容量を比較して、前記単位データ毎のデータ容量の圧縮効率の良否を判定し、圧縮効率が悪いと判定された場合、前記圧縮対象データを送信する前記コネクションに対応する前記圧縮不可回数カウンタの値をカウントアップし、
判定手段が、前記圧縮不可回数カウンタの値が予め設定された閾値以上となった場合、当該圧縮不可回数カウンタに対応する前記コネクションに対して圧縮効果が無いと判定する、
ことを特徴とするデータ圧縮方法。
【請求項６】
データを圧縮するためのデータ圧縮装置において、
確立されたコネクションのそれぞれに対応付けて圧縮不可回数カウンタが設けられ、対応する前記コネクションの確立時および対応する前記コネクションにおけるデータ受信時に前記圧縮不可回数カウンタの値を０に初期化する初期化手段と、
前記コネクションで送信すべき１以上の圧縮対象データが入力されると、当該コネクションに対して圧縮効果が無いと判定されるまで、当該圧縮対象データの先頭から所定のデータ容量ずつ切り出した単位データを順次圧縮する圧縮手段と、
複数の前記単位データそれぞれの圧縮処理の前後におけるデータ容量を比較して、前記単位データ毎のデータ容量の圧縮効率の良否を判定し、圧縮効率が悪いと判定された場合、前記圧縮対象データを送信する前記コネクションに対応する前記圧縮不可回数カウンタの値をカウントアップする圧縮不可回数カウント手段と、
前記圧縮不可回数カウンタの値が予め設定された閾値以上となった場合、当該圧縮不可回数カウンタに対応する前記コネクションに対して圧縮効果が無いと判定する判定手段と、
を有することを特徴とするデータ圧縮装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータの圧縮を行うためのデータ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置に関し、特に通信データの圧縮に適したデータ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置に関する。
【０００２】
【従来の技術】
近年、携帯電話やＰＨＳ(Personal Handyphone System)といった移動体電話を用いたデータ通信が盛んに行われている。特に最近は、パケット通信によるデータ通信サービスも開始され、多くのユーザに利用されている。一般的なパケット通信の課金方式では、送受信したパケット数により料金が算出される。そのため、通信データをできる限り圧縮して送受信することが望まれている。
【０００３】
そこで、従来は、送受信するパケットに所定のデータ圧縮処理を施し、圧縮されたデータを転送していた。これにより、転送されるパケット数を低減させることができる。パケット数が少なくなるということは、料金が安くなると共に、データ転送時間が短くなるという利点がある。
【０００４】
図１３は、従来のデータ圧縮処理を示す概念図である。図１３には、ウェブサーバ９１０やメールサーバ９２０から出力されるデータを、圧縮処理部９３０で圧縮してネットワーク９４０を介して送信する場合の例について示している。ウェブサーバ９１０からは、たとえば、ＨＴＭＬ(Hyper Text Markup Language)形式の文書データ９１やＧＩＦ(Graphics Interchange Format)形式などで圧縮された画像データ９２などが出力される。メールサーバ９２０からは、たとえば、テキスト形式のメールデータ９３が出力される。文書データ９１、画像データ９２、メールデータ９３などは、圧縮処理部９３０によって圧縮される。その結果、圧縮処理部９３０の圧縮方式に応じた圧縮形式の文書データ９１ａ、画像データ９２ａ、メールデータ９３ａが生成される。これらの圧縮されたデータが、ネットワーク９４０を介して送信される。
【０００５】
これにより、通信データの小容量化を図ることができる。その結果、パケット通信の通信料金が安くなると共に、データ転送時間が短縮される。
なお、圧縮処理部９３０でデータの圧縮を行うかどうか（圧縮処理機能のＯＮ／ＯＦＦ）は、システム（圧縮処理部９３０を実装した装置）単位で予め設定されている。したがって、圧縮処理部９３０において送信データを圧縮すべき旨の指定がされていれば、圧縮処理部９３０を経由して送信される全てのデータに対して圧縮処理が行われる。
【０００６】
【発明が解決しようとする課題】
しかし、通信データの中には、圧縮処理を行っても、実際にデータ容量が減少しないものがある。たとえば、元々圧縮されているデータは、再度圧縮処理を行ってもデータ容量が減少しない。このような場合、データに対する圧縮処理を試みた分だけ性能的な損失が発生する。
【０００７】
本発明はこのような点に鑑みてなされたものであり、圧縮効果の高いデータのみを圧縮することができるデータ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の第１の態様では上記課題を解決するために、図１に示すような処理をコンピュータに実行させるデータ圧縮プログラムが提供される。本発明に係るデータ圧縮プログラムは、コンピュータに次の処理を実行させる。すなわち、まず、コンピュータは、確立されたコネクションのそれぞれに対応付けて圧縮不可回数カウンタが設けられ、対応する前記コネクションの確立時および対応する前記コネクションにおけるデータ受信時に前記圧縮不可回数カウンタの値を０に初期化する。次に、前記コネクションで送信すべき１以上の圧縮対象データが入力されると、当該コネクションに対して圧縮効果が無いと判定されるまで、当該圧縮対象データの先頭から所定のデータ容量ずつ切り出した単位データを順次圧縮する。次に、複数の前記単位データそれぞれの圧縮処理の前後におけるデータ容量を比較して、前記単位データ毎のデータ容量の圧縮効率の良否を判定し、圧縮効率が悪いと判定された場合、前記圧縮対象データを送信する前記コネクションに対応する前記圧縮不可回数カウンタの値をカウントアップする。そして、前記圧縮不可回数カウンタの値が予め設定された閾値以上となった場合、当該圧縮不可回数カウンタに対応する前記コネクションに対して圧縮効果が無いと判定する。
【０００９】
このようなデータ圧縮プログラムを実行するコンピュータによれば、圧縮対象データの一部のデータの圧縮が行われる。一部のデータの圧縮処理の前後でのデータ容量に基づいて圧縮効果の有無が判定される。そして、圧縮効果がある場合にのみ他のデータの圧縮が行われる。
【００１０】
本発明の第２の態様では、コンピュータでデータを圧縮するためのデータ圧縮方法において、初期化手段が、確立されたコネクションのそれぞれに対応付けて圧縮不可回数カウンタが設けられ、対応する前記コネクションの確立時および対応する前記コネクションにおけるデータ受信時に前記圧縮不可回数カウンタの値を０に初期化し、圧縮手段が、前記コネクションで送信すべき１以上の圧縮対象データが入力されると、当該コネクションに対して圧縮効果が無いと判定されるまで、当該圧縮対象データの先頭から所定のデータ容量ずつ切り出した単位データを順次圧縮し、圧縮不可回数カウント手段が、複数の前記単位データそれぞれの圧縮処理の前後におけるデータ容量を比較して、前記単位データ毎のデータ容量の圧縮効率の良否を判定し、圧縮効率が悪いと判定された場合、前記圧縮対象データを送信する前記コネクションに対応する前記圧縮不可回数カウンタの値をカウントアップし、判定手段が、前記圧縮不可回数カウンタの値が予め設定された閾値以上となった場合、当該圧縮不可回数カウンタに対応する前記コネクションに対して圧縮効果が無いと判定する、ことを特徴とするデータ圧縮方法が提供される。
【００１１】
このようなデータ圧縮方法によれば、圧縮対象データの一部のデータの圧縮が行われる。一部のデータの圧縮処理の前後でのデータ容量に基づいて圧縮効果の有無が判定される。そして、圧縮効果がある場合にのみ他のデータの圧縮が行われる。
【００１２】
本発明の第３の態様では、データを圧縮するためのデータ圧縮装置において、確立されたコネクションのそれぞれに対応付けて圧縮不可回数カウンタが設けられ、対応する前記コネクションの確立時および対応する前記コネクションにおけるデータ受信時に前記圧縮不可回数カウンタの値を０に初期化する初期化手段と、前記コネクションで送信すべき１以上の圧縮対象データが入力されると、当該コネクションに対して圧縮効果が無いと判定されるまで、当該圧縮対象データの先頭から所定のデータ容量ずつ切り出した単位データを順次圧縮する圧縮手段と、複数の前記単位データそれぞれの圧縮処理の前後におけるデータ容量を比較して、前記単位データ毎のデータ容量の圧縮効率の良否を判定し、圧縮効率が悪いと判定された場合、前記圧縮対象データを送信する前記コネクションに対応する前記圧縮不可回数カウンタの値をカウントアップする圧縮不可回数カウント手段と、前記圧縮不可回数カウンタの値が予め設定された閾値以上となった場合、当該圧縮不可回数カウンタに対応する前記コネクションに対して圧縮効果が無いと判定する判定手段と、を有することを特徴とするデータ圧縮装置が提供される。
【００１３】
このようなデータ圧縮装置によれば、圧縮対象データの一部のデータの圧縮が行われる。一部のデータの圧縮処理の前後でのデータ容量に基づいて圧縮効果の有無が判定される。そして、圧縮効果がある場合にのみ他のデータの圧縮が行われる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
【００１５】
図１は、実施の形態に適用される発明の概念図である。図１には、送信側装置１から圧縮対象データ４，５がネットワーク２を介して受信側装置３に送信される場合のデータ圧縮処理が示されている。図１の例では、圧縮対象データ４はテキストデータのような未圧縮のデータ（圧縮処理が行われていないデータ）である。また、圧縮対象データ５は、圧縮された画像データのような既圧縮のデータ（圧縮処理が行われているデータ）である。
【００１６】
ここで、まず、送信側装置１において圧縮対象データ４，５の一部のデータを圧縮する（ステップＳ１）。たとえば、圧縮データ４，５を複数の単位データに分割して、データ配列上の先頭のデータから順に圧縮を試みる。
【００１７】
次に、送信側装置１では、一部のデータの圧縮処理の前後におけるデータ容量を比較して、圧縮効果の有無を判定する（ステップＳ２）。たとえば、データ圧縮によりデータ容量が少しでも減少していれば、圧縮の効果有りとすることができる。図１の例では、圧縮対象データ４は未圧縮のデータであるため、一部のデータの圧縮処理により、そのデータのデータ容量は減少する。一方、圧縮対象データ５は既圧縮データであるため、一部のデータの圧縮処理を行ってもデータ容量はほぼ同じであり、減少していない。
【００１８】
そして、送信側装置１は、圧縮効果があると判定された場合にのみ、圧縮対象データを構成する他のデータを圧縮する（ステップＳ３）。すなわち、未圧縮の圧縮対象データ４は残りのデータも圧縮されるが、既圧縮の圧縮対象データ５の残りのデータは圧縮されない。
【００１９】
送信側装置１からは、圧縮後の圧縮対象データ４ａがネットワーク２を介して受信側装置３に送信される。この圧縮対象データ４ａは、受信側装置３で展開され、元の圧縮対象データ４が再生される（ステップ４）。また、送信側装置１からは、圧縮対象データ５がネットワーク２を介して受信側装置３に送信される。
【００２０】
このようにして、通信データのコンテンツのデータ形式（たとえば圧縮形式か否か）に関係なく、効率的なデータ通信が可能となる。特に、大容量のデータの通信においては、そのデータに対して無駄な圧縮処理を実行すると、システム全体としてのデータ処理効率が大きくて低下してしまう。したがって、オンラインでの音声データや映像データの配信システムへの本発明の適用は特に有効である。
【００２１】
また、本発明は、データ圧縮処理に対してＣＰＵ(Central Processing Unit )の処理能力を十分に割くことができない端末装置に適用することで、より効果を発揮することができる。たとえば、近年モバイルネットワークが普及してきている。モバイルネットワークでは、移動体電話機（携帯電話機やＰＨＳなど）やカーナビゲーションシステムなどの端末装置を用いて、インターネット上のコンテンツの閲覧等を可能としている。これらの端末装置は、データ通信以外に、その装置本来の機能を有している。移動体電話機であれば無線による通話機能であり、カーナビゲーションシステムであれば道順のナビゲーション機能である。このような移動体通信に用いられる端末装置でデータ通信を行うには、その装置本来の機能を損なわずにデータ通信に伴うデータ圧縮や展開等の処理を実行する必要がある。そのため、データ通信によるＣＰＵへの負荷をできるだけ少なくすることが求められる。
【００２２】
以下、モバイルネットワークを介した通信に本発明を適用した場合の実施の形態について詳しく説明する。
図２は、本実施の形態のシステム構成例を示す図である。図２に示すように、通信サーバ１００が、ネットワーク２１とネットワーク２２とに接続されている。通信サーバ１００は、ネットワーク２１，２２を介してＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)の通信を行うことができるとともに、ネットワーク２１とネットワーク２２との間のゲートウェイの機能を有している。
【００２３】
ネットワーク２１は、たとえばモバイルネットワークである。ネットワーク２１には、複数の端末装置２００〜２０２が接続可能である。端末装置２００〜２０２は、たとえば、携帯型のパーソナルコンピュータ、携帯電話機、カーナビゲーションシステムである。
【００２４】
ネットワーク２２は、たとえば、インターネットやイントラネットである。ネットワーク２２には、各種サーバ３１，３２が接続されている。サーバ３１，３２は、コンテンツサーバやアプリケーションサーバなどである。
【００２５】
なお、ネットワーク２１を介した通信サーバ１００と端末装置２００〜２０２との間で通信されるデータは、端末装置２００〜２０２内の通信用のバッファサイズに合わせた単位データに分割され、単位データ毎に送信される。
【００２６】
図３は、通信サーバのハードウェア構成例を示す図である。通信サーバ１００は、ＣＰＵ１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ(Random Access Memory)１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６，１０７が接続されている。
【００２７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００２８】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０８を介してＣＰＵ１０１に送信する。
【００２９】
通信インタフェース１０６は、ネットワーク２１に接続されている。通信インタフェース１０６は、ネットワーク２１を介して端末装置２００〜２０２との間でデータの送受信を行う。通信インタフェース１０７は、ネットワーク２２に接続されている。通信インタフェース１０７は、ネットワーク２２を介してサーバ３１，３２との間でデータの送受信を行う。
【００３０】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、通信サーバ１００のハードウェア構成例を示したが、他のサーバ３１，３２や端末装置２００〜２０２も同様のハードウェア構成で実現することができる。但し、サーバ３１，３２には、ネットワーク２１に接続するための通信インタフェースは不要である。また、端末装置２００〜２０２には、ネットワーク２２に接続するための通信インタフェースは不要である。さらに、端末装置２００〜２０２には、各装置本来の機能を実現するための要素が含まれている。たとえば、移動体電話機であれば、無線による通話機能を備えており、カーナビゲーションシステムであれば、ＧＰＳ(Global Positioning System)による現在地測定機能や目的地までのナビゲーション機能などを備えている。
【００３１】
なお、端末装置２００〜２０２におけるモニタ１１に相当する出力装置とキーボード１２やマウス１３に相当する入力装置とは、本体と一体に構成することができる。また、入力装置と本体とを無線で接続することもできる。
【００３２】
次に、通信サーバ１００と端末装置２００〜２０２との間のデータ通信処理について具体的に説明する。なお、以下の説明では代表的に端末装置２００を用いて説明するが、他の端末装置２０１，２０２が有する機能も同様である。
【００３３】
図４は、通信サーバと端末装置とのデータ通信機能を示す機能ブロック図である。図４の例では、通信サーバ１００は、圧縮制御部１１０、通信処理部１２０、ゲートウェイ１３０、ウェブサーバ１４０、およびメールサーバ１５０を有している。
【００３４】
圧縮制御部１１０は、データの圧縮および展開を行う。具体的には、圧縮制御部１１０は、ゲートウェイ１３０、ウェブサーバ１４０、あるいはメールサーバ１５０などから端末装置２００宛てに送信すべきデータを受け取ると、そのデータの圧縮効率の良否を判断する。そして、圧縮制御部１１０は、圧縮効率が良いと判断された場合には、データを圧縮して通信処理部１２０に渡す。なお、圧縮制御部１１０は、圧縮したデータに対して、そのデータが圧縮されていることを示すフラグ（圧縮有効フラグ）が付与される。また、圧縮制御部１１０は、圧縮効率が悪いと判断された場合には、データの圧縮処理を行わずに、元のデータを通信処理部１２０に渡す。
【００３５】
なお、圧縮効率の良否は、送信すべきデータの一部の圧縮処理を試み、その結果によって判断する。すなわち、単位データの圧縮によるデータ容量の圧縮率（元のデータ容量に対して何％のデータ容量になったか）が所定値（圧縮効率閾値）未満の場合に圧縮効率が良好であると判断し、そうでない場合には圧縮効率が悪いと判断する。圧縮効率閾値として、たとえば１００％を設定しておくことができる。この場合、圧縮制御部１１０は、少しでもデータ容量が減少していれば圧縮効率が良いと判断する。なお、圧縮効率が１００％以上になる場合とは、たとえば、既に圧縮されているデータに圧縮処理を試み、元のデータは圧縮されず、余分なヘッダ情報が付与されるような場合である。
【００３６】
圧縮制御部１１０は、データの圧縮処理を行うために圧縮制御プロセス毎の環境変数情報１１１と、端末装置２００との間のコネクション毎のコネクションテーブル１１２とを有している。圧縮制御プロセスは、端末装置２００や他の端末装置２０１，２０２からの通信確立要求に応答して、端末装置対応づけて生成される。コネクションは、端末装置２００や他の端末装置２０１，２０２からの処理要求（たとえば、データ取得要求）毎に、端末装置との間で確立される。なお、環境変数情報１１１とコネクションテーブル１１２との内容の詳細は後述する。
【００３７】
また、圧縮制御部１１０は、通信処理部１２０を介して端末装置２００や他の端末装置２０１，２０２からデータを受け取った際には、そのデータの圧縮処理の有無を判断する。受け取ったデータが圧縮されていれば、そのデータを展開して、ゲートウェイ１３０，ウェブサーバ１４０、もしくはメールサーバ１５０に渡す。なお、データの圧縮の有無は、そのデータに付与されているフラグ（圧縮有効フラグ）の値によって判断できる。
【００３８】
通信処理部１２０は、端末装置２００や他の端末装置２０１，２０２との間でデータ通信を行う。本実施の形態では、ＴＣＰ／ＩＰの通信を行うものとする。
ゲートウェイ１３０は、端末装置２００をネットワーク２２上の他のサーバ３１，３２に接続するためのゲートウェイである。ウェブサーバ１４０は、コンテンツなどを端末装置２００に提供する。メールサーバ１５０は、端末装置２００を使用するユーザ宛の電子メールを受信して保持したり、端末装置２００から他のコンピュータ宛の電子メールを送信したりする。
【００３９】
なお、図４の例では、通信サーバ１００内にウェブサーバ１４０やメールサーバ１５０が設けられているが、ウェブサーバ１４０やメールサーバ１５０は、ネットワーク２２上の他のサーバコンピュータに設けられていてもよい。その場合、端末装置２００は、ゲートウェイ１３０を介してウェブサーバ１４０やメールサーバ１５０にアクセスすることができる。
【００４０】
端末装置２００は、圧縮制御部２１０、通信処理部２２０、ウェブブラウザ２３０、およびメーラ２４０を有している。
圧縮制御部２１０は、データの圧縮および展開を行う。具体的には、圧縮制御部２１０は、ウェブブラウザ２３０やメーラ２４０から通信サーバ１００や他のサーバ３１，３２に送信すべきデータを受け取ると、そのデータの圧縮効率の良否を判断する。そして、圧縮制御部２１０は、圧縮効率が良いと判断した場合には、データを圧縮して通信処理部２２０に渡す。また、圧縮制御部２１０は、圧縮効率が悪いと判断した場合には、データの圧縮処理を行わずに、元のデータを通信処理部２２０に渡す。なお、圧縮効率の良否判断処理は、通信サーバ１００の圧縮制御部１１０で行われる処理と同様である。また、圧縮制御部２１０は、データの圧縮処理を行うために環境変数情報２１１と、通信サーバ１００との間で確立されるコネクション毎のコネクションテーブル２１２とを有している。
【００４１】
また、圧縮制御部２１０は、通信処理部２２０を介して通信サーバ１００からデータを受け取った際には、そのデータの圧縮処理の有無を判断する。受け取ったデータが圧縮されていれば、そのデータを展開して、ウェブブラウザ２３０やメーラ２４０に渡す。なお、データの圧縮の有無は、そのデータに付与されているフラグ（圧縮指定フラグ）の値によって判断できる。
【００４２】
通信処理部２２０は、通信サーバ１００との間でデータ通信を行う。本実施の形態では、ＴＣＰ／ＩＰの通信を行うものとする。
ウェブブラウザ２３０は、ウェブサーバ１４０などで提供されるコンテンツの閲覧機能を備えている。具体的には、ウェブブラウザ２３０は、ユーザからの操作入力等に応答して、コンテンツ等のデータの取得要求を各種サーバ宛てに送信して、その取得要求に応答して送られてきたデータを画面に表示させる。
【００４３】
メーラ２４０は、電子メールの送受信を行う。具体的には、メーラ２４０は、ユーザの操作入力に応答して、電子メールデータを生成し、その電子メールデータをメールサーバ１５０に送信する。また、メーラ２４０は、メールサーバ１５０から端末装置２００を使用しているユーザ宛の電子メールを受信し、その内容を画面に表示させる。
【００４４】
図５は、環境変数情報のデータ構造例を示す図である。環境変数情報１１１には、圧縮指定フラグ(cmp＿flg)、非効率圧縮最大回数(cmp＿maxcount)、圧縮効率閾値(cmp＿rate)、バッファサイズ(buffer＿size)などが設定されている。圧縮指定フラグ(cmp＿flg)、非効率圧縮最大回数(cmp＿maxcount)、圧縮効率閾値(cmp＿rate)およびバッファサイズ(buffer＿size)は、通信サーバ１００と端末装置２００との間で通信状態を確立した際に、端末装置２００から通信サーバ１００に渡される。
【００４５】
圧縮指定フラグ(cmp＿flg)は、環境変数情報１１１に対応する端末装置２００との間で通信されるデータを圧縮するか否かを示す情報である。本実施の形態では、データを圧縮して通信する際には、圧縮指定フラグに「１」が設定される。また、データの圧縮を行わない場合には、圧縮指定フラグに「０」が設定される。
【００４６】
非効率圧縮最大回数(cmp＿maxcount)は、送信すべきデータ全体の圧縮処理の要否を判定するための判断基準を示す情報である。非効率圧縮最大回数には、送信するデータを分割した単位データの圧縮を試みた結果、圧縮効率が悪いと連続して判断された回数の最大値が設定される。圧縮効率が悪いと連続して判断された回数が非効率圧縮最大回数に達した場合には、データの圧縮が不要と判断され、以後のデータの圧縮処理が回避される。
【００４７】
圧縮効率閾値(cmp＿rate)は、圧縮効率の良否を判断するための判断基準となる情報である。単位データに対する圧縮処理後のデータ容量が、圧縮前のデータ容量に対して圧縮効率閾値以上であれば、圧縮効率が悪いと判断される。単位データに対する圧縮処理後のデータ容量が、圧縮前のデータ容量に対して圧縮効率閾値未満であれば、圧縮効率が良いと判断される。
【００４８】
バッファサイズ(buffer＿size)は、環境変数情報１１１に対応する端末装置２００が有する通信用のバッファサイズである。圧縮制御部１１０は、バッファサイズに設定されたデータ容量毎に、送信すべきデータを分割して複数の単位データを生成する。
【００４９】
なお、図５には、通信サーバ１００内の環境変数情報１１１のデータ構造例を示したが、端末装置２００内の環境変数情報２１１も同様のデータ構造である。
図６は、コネクションテーブルのデータ構造例を示す図である。コネクションテーブル１１２には、圧縮有効フラグ(cmp＿act)と圧縮不可回数カウンタ(cmp＿cnt)とが含まれている。圧縮有効フラグは、送信する単位データの圧縮の有無を示す情報である。
【００５０】
圧縮有効フラグは、単位データに対する圧縮処理を行うか否かを示す情報である。圧縮有効フラグがＯＮ（１が設定されている）のときには、単位データに対して圧縮が行われる。圧縮有効フラグがＯＦＦ（０が設定されている）のときには、単位データに対する圧縮処理は行われない。圧縮有効フラグの値は、圧縮要否判断の結果に基づいて圧縮制御部１１０により設定される。また、送信されるデータ（各単位データ）に、そのデータの圧縮要否を判断したときの圧縮有効フラグを付与することで、そのデータの圧縮の有無が示される。
【００５１】
圧縮不可回数カウンタ(cmp＿cnt)は、効率の悪い圧縮処理が何回連続したかを示すカウンタである。圧縮不可回数カウンタの値と、環境変数情報１１１内の非効率圧縮最大回数とを比較することにより、送信対象となっているデータの圧縮の要否が判断される。
【００５２】
圧縮不可回数カウンタの値は、圧縮制御部１１０によって設定される。圧縮不可回数カウンタに値を設定するための条件は、以下の通りである。
圧縮不可回数カウンタには、初期値（コネクションテーブル１１２作成時）として０が設定される。また、コネクションの再利用時（コネクションを継続させてそのコネクションにより複数回のデータ転送を行うときの各データの送信開始時）、端末装置からデータを受け取った際にも、圧縮不可回数カウンタの値に０が設定される。さらに、効率の良い圧縮が行われた際には、圧縮不可回数カウンタの値に０が設定（クリア）される。効率の悪い圧縮が行われたら、圧縮不可回数カウンタの値に１が加算される。
【００５３】
なお、図６には、通信サーバ１００内のコネクションテーブル１１２のデータ構造例を示したが、端末装置２００内のコネクションテーブル２１２も同様のデータ構造である。
【００５４】
次に、本実施の形態におけるデータ通信処理について説明する。本実施の形態では、圧縮すべき旨が指定されている場合、まず圧縮処理を有効としてデータ通信が行われる。そして、ＴＣＰ／ＩＰコネクション単位で圧縮効率が判断される。圧縮効率が悪いと判断された場合には、以後、同一コネクション内の同一方向のデータ転送においては、圧縮処理を行わない。
【００５５】
図７は、データ通信状況を示す概念図である。図７の例では、通信サーバ１００のウェブサーバ１４０から端末装置２００宛のデータとして、ＨＴＭＬ形式の文書データ４１やＧＩＦなどの圧縮形式の画像データ４２が出力されている。また、通信サーバ１００のメールサーバ１５０から端末装置２００宛のデータとして、テキスト形式のメールデータ４３が出力されている。これらの各データは、個別のコネクションで通信される。
【００５６】
圧縮制御部１１０は、コネクション単位でデータ圧縮処理のＯＮ／ＯＦＦを切り替える。文書データ４１やメールデータ４３の場合、元々圧縮されていないため圧縮制御部１１０で圧縮され、圧縮形式の文書データ４１ａやメールデータ４３ａがネットワーク２１を介して端末装置２００に送信される。なお、圧縮されたデータには、圧縮したことを示す情報（圧縮有効フラグがＯＮ）が付与されている。
【００５７】
画像データ４２の場合、元々圧縮されたデータである。そのため、再度圧縮処理を行っても、データ容量はあまり小さくならない。しかも、余分なヘッダ情報などが付与されて、データ容量が増加する場合さえある。そのため、圧縮制御部１１０は、画像データ４２の一部のデータの圧縮を試みることで圧縮効率が悪いことを判別し、それ以降のデータに対しては圧縮処理を行わない。そして、画像データ４２に関しては、元のデータがそのままネットワーク２１を介して端末装置２００に送信される。
【００５８】
端末装置２００では、受信したデータの圧縮有効フラグがＯＮであれば、圧縮制御部２１０がそのデータを展開する。したがって、圧縮された文書データ４１ａやメールデータ４３ａが展開され、元の文書データ４１やメールデータ４３が復元される。画像データ４２に対しては、展開処理は行われない。そして、各データは、そのデータを処理すべき要素（ウェブブラウザ２３０やメーラ２４０）に渡される。
【００５９】
このように、ＨＴＭＬ形式やテキスト形式のデータのように、圧縮が有効なデータは圧縮して送信される。その結果、送信するデータの容量が削減され、データの送信時間が短縮される。また、圧縮形式の画像データのように先頭のデータに対する圧縮処理を行ってもデータ容量が削減されない場合、後続のデータの圧縮処理を行わない。そのため、無駄な圧縮処理が行われず、圧縮に使用するＣＰＵ時間を削減することができる。圧縮に使用するＣＰＵ時間が削減されることで、ＣＰＵ負荷が軽減され、全体としての性能を向上させることができる。
【００６０】
なお、図７の例では、通信サーバ１００から端末装置２００へデータが転送される場合の状況を示したが、端末装置２００から通信サーバ１００へデータが転送される場合も同様に、圧縮効率が良い場合には、圧縮処理を行ったデータが転送される。
【００６１】
図８は、データ通信の流れを示すシーケンス図である。図８の例では、端末装置２００から通信サーバ１００に対して処理要求（たとえば、データの取得要求）を送信し、通信サーバ１００から端末装置２００へ処置結果（たとえば、取得したデータ）を送信する場合の例である。以下、図８に示す処理をステップ番号に沿って説明する。
【００６２】
［ステップＳ１１］端末装置２００は、通信環境の設定要求を通信サーバ１００に対して送信する。この設定要求には、端末装置２００に予め設定されている環境変数情報２１１が含まれる。
【００６３】
［ステップＳ１２］通信サーバ１００は、端末装置２００からの通信環境の設定要求に応答して、端末装置２００に対応する環境変数情報１１１を生成する。生成された環境変数情報１１１には、端末装置２００の環境変数情報２１１と同じ値の情報（圧縮指定フラグ、非効率圧縮最大回数、圧縮効率閾値、バッファサイズなど）が設定される。なお、図８の例では、圧縮指定フラグの値は１であるものとする（圧縮を行う）。
【００６４】
［ステップＳ１３］端末装置２００の圧縮制御部２１０は、ウェブブラウザ２３０やメーラ２４０などのアプリケーション（アプリケーションソフトウェアに基づく処理機能）から、通信サーバ１００に対して送信すべき処理要求を受け付ける。
【００６５】
［ステップＳ１４］端末装置２００の圧縮制御部２１０は、アプリケーションから渡された処理要求を構成するデータを複数の単位データに分割し、単位データに対する圧縮処理を行う。圧縮制御部２１０は、効率の良い圧縮が行われた場合には、圧縮された単位データを通信処理部２２０に渡す。その際、単位データに、圧縮したことを示す圧縮有効フラグを付与する。また、圧縮制御部２１０は、効率の悪い圧縮が行われた場合には、圧縮前の元の単位データを通信処理部２２０に渡す。なお、圧縮処理中において、データの圧縮効率が悪いと判断されると、それ以降の単位データに対しては圧縮処理は実行されない。
【００６６】
［ステップＳ１５］端末装置２００の通信処理部２２０は、圧縮制御部２１０から受け取った単位データを通信サーバ１００へ送信する。
［ステップＳ１６］通信サーバ１００の通信処理部１２０は、端末装置２００から送られた単位データを受信し、圧縮制御部１１０に渡す。
【００６７】
［ステップＳ１７］通信サーバ１００の圧縮制御部１１０は、受け取った単位データの圧縮有効フラグの有無を判断し、圧縮したことを示す圧縮有効フラグが付与されている場合には、その単位データを展開する。圧縮したことを示す圧縮有効フラグが付与されていなければ、展開処理は不要である。
【００６８】
［ステップＳ１８］通信サーバ１００の圧縮制御部１１０は、非圧縮の単位データを繋ぎ合わせて元のデータ（処理要求）を構成し、その処理要求に対応する処理を実行すべき要素（ゲートウェイ１３０、ウェブサーバ１４０あるいはメールサーバ１５０）に渡す。すると、データを受け取った要素によって処理要求に応じた処理が行われ、処理結果を表すデータが圧縮制御部１１０に渡される。
【００６９】
［ステップＳ１９］通信サーバ１００の圧縮制御部１１０は、環境変数情報１１１の圧縮指定フラグを参照し、端末装置２００に送信すべきデータの圧縮処理の要否を判定する。圧縮処理が必要であれば、処理結果のデータを環境変数情報１１１に設定されているバッファサイズで示されるデータ容量の単位データに分割して、各単位データの圧縮処理を行う。圧縮制御部１１０は、効率の良い圧縮が行われた場合には、圧縮された単位データを通信処理部１２０に渡す。また、圧縮制御部１１０は、効率の悪い圧縮が行われた場合には、圧縮前の元の単位データを通信処理部１２０に渡す。なお、圧縮処理中において、データの圧縮効率が悪いと判断されると、それ以降の単位データに対しては圧縮処理は実行されない。
【００７０】
［ステップＳ２０］通信サーバ１００の通信処理部１２０は、圧縮制御部１１０から受け取った単位データを端末装置２００へ送信する。
［ステップＳ２１］端末装置２００の通信処理部２２０は、通信サーバ１００から送られた単位データを受信し、圧縮制御部２１０に渡す。
【００７１】
［ステップＳ２２］端末装置２００の圧縮制御部２１０は、受け取った単位データの圧縮有効フラグの有無を判断し、圧縮したことを示す圧縮有効フラグが付与されている場合には、その単位データを展開する。圧縮したことを示す圧縮有効フラグが付与されていなければ、展開処理は不要である。
【００７２】
［ステップＳ２３］端末装置２００の圧縮制御部２１０は、非圧縮の単位データを繋ぎ合わせて元のデータ（処置結果）を構成し、ステップＳ１３において処理要求を出したアプリケーションへ、処置結果を示すデータを渡す。
【００７３】
ところで、端末装置２００から通信サーバ１００へのデータ送信、あるいは通信サーバ１００から端末装置２００へのデータ送信は、１回のコネクションで複数のデータを送信することができる。たとえば、ＨＴＴＰ(HyperText Transfer Protocol)通信であればＨＴＴＰキープアライブ機能を利用することができる。すなわち、端末装置２００がキープアライブのオプションを指定した要求を通信サーバ１００に送ると、そのオプションを認識した通信サーバ１００は、要求に応じたデータを端末装置２００に転送した後もコネクション（接続状態）を維持する。
【００７４】
一般に、連続して転送されるデータの圧縮の有効性の有無は、共通性を持つ。たとえば、ウェブサーバからウェブページ内のコンテンツを端末装置へ転送する場合を想定する。電子会議室の発言履歴のように文字情報を基本としたウェブページであれば、連続して転送される各データに対する圧縮は有効である（多くの場合、文字情報は圧縮されずにＨＴＭＬ文書内に記述されている）。一方、ストリーミングによる音楽配信のように音楽のコンテンツを受信する場合であれば、連続して転送される各データに対する圧縮は無駄である（一般に、音楽データは予め圧縮されている）。
【００７５】
そこで、本実施の形態では、コネクションを維持している間に同一方向（端末装置から通信サーバ、あるいは通信サーバから端末装置）に連続して転送されるデータの場合、圧縮の効果が無いと判断されると、それ以降、圧縮不要の状態を維持する。なお、コネクションが切断されて新たなコネクションが確立された場合や、同一コネクションの間でも逆方向のデータが流れた場合には、それまでと異なる種別のデータが転送されるものと判断して、圧縮が必要な状態に設定する。
【００７６】
以下、コネクションを継続し、複数のデータの通信を行う場合のデータ送受信処理について詳細に説明する。なお、データ送受信処理は、通信サーバ１００と端末装置２００とで同様の処理が行われる。そこで、以下に通信サーバ１００のデータ送受信処理を例に採って説明する。
【００７７】
図９は、データ送受信処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］圧縮制御部１１０は、まず圧縮不可回数カウンタを初期化（０を設定）する。
【００７８】
［ステップＳ３２］圧縮制御部１１０は、ネットワーク２１からのデータ受信があるか否かを判断する。すなわち、圧縮制御部１１０は、通信処理部１２０からデータを受け取ったか否かを判断する。データ受信があれば処理がステップＳ３３に進められる。データ受信がなければ処理がステップＳ３５に進められる。
【００７９】
［ステップＳ３３］圧縮制御部１１０は、データ受信処理を行う。データ受信処理の詳細は後述する。
［ステップＳ３４］圧縮制御部１１０は、圧縮不可回数カウンタに０を設定する。
【００８０】
［ステップＳ３５］圧縮制御部１１０は、ネットワーク２１へのデータ送信があるか否かを判断する。すなわち、圧縮制御部１１０は、ゲートウェイ１３０、ウェブサーバ１４０、あるいはメールサーバ１５０から端末装置２００に送信すべきデータを受け取ったか否かを判断する。データ送信がある場合には、処理がステップＳ３６に進められる。データ送信が無い場合には、処理がステップＳ３７に進められる。
【００８１】
［ステップＳ３６］圧縮制御部１１０は、データ送信処理を行う。データ送信処理の詳細は後述する。
［ステップＳ３７］圧縮制御部１１０は、コネクションが切断されたか否かを判断する。なお、コネクションは、端末装置２００からの切断要求に基づいて通信処理部１２０によって切断される。コネクションが切断された場合には、処理が終了する。コネクションが継続している場合には、処理がステップＳ３２に進められる。
【００８２】
以下、データ送信処理とデータ受信処理との詳細について説明する。なお、図９のフローチャートではデータ受信処理の方が先に記載されているが、理解を容易にするために、データ送信処理の詳細を先に説明する。
【００８３】
図１０は、データ送信処理の詳細を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］圧縮制御部１１０は、コネクションテーブル１１２の圧縮有効フラグをＯＦＦにする。
【００８４】
［ステップＳ４２］圧縮制御部１１０は、環境変数情報１１１の圧縮指定フラグを参照し、圧縮処理を行うことが指定されているかどうかを判断する。圧縮の実行が指定されている場合には、処理がステップＳ４３に進められる。圧縮の実行が指定されていない場合には、処理がステップＳ４９に進められる。
【００８５】
［ステップＳ４３］圧縮制御部１１０は、コネクションテーブル１１２に設定されている圧縮不可回数カウンタの値が、環境変数情報１１１に設定されている非効率圧縮最大回数以上か否かを判断する。圧縮不可回数カウンタの値が非効率圧縮最大回数以上である場合には、処理がステップＳ４９に進められる。圧縮不可回数カウンタの値が非効率圧縮最大回数未満の場合には、処理がステップＳ４４に進められる。
【００８６】
［ステップＳ４４］圧縮制御部１１０は、単位データを圧縮する。
［ステップＳ４５］圧縮制御部１１０は、圧縮結果が圧縮効率閾値以上か否かを判断する。圧縮結果とは、圧縮前のデータ容量に対する圧縮後のデータ容量をパーセンテージで表したものである。圧縮結果（圧縮前のデータ容量に対する圧縮後のデータ容量の割合）が圧縮効率閾値以上の場合（圧縮効率が悪い）、処理がステップＳ４６に進められる。圧縮結果が圧縮効率閾値未満の場合には、処理がステップＳ４７に進められる。
【００８７】
［ステップＳ４６］圧縮制御部１１０は、圧縮不可回数カウンタの値に１を加算する。その後、処理がステップＳ４９に進められる。
［ステップＳ４７］圧縮制御部１１０は、コネクションテーブル１１２の圧縮有効フラグをＯＮにする。
【００８８】
［ステップＳ４８］圧縮制御部１１０は、コネクションテーブル１１２の圧縮不可回数カウンタの値に０を設定する。すなわち、効率の良い圧縮が行われたことにより、非効率圧縮の連続性がとぎれるため、圧縮不可回数カウンタの値を初期化する。
【００８９】
［ステップＳ４９］圧縮制御部１１０は、データ（元のままのデータもしくはステップＳ４４で圧縮されたデータ）に圧縮有効フラグ（圧縮していればＯＮ、非圧縮であればＯＦＦ）を付与して、通信処理部１２０に渡す。すると、通信処理部１２０により端末装置２００へデータが送信される。その後、処理が図９に示すステップＳ３７に進められる。
【００９０】
図１１は、データ受信処理の詳細を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］圧縮制御部１１０は、通信処理部１２０からデータを受け取る。
【００９１】
［ステップＳ５２］圧縮制御部１１０は、受け取ったデータに付与されている圧縮有効フラグがＯＮか否かを判断する。圧縮有効フラグがＯＮであれば処理がステップＳ５３に進められる。圧縮有効フラグがＯＦＦであれば処理がステップＳ５４に進められる。
【００９２】
［ステップＳ５３］圧縮制御部１１０は、受け取ったデータを展開する。
［ステップＳ５４］圧縮制御部１１０は、受け取ったデータを処理すべきアプリケーションソフトウェア（ゲートウェイ１３０、ウェブサーバ１４０、もしくはメールサーバ１５０）に渡す。その後、処理が図９に示すステップＳ３４に進められる。
【００９３】
以上のようにして、圧縮効果の高いデータのみに圧縮処理を行うことができる。その結果、無駄な圧縮処理が減り、データ圧縮の処理効率が向上する。しかも、圧縮効果が高いデータは圧縮して転送するため、転送されるデータ容量が削減されていると共に、転送時間も短縮される。
【００９４】
本実施の形態のシステムでは、圧縮データが多数含まれるコンテンツを転送する際に、特に効果が現れる。たとえば、商品画像が多数含まれるウェブページを作成し、サーバに転送格納／表示する場合がある。ウェブページの本文はＨＴＭＬであり、データ形式としてはテキスト形式であるが、画像データは予め圧縮されていることがほとんどである。このような場合、本実施の形態のシステムによってデータ転送を行えば、高い処理効率で圧縮処理を施すことができる。
【００９５】
図１２は、転送されるデータの一例を示す図である。図１２には、受信されるウェブページの内容をウェブブラウザ２３０で表示させた場合の画面例を示している。ウェブブラウザ２３０の画面６０には、まずＨＴＭＬの本文が転送され、ＧＩＦやＪＰＥＧといった圧縮ファイルが引き続き転送される。図１２の例では、画面６０内にＨＴＭＬの本文６１や画像ファイルを展開することで得られる画像６２〜６５が表示されている。
【００９６】
このような内容のウェブページが本実施の形態のシステムで送信される場合、ＨＴＭＬのヘッダや本文は圧縮して転送され、画像ファイルが圧縮処理をせずに転送される。
【００９７】
これにより、圧縮効果の高い部分が圧縮されて、全体としてのデータ容量が削減される。しかも、圧縮効果の少ない画像ファイルに関しては圧縮処理が行われないため、無駄な圧縮処理によるＣＰＵへの負荷の増加を防止することができる。
【００９８】
なお、上記の実施の形態では、モバイルネットワークを介した通信に本発明を適用した場合の例を示したが、モバイルネットワーク以外に本発明を適用することもできる。たとえば、家電ネットワークと呼ばれるように、家庭用のテレビ受像器やオーディオシステムをインターネットに接続することも可能である。これらの機器のネットワーク上の通信サーバとの間のデータ通信に本発明を適用すれば、効率よくデータを転送することができる。
【００９９】
また、上記の実施の形態では、非効率の圧縮が所定回数連続した場合に、圧縮不要と判断しているが、圧縮対象のデータ内の単位データのうち非効率の圧縮が所定回数を超えた場合に（非連続でも良い）、圧縮不要と判断しても良い。その場合、図１０に示すステップＳ４８の処理を実行しないようにすればよい。たとえば、既圧縮データの転送であっても定期的に非圧縮の制御コードが含まれる場合、非効率の圧縮が所定回数連続して発生しないこともある。このような場合、非効率の圧縮が所定回数を超えたときに圧縮不要と判断することで、不要な圧縮処理を施さずに既圧縮データを送信できる。
【０１００】
なお、圧縮効果の高いデータとしては、テキストデータ（拡張子がtxtのファイル）、ＨＴＭＬ文書（拡張子がhtmlのファイル）、非圧縮の画像ファイル（拡張子がｂｍｐのファイルなど）、実行モジュール（拡張子がexeのファイル）、ライブラリモジュール（拡張子がdllのファイル）、ワープロ文書ファイル（拡張子がdocやoasのファイルなど）がある。また、圧縮効果の低いファイルとしては、圧縮された画像ファイル（拡張子がgifやjpegのファイルなど）、圧縮形式のファイル（拡張子がzip、lzh、cabのファイルなど）、自己解凍型の圧縮ファイル（拡張子がexeのファイル）、その他音声や画像の各種ストリーミングデータがある。
【０１０１】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、通信サーバ１００や端末装置２００〜２０２が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disc)などがある。
【０１０２】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０３】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１０４】
（付記１）  データを圧縮するためのデータ圧縮プログラムにおいて、
コンピュータに、
圧縮対象データを構成する一部のデータを圧縮し、
前記一部のデータの圧縮処理の前後におけるデータ容量を比較して、圧縮効果の有無を判定し、
圧縮効果があると判定された場合にのみ、前記圧縮対象データを構成する他のデータを圧縮する、
処理を実行させることを特徴とするデータ圧縮プログラム。
【０１０５】
（付記２）  圧縮効果があると判定された場合、圧縮された前記一部のデータをネットワークを介して送信し、圧縮効果が無いと判定された場合、非圧縮の前記一部のデータを前記ネットワークを介して送信することを特徴とする付記１記載のデータ圧縮プログラム。
【０１０６】
（付記３）  圧縮効果が無いと判定された場合、同一コネクションにおいて同一方向に連続して転送される後続のデータも圧縮効果が無いと判定することを特徴とする付記１記載のデータ圧縮プログラム。
【０１０７】
（付記４）  前記一部のデータを圧縮する際には、圧縮効果が無いと判定されるまで、前記圧縮対象データの先頭から所定のデータ容量ずつ切り出した単位データを順次圧縮し、
複数の前記単位データそれぞれの圧縮前後でのデータ容量の圧縮効率の良否に基づいて、圧縮効果の有無を判定する、
ことを特徴とする付記１記載のデータ圧縮プログラム。
【０１０８】
（付記５）  圧縮効率の悪い単位データが所定数に達した場合に圧縮効果が無いと判定することを特徴とする付記４記載のデータ圧縮プログラム。
（付記６）  圧縮効率の悪い単位データの連続発生数が所定数に達した場合に圧縮効果が無いと判定することを特徴とする付記４記載のデータ圧縮プログラム。
【０１０９】
（付記７）  前記圧縮対象データはネットワークを介して接続された他の装置に送信されるデータであり、前記単位データ毎に圧縮の有無を示す圧縮有効フラグを付与し、順次前記ネットワークを介して送信することを特徴とする付記４記載のデータ圧縮プログラム。
【０１１０】
（付記８）  前記圧縮対象データはネットワークを介して接続された他の装置に送信されるデータであり、前記単位データは、前記他の端末装置に設けられた受信用バッファのサイズに応じたデータ容量であることを特徴とする付記４記載のデータ圧縮プログラム。
【０１１１】
（付記９）  データを圧縮するためのデータ圧縮方法において、
圧縮対象データを構成する一部のデータを圧縮し、
前記一部のデータの圧縮処理の前後におけるデータ容量を比較して、圧縮効果の有無を判定し、
圧縮効果があると判定された場合にのみ、前記圧縮対象データを構成する他のデータを圧縮する、
ことを特徴とするデータ圧縮方法。
【０１１２】
（付記１０）  データを圧縮するためのデータ圧縮装置において、
圧縮処理の要否を示す圧縮指定フラグにおいて圧縮必要と設定されている間、圧縮対象データを構成する複数の単位データを順次圧縮する圧縮手段と、
前記圧縮手段において圧縮された少なくとも１つの前記単位データの圧縮処理の前後におけるデータ容量を比較して、圧縮効果の有無を判定する判定手段と、
前記判定手段において圧縮効果がないと判定された場合に、前記圧縮指定フラグを圧縮不要に変更するフラグ設定手段と、
を有することを特徴とするデータ圧縮装置。
【０１１３】
（付記１１）  データを圧縮するためのデータ圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
圧縮対象データを構成する一部のデータを圧縮し、
前記一部のデータの圧縮処理の前後におけるデータ容量を比較して、圧縮効果の有無を判定し、
圧縮効果があると判定された場合にのみ、前記圧縮対象データを構成する他のデータを圧縮する、
処理を実行させることを特徴とするデータ圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１１４】
【発明の効果】
以上説明したように本発明では、圧縮対象データの一部の圧縮結果から圧縮効果の有無を判定し、圧縮効果がある場合にのみ他のデータを圧縮するようにしたため、データ圧縮における処理効率が向上する。
【図面の簡単な説明】
【図１】実施の形態に適用される発明の概念図である。
【図２】本実施の形態のシステム構成例を示す図である。
【図３】通信サーバのハードウェア構成例を示す図である。
【図４】通信サーバと端末装置とのデータ通信機能を示す機能ブロック図である。
【図５】環境変数情報のデータ構造例を示す図である。
【図６】コネクションテーブルのデータ構造例を示す図である。
【図７】データ通信状況を示す概念図である。
【図８】データ通信の流れを示すシーケンス図である。
【図９】データ送受信処理の手順を示すフローチャートである。
【図１０】データ送信処理の詳細を示すフローチャートである。
【図１１】データ受信処理の詳細を示すフローチャートである。
【図１２】転送されるデータの一例を示す図である。
【図１３】従来のデータ圧縮処理を示す概念図である。
【符号の説明】
１  送信側装置
２  ネットワーク
３  受信側装置
４，４ａ，５  圧縮対象データ
２１，２２  ネットワーク
３１，３２  サーバ
１００  通信サーバ
２００，２０１，２０２  端末装置
【図１】
0003857611.tif 000002
【図２】
0003857611.tif 000003
【図３】
0003857611.tif 000004
【図４】
0003857611.tif 000005
【図５】
0003857611.tif 000006
【図６】
0003857611.tif 000007
【図７】
0003857611.tif 000008
【図８】
0003857611.tif 000009
【図９】
0003857611.tif 000010
【図１０】
0003857611.tif 000011
【図１１】
0003857611.tif 000012
【図１２】
0003857611.tif 000013
【図１３】
0003857611.tif 000014