(57)【要約】【課題】ネットワークを介して計算機どおしが通信するシステムにおいて、通信時間を削減するために電文の効率的なデータ圧縮を行う。【解決手段】クライアント１００又はサーバ１４０の計算機は、一方の計算機から他方の計算機へ送信する電文について、一方の計算機によって、電文のデータ種別あるいはデータ圧縮後のサイズに基づいてその電文をデータ圧縮するか否かを判定し、その判定結果によりデータ圧縮された又は非圧縮の電文を、圧縮又は非圧縮を示す識別子とともに他方の計算機へ送信し、他方の計算機によって、データ圧縮された又は非圧縮の電文を受信し、その識別子が圧縮を示すときデータ圧縮された電文をデータ復元する。【選択図】図１
2004341884.tif 000002
【特許請求の範囲】
【請求項１】
第１の計算機から第２の計算機へ送信するデータについて、前記第１の計算機によって、前記データのデータ圧縮後のサイズに基づいて前記データをデータ圧縮するか否かを判定し、その判定結果によりデータ圧縮された又は非圧縮の前記データを、圧縮又は非圧縮を示す識別子とともに前記第２の計算機へ送信し、前記第２の計算機によって、データ圧縮された又は非圧縮の前記データを受信し、前記識別子が圧縮を示すときデータ圧縮された前記データをデータ復元することを特徴とするデータ通信方法。
【請求項２】
前記第１の計算機によって、データ圧縮後のサイズに基づいて前記データが圧縮および非圧縮のいずれであるかを判定する代わりに、前記データのサイズと前記データの種別に基づいて前記データが圧縮および非圧縮のいずれであるかを判定することを特徴とする請求項１記載のデータ通信方法。
【請求項３】
前記データの種別に応じて異なるデータ圧縮アルゴリズムを選択することを特徴とする請求項２記載のデータ通信方法。
【請求項４】
第１の計算機から第２の計算機へデータを送信するシステムにおける送信側の前記第１の計算機によるデータ通信方法であって、
前記第１の計算機は、前記データのデータ圧縮後のサイズに基づいて前記データをデータ圧縮するか否かを判定し、その判定結果によりデータ圧縮された又は非圧縮の前記データを、圧縮又は非圧縮を示す識別子とともに前記第２の計算機へ送信することを特徴とするデータ通信方法。
【請求項５】
データ圧縮後のサイズに基づいて前記データが圧縮および非圧縮のいずれであるかを判定する代わりに、前記データのサイズと前記データの種別に基づいて前記データが圧縮および非圧縮のいずれであるかを判定することを特徴とする請求項４記載のデータ通信方法。
【請求項６】
前記データの種別に応じて異なるデータ圧縮アルゴリズムを選択することを特徴とする請求項５記載のデータ通信方法。
【請求項７】
第１の計算機から第２の計算機へデータを送信するシステムにおける受信側の前記第２の計算機によるデータ通信方法であって、
前記第２の計算機は、データ圧縮された又は非圧縮の前記データと、前記データのデータ圧縮後のサイズに基づいて前記データをデータ圧縮するか否かの判定結果を示す識別子とを受信し、前記識別子が圧縮を示すときデータ圧縮された前記データをデータ復元することを特徴とするデータ通信方法。
【請求項８】
データ圧縮後のサイズに基づいて前記データが圧縮および非圧縮のいずれであるかを判定する代わりに、前記データのサイズと前記データの種別に基づいて前記データが圧縮および非圧縮のいずれであるかを判定することを特徴とする請求項７記載のデータ通信方法。
【請求項９】
第１の計算機と第２の計算機とがネットワークを介して接続されるシステムにおいて、
前記第１の計算機は、データのデータ圧縮後のサイズに基づいて前記データをデータ圧縮するか否かを判定する手段と、前記データをデータ圧縮する手段と、判定結果によりデータ圧縮された又は非圧縮の前記データを、圧縮又は非圧縮を示す識別子とともに前記第２の計算機へ送信する手段とを有し、
前記第２の計算機は、データ圧縮された又は非圧縮の前記データを受信する手段と、前記識別子が圧縮を示すか否かを判定する手段と、データ圧縮された前記データをデータ復元する手段とを有することを特徴とするデータ通信システム。
【請求項１０】
計算機に、データのデータ圧縮後のサイズに基づいて前記データをデータ圧縮するか否かを判定する機能、その判定結果によりデータ圧縮された又は非圧縮の前記データを、圧縮又は非圧縮を示す識別子とともに他の計算機へ送信する機能、データ圧縮された又は非圧縮の前記データを前記他の計算機から受信する機能、および前記識別子が圧縮を示すときデータ圧縮された前記データをデータ復元する機能を実現させるためのプログラム。
【請求項１１】
データのデータ圧縮後のサイズに基づいて前記データをデータ圧縮するか否かを判定する手段と、その判定結果によりデータ圧縮された又は非圧縮の前記データを、圧縮又は非圧縮を示す識別子とともに他の計算機へ送信する手段と、データ圧縮された又は非圧縮の前記データを前記他の計算機から受信する手段と、前記識別子が圧縮を示すときデータ圧縮された前記データをデータ復元する手段とを有することを特徴とする計算機。
【請求項１２】
第１の計算機と第２の計算機とが中継装置を介してデータを送受信するデータ通信方法であって、
前記第１の計算機によって、前記第２の計算機への要求となる第１のデータのデータ圧縮後のサイズに基づいて前記第１のデータをデータ圧縮するか否かを判定し、その判定結果によりデータ圧縮された又は非圧縮の前記第１のデータを、圧縮又は非圧縮を示す第１の識別子とともに前記中継装置へ送信し、
前記中継装置によって、データ圧縮された又は非圧縮の前記第１のデータを受信し、前記第１の識別子が圧縮を示すときデータ圧縮された前記第１のデータをデータ復元し、非圧縮の前記第１のデータを前記第２の計算機へ送信し、
前記第２の計算機によって、非圧縮の前記第１のデータを受信し、前記第１のデータに対して応答となる第２のデータのデータ圧縮後のサイズに基づいて前記第２のデータをデータ圧縮するか否かを判定し、非圧縮の前記第２のデータを、前記判定した結果により圧縮又は非圧縮を示す第２の識別子とともに前記中継装置へ送信し、
前記中継装置によって、非圧縮の前記第２のデータを受信し、前記第２の識別子が圧縮を示すとき前記第２のデータをデータ圧縮して前記第２の識別子を示す情報とともに前記第１の計算機へ送信し、
前記第１の計算機によって、データ圧縮された又は非圧縮の前記第２のデータを受信し、前記第２の識別子を示す情報が圧縮を示すときデータ圧縮された前記第２のデータをデータ復元することを特徴とするデータ通信方法。
【請求項１３】
前記第１の計算機および前記第２の計算機によって、データ圧縮後のサイズに基づいて前記データが圧縮および非圧縮のいずれであるかを判定する代わりに、前記データのサイズと前記データの種別に基づいて前記データが圧縮および非圧縮のいずれであるかを判定することを特徴とする請求項１２記載のデータ通信方法。
【請求項１４】
第１の計算機と第２の計算機とが中継装置を介してデータを送受信するシステムにおける前記第１の計算機によるデータ通信方法であって、
前記第１の計算機は、前記第２の計算機から前記中継装置を介して前記第１の計算機への要求となる非圧縮の第１のデータを受信し、前記第１のデータに対して応答となる第２のデータのデータ圧縮後のサイズに基づいて前記第２のデータをデータ圧縮するか否かを判定し、非圧縮の前記第２のデータを、前記判定した結果により圧縮又は非圧縮を示す第２の識別子とともに前記中継装置へ送信し、前記中継装置及び前記第２の計算機による前記第２のデータのデータ圧縮および復元に供することを特徴とするデータ通信方法。
【請求項１５】
前記第１の計算機によって、データ圧縮後のサイズに基づいて前記データが圧縮および非圧縮のいずれであるかを判定する代わりに、前記データのサイズと前記データの種別に基づいて前記データが圧縮および非圧縮のいずれであるかを判定することを特徴とする請求項１４記載のデータ通信方法。
【請求項１６】
第１の計算機と第２の計算機とが中継装置を介してデータを送受信するシステムにおける前記中継装置によるデータ通信方法であって、
前記中継装置は、前記第１の計算機からデータ圧縮された又は非圧縮の第１のデータをデータ圧縮又は非圧縮を示す第１の識別子とともに受信し、前記第１の識別子が圧縮を示すときデータ圧縮された前記第１のデータをデータ復元し、非圧縮の前記第１のデータを前記第２の計算機へ送信し、前記第２の計算機から非圧縮の第２のデータをデータ圧縮又は非圧縮を示す第２の識別子とともに受信し、前記第２の識別子が圧縮を示すとき前記第２のデータをデータ圧縮して前記第２の識別子を示す情報とともに前記第１の計算機へ送信することを特徴とするデータ通信方法。
【請求項１７】
第１の計算機と第２の計算機とが中継装置を介してデータを送受信するデータ通信システムであって、
前記第１の計算機は、前記第２の計算機への要求となる第１のデータのデータ圧縮後のサイズに基づいて前記第１のデータをデータ圧縮するか否かを判定する手段と、その判定結果によりデータ圧縮された又は非圧縮の前記第１のデータを、圧縮又は非圧縮を示す第１の識別子とともに前記中継装置へ送信する手段と、前記中継装置からデータ圧縮された又は非圧縮の第２のデータを、圧縮又は非圧縮を示す第２の識別子とともに受信する手段と、前記第２の識別子を示す情報が圧縮を示すときデータ圧縮された前記第２のデータをデータ復元する手段とを有し、
前記中継装置は、前記第１の計算機から前記第１のデータを受信する手段と、前記第１の識別子が圧縮を示すときデータ圧縮された前記第１のデータをデータ復元する手段と、非圧縮の前記第１のデータを前記第２の計算機へ送信する手段と、前記第２の計算機から非圧縮の前記第２のデータを、圧縮又は非圧縮を示す前記第２の識別子とともに受信する手段と、前記第２の識別子が圧縮を示すとき前記第２のデータをデータ圧縮して前記第２の識別子を示す情報とともに前記第１の計算機へ送信する手段とを有し、
前記第２の計算機は、前記中継装置から非圧縮の前記第１のデータを受信する手段と、前記第１のデータに対して応答となる前記第２のデータのデータ圧縮後のサイズに基づいて前記第２のデータをデータ圧縮するか否かを判定する手段と、非圧縮の前記第２のデータを、前記判定した結果により圧縮又は非圧縮を示す前記第２の識別子とともに前記中継装置へ送信する手段とを有することを特徴とするデータ通信システム。
【請求項１８】
第１の計算機と第２の計算機とが中継装置を介してデータを送受信するシステムにおける前記中継装置によって実行されるプログラムであって、前記中継装置に、
前記第１の計算機からデータ圧縮された又は非圧縮の第１のデータをデータ圧縮又は非圧縮を示す第１の識別子とともに受信する機能、前記第１の識別子が圧縮を示すときデータ圧縮された前記第１のデータをデータ復元する機能、非圧縮の前記第１のデータを前記第２の計算機へ送信する機能、前記第２の計算機から非圧縮の第２のデータをデータ圧縮又は非圧縮を示す第２の識別子とともに受信する機能、および前記第２の識別子が圧縮を示すとき前記第２のデータをデータ圧縮して前記第２の識別子を示す情報とともに前記第１の計算機へ送信する機能を実現させるためのプログラム。
【請求項１９】
第１の計算機と第２の計算機とが中継装置を介してデータを送受信するシステムにおける前記第１の計算機であって、
前記第１の計算機は、前記第２の計算機から前記中継装置を介して前記第１の計算機への要求となる非圧縮の第１のデータを受信する手段と、前記第１のデータに対して応答となる第２のデータのデータ圧縮後のサイズに基づいて前記第２のデータをデータ圧縮するか否かを判定する手段と、非圧縮の前記第２のデータを、前記判定した結果により圧縮又は非圧縮を示す第２の識別子とともに前記中継装置へ送信する手段とを有し、前記第２の識別子を前記中継装置及び前記第２の計算機による前記第２のデータのデータ圧縮および復元に供することを特徴とする第１の計算機。
【請求項２０】
第１の計算機と第２の計算機とが中継装置を介してデータを送受信するシステムにおける前記中継装置であって、
前記中継装置は、前記第１の計算機からデータ圧縮された又は非圧縮の第１のデータを、データ圧縮又は非圧縮を示す第１の識別子とともに受信する手段と、前記第１の識別子が圧縮を示すときデータ圧縮された前記第１のデータをデータ復元する手段と、非圧縮の前記第１のデータを前記第２の計算機へ送信する手段と、前記第２の計算機から非圧縮の第２のデータをデータ圧縮又は非圧縮を示す第２の識別子とともに受信する手段と、前記第２の識別子が圧縮を示すとき前記第２のデータをデータ圧縮して前記第２の識別子を示す情報とともに前記第１の計算機へ送信する手段とを有することを特徴とする中継装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信データのデータ圧縮に係わり、特にデータ圧縮するか否かを動的に決定するデータ通信技術に関するものである。
【０００２】
【従来の技術】
ネットワークを介してサーバ計算機とクライアント計算機とが通信するクライアント−サーバシステムにおいて、そのネットワーク環境として低速度回線を利用するものが多い。そのため、クライアント−サーバ間の通信時間を短縮する目的で、例えば特開平１０−９１５５４号公報（特許文献１）に記載されるように通信データについてデータ圧縮処理を行うと、通信時間を大幅に削減し、レスポンスタイムの向上につなげることができる。
【０００３】
【特許文献１】
特開平１０−９１５５４号公報
【０００４】
【発明が解決しようとする課題】
上記従来技術によれば、データ圧縮による通信時間の削減は可能であるが、圧縮対象のデータの内容については配慮されておらず、常に圧縮処理を行うか又は行わないのどちらかに設定される。例えば、画像データ等の圧縮率の悪いデータに圧縮処理を行っても通信時間が短縮されないため、レスポンスタイムの短縮につながらない。一方、データベース検索結果として突発的に大容量データが発生した場合などには、圧縮処理を適用した方がレスポンスタイムの短縮につながると考えられる。
【０００５】
またあるデータの圧縮率は、圧縮のアルゴリズム特性によって変化することも考えられるため、データにより圧縮アルゴリズムを切り分けられた方が効率良く圧縮機能を適用できると考えられる。
【０００６】
本発明の目的は、送信されるデータについてデータ圧縮を適用するか否かを通信データの内容に応じて動的に決定する技術を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、第１の計算機から第２の計算機へ送信するデータについて、第１の計算機によって、データの特性に基づいてそのデータをデータ圧縮するか否かを判定し、その判定結果によりデータ圧縮された又は非圧縮のデータを、圧縮又は非圧縮を示す識別子とともに第２の計算機へ送信し、第２の計算機によって、データ圧縮された又は非圧縮のデータを受信し、その識別子が圧縮を示すときデータ圧縮されたデータをデータ復元するデータ通信技術を特徴とする。
【０００８】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【０００９】
図１は、本実施形態のクライアント・サーバ・システムの構成を示す図である。システムは、クライアント１００−１，１００−２，１００−３、サーバ１４０およびこれらを接続するネットワーク１３０から構成される。以下、いずれかのクライアントを指すとき、クライアント１００と表記する。
【００１０】
クライアント１００は、クライアント側の計算機あるいは端末であり、そのメモリ上にクライアントプログラム１０１を格納して実行する。クライアントプログラム１０１は、通信モジュール１０２、電文圧縮／復元モジュール１０３および電文圧縮適用判断モジュール１０４から構成される。サーバ１４０は、サーバ側の計算機であり、そのメモリ上にサーバプログラム１４１を格納して実行する。サーバプログラム１４１は、通信モジュール１４２、電文圧縮／復元モジュール１４３および電文圧縮適用判断モジュール１４４から構成される。
【００１１】
図２は、クライアントプログラム１０１又はサーバプログラム１４１の送信処理の処理手順を示すフローチャートである。電文圧縮／復元モジュール１０３／１４３は、図示しないアプリケーションプログラムが作成した送信データを受け取る（ステップ２０１）。次に電文圧縮適用判断モジュール１０４／１４４は、以下に詳述する処理手順により、送信データを圧縮するか否かを判定する（ステップ２０２）。送信データを圧縮しない場合には、電文圧縮／復元モジュール１０３／１４３は、送信データに非圧縮の識別子を設定し（ステップ２０３）、ステップ２０６へ行く。送信データを圧縮する場合には、電文圧縮／復元モジュール１０３／１４３は、指定された圧縮アルゴリズムに従って送信データを圧縮し（ステップ２０４）、送信データに圧縮の識別子を設定し（ステップ２０５）、ステップ２０６へ行く。最後に、通信モジュール１０２／１４２は、ネットワーク１３０を介して相手側のサーバ１４０又はクライアント１００へ送信データの電文を送信する（ステップ２０６）。
【００１２】
図３は、ステップ２０２に相当し、電文圧縮適用判断モジュール１０４又は電文圧縮適用判断モジュール１４４の処理手順を示すフローチャートである。電文圧縮適用判断モジュール１０４／１４４は、送信データのサイズが所定のサイズ、例えば１０ＭＢ（メガバイト）を越えるか否かを判定する（ステップ３０１）。ここで所定のサイズは、ネットワークを構成する通信回線の速度に依存する。送信データが所定のサイズを越えない場合には、送信データを圧縮しないものと判定し、ステップ２０３へ行く（ステップ３０２）。送信データが所定のサイズを越える場合には、送信データの種別によって圧縮適用の可否を判定する（ステップ３０３）。
【００１３】
例えば圧縮の効果が薄い圧縮データ形式の画像データや動画、音楽データ等が優勢の場合には、圧縮適用対象外とし、ステップ３０２へ行く。一般にすでに圧縮されているデータを再圧縮すると、圧縮率が向上しない。データが圧縮データ形式であるか否かはヘッダのコンテント・タイプによって判定され得る。
【００１４】
一方、圧縮データ形式が適用されていないテキスト等が優勢の場合には、圧縮処理によりレスポンスタイム向上に寄与するものと判断して、圧縮処理を適用するものとし、圧縮アルゴリズムを選択する（ステップ３０４）。圧縮アルゴリズムは、送信データのデータ型によって適用するアルゴリズムの種別を判定してもよいし、あらかじめ送信データの種類と対応して適用する圧縮アルゴリズムを記憶装置に設定し、その設定データを用いてもよい。次に圧縮アルゴリズムの種別を伴ってステップ２０４へ行く（ステップ３０５）。
【００１５】
なおステップ３０１および３０３のように送信データのサイズとデータ種別によってデータ圧縮するか否かを判定する代わりに、送信データを圧縮した場合の圧縮後のサイズが所定のサイズを越えている場合にデータ圧縮すると判定してもよい。またコンテント・タイプごとのデータ圧縮率の実績値（最小値、最大値）を記憶装置に保存し、この実績値を参照してデータ圧縮が有効か否かを判断することも可能である。実績値の代わりに理論値を用いてもよい。また最小値、最大値の代わりに平均値を用いてもよい。
【００１６】
図４は、送信データに設定される圧縮／非圧縮の識別子の例を示す図である。本例のテーブルは、送信データに付加されるＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）ヘッダのコンテント・タイプに圧縮適用の有無と適用する圧縮アルゴリズムの種別を設定する。すなわちコンテント・タイプにタイプ１〜５を設定することによって、各々圧縮非適用、圧縮アルゴリズムＡ〜Ｄを設定するものとする。このようなテーブルを送信データの送信側計算機および受信側計算機で共有することによって、送信側による圧縮アルゴリズムの動的な設定および受信側による動的な復元が可能になる。
【００１７】
図４は、また圧縮アルゴリズムと対応させて、圧縮対象となる最小のデータサイズと圧縮率の実績値（最小値、最大値）を示している。ここに示す圧縮対象データサイズと圧縮率の値は、ここではＨＴＴＰヘッダに設定されるものではないが、後述するようにヘッダに圧縮対象データサイズを設定してもよい。圧縮対象データサイズの＊は、後述するヘッダに設定された圧縮対象データサイズやデフォルト値を用いることを意味する。この例は、圧縮アルゴリズムごとに圧縮対象データサイズを指定できるため、圧縮アルゴリズムが達成し得る圧縮率に応じて圧縮対象とするデータサイズを変えることが可能である。データ圧縮されたメッセージの送信に要する通信時間とデータ圧縮・復元時間は、トレードオフの関係にある。上記の圧縮対象データサイズは、データ圧縮が有効となる最小のデータサイズを意味する。
【００１８】
図５は、サーバプログラム１４１又はクライアントプログラム１０１の受信処理の処理手順を示すフローチャートである。通信モジュール１４２／１０２は、ネットワーク１３０を介して相手側のクライアント１００又はサーバ１４０からデータを受信して受信バッファに格納する（ステップ５０１）。次に電文圧縮／復元モジュール１４３／１０３は、以下に詳述する処理手順により、受信データに圧縮処理がされているか否かを判定する（ステップ５０２）。圧縮処理がされていなければ、受信処理を終了する。圧縮処理がされていれば、電文圧縮／復元モジュール１４３／１０３は、その圧縮アルゴリズムに従って受信データの復元処理を行う（ステップ５０３）。
【００１９】
図６は、ステップ５０２に相当し、圧縮適用の有無と圧縮アルゴリズムを判断する電文圧縮／復元モジュール１４３または１０３の処理手順を示すフローチャートである。電文圧縮／復元モジュール１４３／１０３は、受信したＨＴＴＰヘッダ中のコンテント・タイプを参照し（ステップ６０１）、圧縮の有無と圧縮アルゴリズムを判定する（ステップ６０２）。受信データが非圧縮であれば、電文圧縮／復元モジュール１４３／１０３の処理を終了する。受信データが圧縮されていれば、その識別子、すなわち圧縮アルゴリズムの種別を伴ってステップ５０３へ行く。
【００２０】
図７は、クライアント１００とサーバ７０５間にゲートウェイサーバ７０４を介在させたクライアント・サーバ・システムにおいて、送受信データの流れを示す図である。このシステムでは、サーバ７０５とゲートウェイサーバ７０４はネットワーク７０９を介して接続され、ゲートウェイサーバ７０４とクライアント１００はネットワーク７０８を介して接続されている。ゲートウェイサーバ７０４は、クライアント−サーバ間の中継装置として機能する計算機である。本例では、サーバ７０５とゲートウェイサーバ７０４の間の通信について、送信データのデータ圧縮を適用しないというインターオペラビリティ（相互運用性）を守るものとし、ゲートウェイサーバ７０４とクライアント１００の間の通信についてはこのインターオペラビリティを守らなくてもよいものとし、データ圧縮を適用するものとする。また例えばネットワーク７０９は高速回線、ネットワーク７０８は低速回線で構成される。ここではサーバ７０５とゲートウェイサーバ７０４の間の通信は分散オブジェクトの通信プロトコルに従うものとし、ゲートウェイサーバ７０４とクライアント１００の間の通信はＨＴＴＰプロトコルに従うものとする。サーバ７０５、ゲートウェイサーバ７０４及びクライアント１００の間に送受信される電文は分散オブジェクトの仕様に従っている。
【００２１】
クライアント１００は、分散オブジェクトとして定められた仕様に従ったサーバ７０５向けの要求メッセージを含む送信電文７０２を作成する。送信電文７０２は、アプリケーション層のヘッダとボディ部から成る。次にクライアント１００は、送信電文７０２をデータ圧縮した送信データ７０３を作成し、ＨＴＴＰヘッダを付加してゲートウェイサーバ７０４へ送信する。ゲートウェイサーバ７０４は、送信データ７０３を受信し、元の送信電文７０２を復元する。次にゲートウェイサーバ７０４は、分散オブジェクトのプロトコルに従って送信電文７０２をサーバ７０５へ送信する。ボディ部の（送信）は、クライアント１００からみた送信データを示す。
【００２２】
次にサーバ７０５は、分散オブジェクトとして定められた仕様に従った応答データを含む受信電文７０６を作成してゲートウェイサーバ７０４へ送信する。ゲートウェイサーバ７０４は、この受信電文７０６を受信し、受信電文７０６をデータ圧縮した受信データ７０７を作成し、ＨＴＴＰヘッダを付加してクライアント１００へ送信する。クライアント１００は、受信データ７０７を受信し、元の受信電文７０６を復元する。ボディ部の（受信）は、クライアント１００からみた受信データを示す。
【００２３】
図７に示すシステムは、ゲートウェイサーバ７０４−サーバ７０５間において分散オブジェクトのプロトコルに従った送信電文７０２及び受信電文７０６が送受信されるため、分散オブジェクト技術で規定されているインターオペラビリティを守ることが可能である。一方、ゲートウェイサーバ７０４−クライアント１００間では、データ圧縮を適用することによって通信時間を削減することができる。
【００２４】
図８は、図７に示すクライアント・サーバ・システムにおいて、ゲートウェイサーバ７０４が行う動的圧縮処理を中心とした処理の流れを示す図である。ゲートウェイサーバ７０４は、クライアント１００から非圧縮の送信電文７０２又は圧縮された送信データ７０３を受信してステップ５０１〜５０３の処理を行い、圧縮／非圧縮の識別子に従った復元処理を行う。このときゲートウェイサーバ７０４は、そのメモリに圧縮／非圧縮の識別子８０１を保存する。次にゲートウェイサーバ７０４は、復元された送信電文７０２をサーバ７０５へ送信する。
【００２５】
サーバ７０５は、送信電文７０２が要求する処理を行って応答データを含む受信電文７０６を作成する。応答データによっては、それが大容量データとなったり、圧縮率の悪いデータが発生する場合がある。サーバ７０５のアプリケーションプログラムは、このようなデータによって特に受信電文７０６について圧縮／非圧縮の識別子を指定する必要があると判断すると、受信電文７０６中に圧縮／非圧縮の識別子８０３を含める。そのデータ形式は、図４のデータ形式に準拠するが、識別子情報を格納する領域は、分散オブジェクト技術で規定されている挿入可能なデータ領域とする。サーバ７０５は、このようにして必要に応じて圧縮／非圧縮の識別子８０３を包含した受信電文７０６をゲートウェイサーバ７０４へ送信する。
【００２６】
ゲートウェイサーバ７０４は、サーバ７０５から受信電文７０６を受信し（ステップ２０１）、圧縮／非圧縮の識別子８０１又は圧縮／非圧縮の識別子８０３によって受信データを圧縮するか否かを判定する（ステップ８０２）。すなわち受信電文７０６中に圧縮／非圧縮の識別子８０３が設定されていれば、圧縮／非圧縮の識別子８０３に従ってこの判定を行う。圧縮／非圧縮の識別子８０３が設定されていなければ、圧縮／非圧縮の識別子８０１に従ってこの判定を行う。あるいは代替の方式として、圧縮／非圧縮の識別子８０１をメモリに保存せず、常に設定される圧縮／非圧縮の識別子８０３に従ってこの判定を行ってもよい。受信電文７０６を圧縮しない場合には、ゲートウェイサーバ７０４は、受信電文７０６のＨＴＴＰヘッダに非圧縮の識別子を設定し（ステップ２０３）、受信電文７０６をクライアント１００へ送信する（ステップ２０６）。受信電文７０６を圧縮する場合には、ゲートウェイサーバ７０４は、採用した識別子に設定された圧縮アルゴリズムに従って受信電文７０６を圧縮し、受信データ７０７のＨＴＴＰヘッダに圧縮の識別子を設定し（ステップ２０５）、受信データ７０７をクライアント１００へ送信する（ステップ２０６）。クライアント１００の送受信処理は、上記クライアントプログラム１０１の送受信処理の通りである。
【００２７】
なお他の実施例として、クライアント１００又はサーバ７０５は、送信メッセージのＨＴＴＰヘッダに圧縮対象データサイズを格納してゲートウェイサーバ７０４へ送信してもよい。この圧縮対象データサイズは、サーバ７０５からゲートウェイサーバ７０４へ送信されるデータの種類に応じて動的に変更可能である。ゲートウェイサーバ７０４は、ヘッダを解析し、この圧縮対象データサイズをメモリなどの記憶装置に保存する。サーバ７０５からデータを受信したとき、ゲートウェイサーバ７０４は、受信データのサイズがこの圧縮対象データサイズを越えているときデータの圧縮を行う。圧縮／非圧縮の識別子８０１と圧縮対象データサイズを組み合わせて用いてもよい。
【００２８】
クライアント１００とサーバ１４０との間に複数のゲートウェイサーバやサーバが介在し、クライアント１００又はサーバ１４０から送られたメッセージがこれらのゲートウェイサーバやサーバを含む通信経路を通過する場合に、クライアント１００又はサーバ１４０は、あらかじめ知られる特定の通信経路について送信メッセージのヘッダ部に圧縮対象データサイズを設定してもよい。この通信経路上のゲートウェイサーバやサーバは、この圧縮対象データサイズを保存し、受信データのサイズがこの圧縮対象データサイズを越えているときにデータ圧縮を行ってクライアント１００、サーバ１４０又は次のゲートウェイサーバやサーバへメッセージを送信する。
【００２９】
【発明の効果】
以上説明したように、本発明によれば、電文のデータ内容に応じてデータ圧縮を適用するか否かを決定するため、効率的に通信時間の削減を図ることが可能である。
【図面の簡単な説明】
【図１】実施形態のシステムの構成を示す図である。
【図２】実施形態の計算機の電文送信処理の処理手順を示すフローチャートである。
【図３】実施形態の電文圧縮を適用するか否かを判定する処理の処理手順を示すフローチャートである。
【図４】送信データに設定される圧縮／非圧縮の識別子の例を示す図である。
【図５】実施形態の計算機の電文受信処理の処理手順を示すフローチャートである。
【図６】実施形態の圧縮適用の有無を判定する処理の処理手順を示すフローチャートである。
【図７】実施形態において、クライアント−サーバ間にゲートウェイサーバを配置したシステムの構成図である。
【図８】実施形態のゲートウェイサーバ７０４が行う圧縮復元処理を中心とした処理の流れを示す図である。
【符号の説明】
１００…クライアント、１０１…クライアントプログラム、１０２，１４２…通信モジュール、１０３，１４３…電文圧縮／復元モジュール、１０４，１４４…電文圧縮適用判断モジュール、１４０…サーバ、１４１…サーバプログラム。
【図１】
2004341884.tif 000003
【図２】
2004341884.tif 000004
【図３】
2004341884.tif 000005
【図４】
2004341884.tif 000006
【図５】
2004341884.tif 000007
【図６】
2004341884.tif 000008
【図７】
2004341884.tif 000009
【図８】
2004341884.tif 000010