(57)【要約】【課題】  データを生成するアプリケーションソフトウエアやこれを作動させるオペレーティングシステムの機能等を変更することなく、通信速度を飛躍的に向上させることができる。また、一つのオペレーティングシステム上で作動する複数のアプリケーションソフトウエアに対しても共通して適用することができるデータ通信方法及びデータ通信システムを提供する。【解決手段】  送信側及び受信側コンピュータ１，２に、通信回線３を介してデータ交換を行うアプリケーションソフトウエアＣ，Ｓを設けるとともに、これらコンピュータ又はこれらコンピュータと一体的に作動するコンピュータに通信代理ソフトウエアＶＳ，ＶＣを設け、上記各コンピュータのオペレーティングシステムＯ1 ，Ｏ2 、上記通信代理ソフトウエア及び通信回線を介して、上記アプリケーションソフトウエアで生成されたデータの送受信を行う。【選択図】  図１
2005192157.tif 000002
【特許請求の範囲】
【請求項１】
送信側及び受信側コンピュータに、通信回線を介してデータ交換を行うアプリケーションソフトウエアを設けるとともに、これらコンピュータ又はこれらコンピュータと一体的に作動するコンピュータに通信代理ソフトウエアを設け、上記各コンピュータのオペレーティングシステム、上記通信代理ソフトウエア及び通信回線を介して、上記アプリケーションソフトウエアで生成されたデータの送受信を行うデータ通信方法であって、
送信側アプリケーションソフトウエアないしオペレーティングシステムが生成した送信データパケットを、送信側通信代理ソフトウエアが疑似受信するとともに、上記送信データパケットに応じて疑似受信応答を発行する疑似受信行程と、
疑似受信した所定量の送信データパケットを蓄積するバッファ行程と、
蓄積した上記送信データパケットを一体化するとともに、送信データの形態及び／又は通信環境に応じた最適な再編データを生成する再編データ生成行程と、
上記再編データを上記オペレーティングシステム及び上記通信回線を介して受信側コンピュータに送信するデータ送信行程と、
受信側通信代理ソフトウエアが、上記オペレーティングシステムを介して上記再編データを受信するデータ受信行程と、
上記受信側通信代理ソフトウエアが、受信した上記再編データから上記送信データパケットを再生する送信データパケット再生行程と、
上記送信データパケットを上記オペレーティングシステムを介して受信側アプリケーションソフトウエアに転送する送信データパケット転送行程とを含む、データ通信方法。
【請求項２】
上記再編データ生成行程において、
一体化された上記送信データパケットに、送信側と受信側の通信代理ソフトウエア間で適用される独自プロトコル処理を行うとともに圧縮処理を行って、上記再編データを生成する、請求項１に記載のデータ通信方法。
【請求項３】
上記オペレーティングシステムが通信に最適なパケットサイズないし受信窓サイズの送信データを生成できるように、上記バッファ行程におけるデータの蓄積量を設定するとともに、上記再編データ生成行程におけるデータの圧縮率を設定する、請求項１又は請求項２のいずれかに記載のデータ通信方法。
【請求項４】
上記バッファ行程及び／又は上記再編データ生成行程は、疑似受信した送信データパケット及び／又はこれらを一体化したデータの形態を変更するデータ加工行程を含む、請求項１から請求項３のいずれかに記載のデータ通信方法。
【請求項５】
上記バッファ行程は、
蓄積される上記送信データパケットの情報量を計数する情報量計数行程と、
上記送信データパケットの内容を解析する情報解析行程と、
上記計数された蓄積情報量及び／又は解析された情報内容によって上記バッファを解除し、蓄積データを上記再編データ生成行程に引き渡すバッファ解除行程とを含む、請求項１から請求項４のいずれかに記載のデータ通信方法。
【請求項６】
上記通信回線におけるデータの通信速度及び／又は通信形態を検出する通信状態検出行程を含み、
上記通信状態検出行程において検出されたデータの通信速度及び／又は通信形態に基づいて、上記バッファ行程におけるデータ蓄積量及び／又は上記再編データ生成行程における上記データ圧縮率を調整する、請求項１から請求項５のいずれかに記載のデータ通信方法。
【請求項７】
上記データ加工行程において、一体化された上記データにスクランブル処理を施す、請求項１から請求項６のいずれかに記載のデータ通信方法。
【請求項８】
上記データ加工行程において、受信側コンピュータ及び／又は受信側アプリケーションソフトウエアに応じて上記データの形態を変更する、請求項１から請求項７のいずれかに記載のデータ通信方法。
【請求項９】
各々のオペレーティングシステム上で作動するクライアントとサーバとを通信回線を介して接続し、上記クライアントにおいて生成されるリクエストを上記サーバに送信するとともに、上記サーバにおいて上記エクエストに応じたレスポンスを生成して上記クライアントに送信するデータ通信システムであって、
上記クライアント側に仮想サーバを設けるとともに上記サーバ側に仮想クライアントを設け、
上記仮想サーバは、
上記クライアントないしクライアント側オペレーティングシステムで生成されたリクエストパケットを上記オペレーティングシステムから疑似受信するとともに、上記リクエストパケットに応じて疑似受信応答を発行するリクエスト疑似受信手段と、
所定情報量のリクエストパケットを蓄積できるバッファ手段と、
蓄積した上記リクエストパケットを一体化するとともに、情報形態及び／又は通信環境に最適な再編リクエストデータを生成する再編リクエストデータ生成手段と、
上記再編リクエストデータを上記オペレーティングシステム及び上記通信回線を介して上記仮想クライアントに向けて送信する再編リクエストデータ送信手段と、
上記仮想クライアントによって生成される再編レスポンスデータを上記オペレーティングシステムを介して受信する再編レスポンスデータ受信手段と、
受信した上記再編レスポンスデータから上記サーバないしサーバ側オペレーティングシステムで生成されたレスポンスパケットを再生するレスポンスパケット再生手段と、
再生した上記レスポンスパケットを上記オペレーティングシステムを介して上記クライアントに転送するレスポンスパケット転送手段とを備える一方、
上記仮想クライアントは、
上記仮想サーバから送信された上記再編リクエストデータを上記オペレーティングシステムを介して受信する再編リクエストデータ受信手段と、
上記再編リクエストデータから上記リクエストパケットを再生するリクエストパケット再生手段と、
再生した上記リクエストパケットを上記オペレーティングシテステムを介して上記サーバに転送するリクエストパケット転送手段と、
上記レスポンスパケットを上記オペレーティングシステムを介して疑似受信するとともに、上記レスポンスパケットに応じて疑似受信応答を発行するレスポンス疑似受信手段と、
所定情報量の上記レスポンスパケットを蓄積できるバッファ手段と、
蓄積した上記レスポンスパケットを一体化するとともに、情報形態及び／又は通信環境に最適な上記再編レスポンスデータを生成する再編レスポンスデータ生成手段と、
上記再編レスポンスデータを、上記オペレーティングシステム及び上記通信回線を介して上記仮想サーバに向けて送信する再編レスポンスデータ送信手段とを備える、データ通信方法。
【請求項１０】
上記再編リクエストデータ生成手段及び上記再編レスポンスデータ生成手段は、
一体化された上記リクエストパケット又は上記レスポンスパケットに、上記仮想サーバと上記仮想クライアント間で適用される独自プロトコル処理を行う独自プロトコル処理手段と、
上記独自プロトコル処理されたデータを圧縮処理するデータ圧縮手段とを備える、請求項９に記載のデータ通信システム。
【請求項１１】
各オペレーティングシステムにおいて通信に最適なパケットサイズないし受信窓サイズの送信データが生成されるように、上記各バッファ手段におけるデータ蓄積量及び／又は上記各圧縮手段における圧縮率を調節するデータ最適化手段を備える、請求項９又は請求項１０のいずれかに記載のデータ通信システム。
【請求項１２】
上記再編リクエストデータ生成手段及び上記再編レスポンスデータ生成手段は、上記リクエストパケット又は上記レスポンスパケット、及び／又は各パケットを一体化したデータの形態を変更するデータ加工手段を備える、請求項９から請求項１１のいずれかに記載のデータ通信システム。
【請求項１３】
上記仮想サーバ及び上記仮想クライアントにおける上記バッファ手段は、
蓄積される上記リクエストパケット又は上記レスポンスパケットの情報量を計数する計数手段と、
蓄積される上記リクエストパケット及び上記レスポンスパケットの内容を解析する情報解析手段と、
上記計数手段によって計数された蓄積情報量及び／又は上記解析手段によって解析された情報内容によって、それまでに蓄積した上記リクエストパケット又は上記レスポンスパケットを、上記再編リクエストデータ生成手段又は上記再編レスポンスデータ生成手段に引き渡すバッファ解除手段とを備える、請求項９から請求項１２のいずれかに記載のデータ通信システム。
【請求項１４】
上記データ最適化手段は、
上記通信回線におけるデータ通信速度及び／又は通信データ形態を検出する通信状態検出手段を備えるとともに、
上記通信状態検出手段によって検出された通信状態に基づいて、上記バッファ手段におけるデータ蓄積量及び／又は上記各圧縮手段における圧縮率を最適化する、請求項９から請求項１３のいずれかに記載のデータ通信システム。
【請求項１５】
上記データ加工手段は、一体化された上記パケットデータにスクランブル処理を行うスクランブル処理手段を含む、請求項９から請求項１４のいずれかに記載のデータ通信システム。
【請求項１６】
上記データ加工手段は、受信側コンピュータ及び／又は受信側アプリケーションソフトウエアに応じて、データの形態を変更するデータ形態変更手段を含む、請求項９から請求項１５のいずれかに記載のデータ通信システム。
【請求項１７】
上記バッファ解除手段は、上記計数手段が４Ｋバイト〜４Ｍバイトの蓄積情報量を検出した場合又は上記解析手段がエスケープシーケンスを検出した場合に上記バッファの解除を行って、上記蓄積情報を上記再編リクエストデータ生成手段又は上記再編レスポンスデータ生成手段に引き渡す一方、
上記再編リクエストデータ生成手段及び上記再編レスポンスデータ生成手段は、上記圧縮手段及び上記データ加工手段によって、１．５Ｋバイト〜１．５Ｍバイトの情報量を有する再編リクエストデータ又は再編レスポンスデータを生成する、請求項９から請求項１６のいずれかに記載のデータ通信シンステム。
【請求項１８】
上記仮想サーバ及び上記仮想クライアントは、上記クライアント又は上記サーバを格納したクライアント機又はサーバ機に、それぞれのオペレーティングシステム上で作動するアプリケーションソフトウエアとして設けられる、請求項９から請求項１７のいずれかに記載のデータ通信システム。
【請求項１９】
上記仮想サーバ及び／又は上記仮想クライアントは、上記クライアント機又は上記サーバ機と共働して通信を行う通信用サーバ内に設けられており、これら通信用サーバが上記通信回線に接続されてデータの送受信を行う、請求項９から請求項１７のいずれかに記載のデータ通信システム。
【請求項２０】
通信回線を介して接続される２以上のコンピュータにそれぞれ格納されたアプリケーションソフトウエア間でデータを送受信するデータ通信システムにおいて、上記各コンピュータ又はこれらコンピュータと一体的に作動するコンピュータに格納されてそれぞれのオペレーティングシステムで作動させられるとともに、上記アプリケーションソフトウエア間のデータ通信を媒介する通信代理ソフトウエアプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
送信側のアプリケーションソフトウエアないしオペレーティングシステムで生成されたデータパケットを上記オペレーティングシステムから疑似受信するとともに、上記データパケットに応じて疑似受信応答を発行する疑似受信手段と、
所定情報量の上記データパケットを蓄積できるバッファ手段と、
蓄積した上記データパケットを一体化するとともに、情報形態及び／又は通信環境に最適な再編データを生成する再編データ生成手段と、
上記再編データを上記オペレーティングシステム及び上記通信回線を介して受信側コンピュータに向けて送信する再編データ送信手段と、
他のコンピュータにおける上記各手段によって生成された再編データを、上記通信回線及び上記オペレーティングシステムを介して受信する再編データ受信手段と、
受信した上記再編データから、上記他のコンピュータにおいて生成されたデータパケットを再生するデータパケット再生手段と、
再生した上記データパケットを上記オペレーティングシステムを介して上記アプリケーションソフトウエアに転送するデータパケット転送手段とを含む、通信代理ソフトウエアプログラムを記録してあることを特徴とする、コンピュータ読み取り可能な記録媒体。
【請求項２１】
上記再編データ生成手段は、
一体化された上記データパケットに、送信側と受信側の上記通信代理ソフトウエア間で適用される独自プロトコル処理を行う独自プロトコル処理手段と、
上記独自プロトコル処理されたデータを圧縮するデータ圧縮手段とを含む通信代理ソフトウエアプログラムを記録してあることを特徴とする、請求項２０に記載のコンピュータ読み取り可能な記録媒体。
【請求項２２】
各オペレーティングシステムにおいて、通信に最適なパケットサイズないし受信窓サイズの送信データが生成されるように、上記各バッファ手段におけるデータ蓄積量及び／又は上記各圧縮手段における圧縮率を調節するデータ最適化手段をを含む送信代理ソフトウエアプログラムを記録してあることを特徴とする、請求項２０又は請求項２１のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
上記再編データ生成手段及は、データの形態を変更するデータ加工手段を含む送信代理ソフトウエアプログラムを記録してあることを特徴とする、請求項２０から請求項２２のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
上記バッファ手段は、
蓄積される上記データパケットの情報量を計数する計数手段と、
蓄積される上記データパケットの内容を解析する情報解析手段と、
上記計数手段によって計数された蓄積情報量及び／又は上記解析手段によって解析された情報内容によって、それまでに蓄積した上記データパケットを、上記再編データ生成手段に引き渡すバッファ解除手段とを含む送信代理ソフトウエアプログラムを記録してあることを特徴とする、請求項２０から請求項２３のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【請求項２５】
上記データ最適化手段は、上記通信回線におけるデータ通信速度及び／又は通信データ形態を検出する通信状態検出手段を含み、
上記通信状態検出手段によって検出された上記データ通信速度及び／又は上記通信データ形態に基づいて、上記バッファ手段におけるデータ蓄積量及び／又は再編データ送信手段におけるデータ圧縮率を最適化して再編データを生成する送信代理ソフトウエアプログラムを記録してあることを特徴とする、請求項２０から請求項２４のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、通信回線を介して接続されたコンピュータ間で、データの送受信を行うデータ通信方法及びこの通信方法をクライアント・サーバシステムに適用した通信システムに関する。
【背景技術】
【０００２】
たとえば、インターネット等のネットワーク上に設定したＷＥＢサーバにＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等を用いてコンテンツを形成し、クライアント側に設けたブラウザソフトから上記ネットワークを介して上記ＷＥＢサーバに向けてリクエストを送信し、上記ＷＥＢサーバから上記リクエストに対応したコンテンツを上記クライアントに送信して表示等するＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）通信システムが一般に普及している。上記通信システムを実行するため、たとえば、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルがアプリケーションソフトウエアである上記ブラウザソフトに組み込まれている。
【０００３】
通常、上記ＨＴＴＰ等の通信プロトコルは、上記ブラウザソフトを作動させるオペレーティングシテスムのストリーム型通信プロトコル（たとえば、ＴＣＰ／ＩＰ）上にクライアント・サーバモデルのアプリケーションプロトコルとして構築されている。
【０００４】
上記アプリケーションプロトコルで生成されたリクエスト等の送信データは、上記オペレーティングシステムに引き渡され、所定情報量のパケットに分割されるとともに通信プロトコルによるヘッダが付加され、上記通信回線を介してサーバへ送信される。
【０００５】
上記従来の通信手法においては、各パケットで送信できる情報量が限られている。したがって、大きなデータは、多数のパケットに分割されるとともに、これら各パケットに上記通信プロトコルヘッダが付加されて送信される。このため、上記ブラウザやサーバで生成された情報量に比べて送信情報量が大きくなり、また、パケット数が増加して通信効率が低下することが多い。
【０００６】
また、実際のデータの送受信では、複数のパケットごとに受信側コンピュータから受信応答がなされる。このため、送受信の回数が増加してさらに通信効率が低下する。
【０００７】
一方、上記ＨＴＴＰプロトコルが、オペレーティングシステムや物理媒体等の通信環境に最適な状態で送信データを生成し、上記オペレーティングシステムに引き渡すとは限らない。すなわち、上記パケットサイズや上記受信応答なしに送信できる送信窓サイズに満たない送信データが生成されることも多い。この問題を解決するため、種々の手法が提案されている。
【特許文献１】特開２０００−１２４９５０
【特許文献２】特開２００２−８４２８９
【特許文献３】特開２００２−８４３１２
【０００８】
特許文献１には、送信側アプリケーションソフトウエアにおいて、物理媒体に最適なデータ長でデータの転送ができるとともに、ＴＣＰ／ＩＰプロトコルスタックのバッファ管理を効率的に行える送受信パラメータ設定方法が記載されている。
【０００９】
特許文献２には、端末本体に通信ボードを設け、この通信ボードによってパケットを通信に最適な形態に分割し、あるいは組み立てるように構成したＴＣＰ通信方法が記載されている。
【００１０】
特許文献３には、ブロック内での未使用領域の発生を抑制し、パケット長をブロック長で最適化することにより、実効伝送速度を向上できるパケット伝送方法が記載されている。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記特許文献１に記載された送受信パラメータ設定方法は、データを生成するアプリケーションソフトウエアが、ＭＴＵ通知手段から通信に最適なＭＴＵを知り、ＴＣＰ等のオペレーティングシステム上の通信プロトコルのパラメータを設定するとともに、設定したパラメータに最適な情報量のデータを生成して、上記ＴＣＰ等に引き渡すように構成されている。
【００１２】
しかしながら、上記方法によると、各端末にＭＴＵ通知手段をそれぞれ設けるとともに、送信データを生成する各アプリケーションソフトウエアごとにデータサイズ通知手段やこれに応じたデータの生成等するためのプログラムを設けなければならない。
【００１３】
また、特許文献１に記載されている方法では、オペレーティングシステムにおける送受信バッファを最適化することにより、送受信の効率を高めようとしている。しかしながら、アプリケーションソフトウエアやオペレーティングシステムにおいて生成される情報量自体を減少させるものではない。
【００１４】
上記特許文献２に記載されているＴＣＰ通信方法では、端末装置に通信ボードを設ける必要がある。したがって、すべての端末装置適用するのは困難である。また、ハードウエアによって通信効率を高めるものであるため、装置に要するコストも大きくなる。
【００１５】
上記特許文献３に記載されているパケット伝送方法は、上記特許文献１と同様に、各端末にＭＴＵ通知手段をそれぞれ設けるとともに、送信データを生成する各アプリケーションソフトウエアごとに上記方法を実行するためのプログラムを搭載する必要が生じる。また、特許文献１と同様にアプリケーションソフトウエアで生成される情報量自体を減少させるものではない。
【課題を解決するための手段】
【００１６】
本願発明は、データを生成するアプリケーションソフトウエアやこれを作動させるオペレーティングシステムの機能等を変更することなく、通信速度を飛躍的に向上させることができる。また、一つのオペレーティングシステム上で作動する複数のアプリケーションソフトウエアに対しても共通して適用することができるデータ通信方法及びデータ通信システムを提供するものである。
【００１７】
本願の請求項１に記載した発明は、送信側及び受信側コンピュータに、通信回線を介してデータ交換を行うアプリケーションソフトウエアを設けるとともに、これらコンピュータ又はこれらコンピュータと一体的に作動するコンピュータに通信代理ソフトウエアを設け、上記各コンピュータのオペレーティングシステム、上記通信代理ソフトウエア及び通信回線を介して、上記アプリケーションソフトウエアで生成されたデータの送受信を行うデータ通信方法である。
【００１８】
上記通信データの種類は特に限定されることはない。コンテンツデータのみならず、通信に要するアプリケーションプロトコル、検索コマンド等のデータも含まれる。また、上記通信代理ソフトウエアは、上記アプリケーションソフトウエアを設けたコンピュータと同一のコンピュータにインストールして共通のオペレーティングシステム上で作動させることができる。また、上記通信代理ソフトウエアを、送信側及び受信側に別途設けられて上記アプリケーションソフトウエアと共働して通信を行う通信用マイクロサーバ等に設けることもできる。
【００１９】
本願発明に係るデータ通信方法は、送信側アプリケーションソフトウエアないしオペレーティングシステムが生成した送信データパケットを、送信側通信代理ソフトウエアが疑似受信するとともに、上記送信データパケットに応じて疑似受信応答を発行する疑似受信行程と、疑似受信した所定量の送信データパケットを蓄積するバッファ行程と、蓄積した上記送信データパケットを一体化するとともに、送信データの形態及び／又は通信環境に応じた最適な再編データを生成する再編データ生成行程と、上記再編データを上記オペレーティングシステム及び上記通信回線を介して受信側コンピュータに送信するデータ送信行程と、受信側通信代理ソフトウエアが、上記オペレーティングシステムを介して上記再編データを受信するデータ受信行程と、上記受信側通信代理ソフトウエアが、受信した上記再編データから上記送信データパケットを再生する送信データパケット再生行程と、上記送信データパケットを上記オペレーティングシステムを介して受信側アプリケーションソフトウエアに転送する送信データパケット転送行程とを含んで構成される。
【００２０】
本願発明では、送信データを生成するアプリケーションソフトウエアとは別途に、上記送信データを通信に最適な形態に再編する通信代理ソフトウエアを設ける。上記通信代理ソフトウエアは、上記アプリケーションソフトウエアと同一のコンピュータにインストールされ、あるいは別途に設けた通信用サーバ等に設定される。このため、上記アプリケーションソフトウエア、オペレーティングシステム及びハードウエアの構成を変更したり、機能を調節する必要はない。
【００２１】
送信側アプリケーションソフトウエアで生成された送信データは、オペレーティングシステムに引き渡されてデータパケットに分割され、通信プロトコルが付加される。本願発明では、上記データパケットを、上記送信側通信代理ソフトウエアに疑似受信させる。すなわち、上記アプリケーションソフトウエア及び上記オペレーティングシステムは、送信先のコンピュータへ送信するのと全く同じ手順で送信データを上記通信代理ソフトウエアに送信するとともに、上記通信代理ソフトウエアが送信先コンピュータが受信したのと同様の手順で疑似受信する。
【００２２】
上記疑似順行程においては、通常のデータ送受信手順とと全く同様に、上記送信データパケットに応じた疑似受信応答が、上記オペレーティングシステムないし上記アプリケーションソフトウエアに向けて発行される。なお、送信側及び受信側のオペレーティングシステム等の設定により、複数のデータパケットから構成されるパケット群に対して上記受信応答が発行される場合もある。上記疑似受信行程は、同一のコンピュータ内、あるいは同一と見なせる範囲のコンピュータで行われるため、通信回線の混雑等の影響は全く受けることはない。したがって、高速でデータを転送することができる。
【００２３】
上記データを受信した通信代理ソフトウエアでは、疑似受信した所定量の送信データパケットを蓄積するバッファ行程が行われる。上記バッファ行程においては、受信した各送信データパケットから上記オペレーティングシステムで付与されたプロトコルを削除した状態でデータの蓄積が行われる。
【００２４】
上記バッファ行程は、請求項５に記載した発明のように、蓄積される上記送信データパケットの情報量を計数する情報量計数行程と、上記送信データパケットの内容を解析する情報解析行程と、上記計数された蓄積情報量及び／又は解析された情報内容によって上記バッファを解除し、蓄積データを上記再編データ生成行程に引き渡すバッファ解除行程とを含んで構成される。
【００２５】
上記バッファ行程におけるデータ蓄積量は、あらかじめ設定され、あるいは、通信状況等に応じて動的に調節することができる。また、データパケットの内容を解析することにより、疑似受信応答の要否やデータ送信の要否を判断することが可能となる。したがって、アプリケーションソフトウエアからの送信データを円滑に受信することが可能となる。
【００２６】
次に、蓄積した上記送信データパケットを一体化するとともに、一体化したデータから、送信形態及び／又は通信環境に応じた最適な再編データを生成する再編データ生成行程が行われる。
【００２７】
上記再編データ生成行程においては、請求項２に記載した発明のように、一体化された上記送信データパケットに、送信側と受信側の通信代理ソフトウエア間で適用される独自プロトコル処理を行うとともに圧縮処理を行って、上記再編データが生成される。
【００２８】
上記独自のプロトコルとして、受信側の通信代理ソフトウエアにおいて、アプリケーションソフトウエアないしオペレーティングシステムにおいて生成された送信データパケットを再生するとともに、転送効率をたかめるための種々のプロトコルを採用できる。また、蓄積された情報及び情報量に応じて最適なプロトコルを選択して適用することも可能となる。たとえば、上記アプリケーションソフトウエアで採用される通信プロトコルより通信効率の良いプロトコルに変更して送信データを生成することもできる。
【００２９】
さらに、上記独自プロトコル処理を施したデータに圧縮操作を施すことにより、送信データ量自体を格段に減少させることができる。また、圧縮方法を、送信されるデータ量やデータの種類に応じて選択できるように構成することにより、さらに送信効率を高めることが可能となる。これにより、種々のデータに最適な編成データを生成することが可能となる。
【００３０】
本願の請求項３に記載した発明は、上記オペレーティングシステムが通信に最適なパケットサイズないし受信窓サイズの送信データを生成できるように、上記バッファ行程におけるデータを蓄積量を設定するとともに、上記再編データ生成行程におけるデータの圧縮率を設定するものである。
【００３１】
本願発明は、オペレーティングシステムにおける通信プロトコルやパラメータを変更するものではないが、ＴＣＰ／ＩＰ等における最大転送単位に対応した送信データを生成することにより、送信効率を高めることが可能となる。本願発明では、上記送信単位に対応した情報量の送信データが、上記オペレーティングシステムにおいて生成されるように、上記バッファ行程におけるバッファ量と、上記再編データ生成行程における圧縮率を調整する。
【００３２】
上記通信に最適なパケットサイズないし受信窓サイズは、通信代理ソフトウエアをインストールする際に、オペレーティングシステムや送信先の情報に基づいて設定することができる。また、請求項６に記載した発明のように、上記通信回線におけるデータの通信速度及び／又は通信形態を検出する通信状態検出行程を含ませ、上記通信状態検出行程において検出されたデータの通信速度及び／又は通信形態に基づいて、上記バッファ行程におけるデータ蓄積量及び／又は上記再編データ生成行程における上記データ圧縮率を調整することができる。
【００３３】
上記バッファ量及び上記データ圧縮率を、通信に最適なデータが生成されるように調整することにより、アプリケーションソフトウエアにおいて生成されたデータの種類やデータ量に最適な通信を行うことができる。また、オペレーティングシステム、送信先のコンピュータ及びアプリケーションソフトウエアに対応したデータ通信を行うことも可能となる。特に、受信窓は、データを送受信するコンピュータ間での特性であるため、上記通信状態検出行程を行うのが好ましい。たとえば、送信側通信代理ソフトウエアから受信側通信代理ソフトウエアにダミーデータを送信して、上記情報を得ることができる。
【００３４】
さらに、本願の請求項４に記載した発明のように、上記バッファ行程及び／又は上記再編データ生成行程に、疑似受信した送信データパケット及び／又はこれらを一体化した送信データの形態を変更するデータ加工行程を含ませることができる。
【００３５】
たとえば、請求項７に記載した発明のように、上記データ加工行程において、一体化された上記送信データにスクランブル処理を施すことにより、通信の安全生が格段に向上する。
【００３６】
また、請求項８に記載した発明のように、上記データ加工行程において、受信側コンピュータ及び／又は受信側アプリケーションソフトウエアに応じて上記データの形態を変更することができる。すなわち、画像データ等を送信する場合、送信先の端末の種類等に応じてデータを間引きしたり、データの形態やフォーマットを変更して、送信速度を高めることも可能となる。たとえば、送信先がモバイル機器や携帯電話等の機能が低い機器に、サーバ等から注出した大きな画像データを送信する場合には、データサイズを小さく加工するとともに、サーバにおいて付加されアプリケーションプロトコルのサイズ情報を変更して、再編データを生成することができる。また、送信側アプリケーションで生成されたサイズの大きなデータの形式を変更してサイズを縮小するとともに、アプリケーションプロトコルのデータ種別情報を変更して再編データを生成することもできる。
【００３７】
本願の請求項９から請求項１９に記載した発明は、本願発明をサーバ・クライアントシステムに適用したものである。本願発明が適用されるシステムの種類は特に限定されることはなく、インターネットで採用されるＷＷＷ通信システムのみならず、専用回線を利用したデータの送受信にも適用することができる。
【００３８】
本願の請求項９に記載した発明は、各々のオペレーティングシステム上で作動するクライアントとサーバとを通信回線を介して接続し、上記クライアントにおいて生成されるリクエストを上記サーバに送信するとともに、上記サーバにおいて上記エクエストに応じたレスポンスを生成して上記クライアントに送信するデータ通信システムであって、上記クライアント側に仮想サーバを設けるとともに上記サーバ側に仮想クライアントを設けて構成される。
【００３９】
上記仮想サーバは、上記サーバ側に向けてデータを送信するための手段として、上記クライアントないしクライアント側オペレーティングシステムで生成されたリクエストパケットを上記オペレーティングシステムから疑似受信するとともに、上記リクエストパケットに応じて疑似受信応答を発行するリクエスト疑似受信手段と、所定情報量のリクエストパケットを蓄積できるバッファ手段と、蓄積した上記リクエストパケットを一体化するとともに、情報形態及び／又は通信環境に最適な再編リクエストデータを生成する再編リクエストデータ生成手段と、上記再編リクエストデータを上記オペレーティングシステム及び上記通信回線を介して上記仮想クライアントに向けて送信する再編リクエストデータ送信手段とを備える。
【００４０】
また、上記仮想サーバは、サーバ側からのデータを受信するための手段として、上記仮想クライアントによって生成される再編レスポンスデータをクライアント側オペレーティングシステムを介して受信する再編レスポンスデータ受信手段と、受信した上記再編レスポンスデータから上記サーバないしサーバ側オペレーティングシステムで生成されたレスポンスパケットを再生するレスポンスパケット再生手段と、再生した上記レスポンスパケットを上記オペレーティングシステムを介して上記クライアントに転送するレスポンスパケット転送手段とを備える。
【００４１】
一方、上記仮想クライアントは、上記クライアント側からのデータを受信するための手段として、上記仮想サーバから送信された上記再編リクエストデータをサーバ側オペレーティングシステムを介して受信する再編リクエストデータ受信手段と、上記再編リクエストデータから上記リクエストパケットを再生するリクエストパケット再生手段と、再生した上記リクエストパケットをサーバ側オペレーティングシテステムを介して上記サーバに転送するリクエストパケット転送手段とを備える。
【００４２】
また、上記仮想クライアントは、上記サーバで生成されたデータを上記クライアント側に向けて送信するための手段として、上記レスポンスパケットをサーバ側オペレーティングシステムを介して疑似受信するとともに、上記レスポンスパケットに応じて疑似受信応答を発行するレスポンス疑似受信手段と、所定情報量の上記レスポンスパケットを蓄積できるバッファ手段と、蓄積した上記レスポンスパケットを一体化するとともに、情報形態及び／又は通信環境に最適な上記再編レスポンスデータを生成する再編レスポンスデータ生成手段と、上記再編レスポンスデータを、サーバ側オペレーティングシステム及び上記通信回線を介して上記仮想サーバに向けて送信する再編レスポンスデータ送信手段とを備える。
。
【００４３】
上記仮想サーバ及び上記仮想クライアントは、上記クライアント及び上記サーバを設けたコンピュータにそれぞれのソフトウエアをインストールして、上記リクエストあるいは上記レスポンスを生成するクライアントソフトウエアあるいはサーバソフトウエアと同一のオペレーションシステムで作動させることができる。
【００４４】
また、クライアント側及び／又はサーバ側に専用のマイクロサーバ等を別途設けてこのマイクロサーバに格納することがもきる。この場合、上記クライアントと上記仮想サーバ、上記サーバと上記仮想クライアントとを結ぶ回線は、インターネット等の一般通信回線に比べて高速でデータを転送できるものであるのが望ましい。
【００４５】
上記リクエスト及び上記レスポンスはブラウザ等のクライアントソフトウエアやウエブサーバ等のサーバソフトウエアによって生成される。一つのリクエストやレスポンスの情報量は、採用されるソフトウエアや送信するコンテンツによって大きく異なる。たとえば、データベースコマンドのようなリクエストは、情報量が小さい。一方、画像等のコンテンツ情報量は非常に大きい。
【００４６】
たとえば、クライアントソフトウエアあるいはデータベースソフトウエアによって生成されたリクエストあるいはレスポンスは、ＨＴＴＰ等のアプリケーション層における通信プロトコル処理がなされて、オペレーティングシステムに引き渡される。この場合、引き渡された情報量が、一つのパケットに収容できる大きさより大きい場合には複数のパケットに分割され、これら各パケットについて、ＴＣＰ／ＩＰ等の通信プロトコルに応じたヘッダがそれぞれ付加されて、各々送信手続きが実行される。
【００４７】
本願発明に係る通信システムにおいては、上記リクエストを上記サーバに送信するのではなく、まず仮想サーバに向けて送信する。そして、上記仮想サーバは、疑似受信手段によって、あたかも真のサーバのように上記リクエストを疑似受信する。真のサーバを装うため、上記リクエストパケットに応じて疑似受信応答を発行するリクエスト疑似受信手段が設けられている。上記疑似受信応答は、オペレーションシステムの設定等により、各パケットに対して発行される場合もあるし、複数のパケット群に対して発行される場合もある。
【００４８】
上記仮想サーバ及び仮想クライアントにおけるバッファ手段は、１又は２以上のリクエストパケットあるいはレスポンスパケットを蓄積することができる。上記バッファ手段は、請求項１３に記載した発明のように、蓄積される上記リクエストパケット又は上記レスポンスパケットの情報量を計数する計数手段と、蓄積される上記リクエストパケット及び上記レスポンスパケットの内容を解析する情報解析手段と、上記計数手段によって計数された蓄積情報量及び／又は上記解析手段によって解析された情報内容によって、それまでに蓄積した上記リクエストパケット又は上記レスポンスパケットを、上記再編リクエストデータ生成手段又は上記再編レスポンスデータ生成手段に引き渡すバッファ解除手段とを備えて構成することができる。
【００４９】
本願の請求項１０に記載した発明のように、上記再編リクエストデータ生成手段及び上記再編レスポンスデータ生成手段を、一体化された上記リクエストパケット又は上記レスポンスパケットに上記仮想サーバと上記仮想クライアント間で適用される独自プロトコル処理を行う独自プロトコル処理手段と、上記独自プロトコル処理されたデータを圧縮処理するデータ圧縮手段とを備えて構成することができる。
【００５０】
また、請求項１１に記載した発明のように、上記再編リクエストデータ生成手段及び上記再編レスポンスデータ生成手段は、各オペレーティングシステムにおいて通信に最適なパケットサイズないし受信窓サイズの送信データが生成されるように、上記各バッファ手段におけるデータ蓄積量及び／又は上記各圧縮手段における圧縮率を調節するデータ最適化手段を備えて構成することができる。
【００５１】
上記データ最適化手段を、請求項１４に記載した発明のように、上記通信回線におけるデータ通信速度及び／又は通信データ形態を検出する通信状態検出手段を備えて構成し、上記通信状態検出手段によって検出された通信状態に基づいて、上記バッファ手段におけるデータ蓄積量及び／又は上記各圧縮手段における圧縮率を最適化するように構成することができる。
【００５２】
オペレーティングシステムにおける通信プロトコルは、通信の確実性を確保するため、送信先からの受信応答があった後に次のパケットあるいはパケット群を送信するように設定されている。上記受信窓サイズは、受信応答なしに送信あるいは受信できるデータ量である。したがって、パケットの場合と同様に、クライアントからオペレーティングシステムに引き渡される一つのリクエストをパケットに分割したとき、上記受信窓サイズより大きい場合には、受信応答の数が増加して通信効率が低下することになる。
【００５３】
本願発明は、仮想サーバ及び仮想クライアントにおいて、各オペレーティングシステムに引き渡される情報量を調節し、オペレーティングシステムによって最適な情報量のパケット、あるいは受信窓に対応した情報量のパケット群が形成されるように構成したものである。
【００５４】
たとえば、圧縮処理を施した後に、送信パケットサイズあるいは受信窓のサイズに近い情報量の送信データが生成されるように、複数のリクエストパケットを蓄積するのである。これにより、パケットの数及び送受信の回数を格段に減少させて、送受信効率を高めることができる。すなわち、仮想サーバあるいは仮想クライアントによって上記オペレーティングシステムに引き渡される情報量を最適化することにより、通信速度を大幅に向上させることが可能となる。なお、上記送信パケットサイズあるいは受信窓サイズの送信データが複数生成されるようにデータを蓄積して最適化することもできる。
【００５５】
本願の請求項１２に記載した発明は、上記再編リクエストデータ生成手段及び上記再編レスポンスデータ生成手段が、上記リクエストパケット又は上記レスポンスパケット、及び／又は各パケットを一体化したデータの形態を変更するデータ加工手段を備えるものである。
【００５６】
上記データ加工手段を、請求項１５に記載した発明のように、一体化された上記パケットデータにスクランブル処理を行うスクランブル処理手段を含んで構成することができる。これにより、通信の安全性が向上する。
【００５７】
また、請求項１６に記載した発明のように、上記データ加工手段を、受信側コンピュータ及び／又は受信側アプリケーションソフトウエアに応じて、データの形態を変更するデータ形態変更手段を含で構成することができる。すなわち、サーバで生成されたデータをクライアント機の性能等に応じた形態に変更して送信することも可能となる。たとえば、モバイルコンピュータ等からのリクエストに対しては、通常のコンピュータからのリクエストである場合に比べて小さな情報量のデータに加工して送信することも可能となる。また、上記データの変更は、データのサイズを小さく加工するとともに、上記解析手段によってアプリケーションヘッダにおけるデータサイズ情報を検出し、これを送信データのサイズに書き換えることにより行うことができる。
【００５８】
上記仮想クライアントは、上記再編リクエストデータ受信手段によって上記仮想サーバから送信された再編リクエストデータを受信する。この場合、通常のデータ通信と全く同様の手順で通信が行われる。上記リクエストパケット再生手段は、クライアント側アプリケーションソフトウエアないしオペレーティングシステムによって生成されたリクエストパケットを再生する。そして、上記リクエストパケット転送手段によってこれをサーバに転送する。上記サーバは、従来と同様の手続きにより上記リクエストを処理し、これに応じたレスポンスを生成する。
【００５９】
上記レスポンスは、上記リクエストと同様に上記サーバに適用されるアプリケーションプロトコルによって通信データに処理されるしたがって、そのままクライアントに向けて送信すると、クライアント機側において上記サーバに向けた通信と同様の問題が生じる。
【００６０】
本願発明では、サーバ側でも上記クライアント側でしたのと同様の手法によりデータ処理して送信し、クランアント側で受信させることにより送受信効率を高めている。
【００６１】
本願の請求項１７に記載した発明においては、上記計数手段が４Ｋバイト〜４Ｍバイトの蓄積情報量を検出した場合又は上記解析手段がエスケープシーケンスあるいはデータ送信終了シグナル等を検出した場合に上記バッファの解除を行って、上記蓄積情報を上記再編リクエストデータ生成手段又は上記再編レスポンスデータ生成手段に引き渡す一方、上記再編リクエストデータ生成手段及び上記再編レスポンスデータ生成手段は、上記圧縮手段及び上記データ加工手段によって、１．５Ｋバイト〜１．５Ｍバイトの情報量を有する再編リクエストデータ又は再編レスポンスデータを生成するように構成したものである。
【００６２】
通常、一つのデータパケットにおけるデータ量（ＭＴＵ）は、１．５Ｋバイトである。したがって、小さな送信データにおいては、ＴＣＰ／ＩＰプロトコルヘッダを含んだ情報量が１．５Ｋバイトになるように、上記再編データを生成するのが好ましい。また、本実施の形態では、圧縮率を約３分の１に設定しているため、通信に最適なデータパケットを生成するために、上記バッファには、独自プロトコルヘッダが付加されることを考慮して４Ｋバイト以上の情報を蓄積するのが好ましい。４Ｋバイト以下のデータを蓄積量では、最大パケットサイズに満たない送信パケットが生成される。
【００６３】
一方、最大受信窓サイズは、通信回線の状況等によって変更されるが、効率的なデータ送信を行うには、１．５Ｍバイト以下に設定するのが好ましい。これ以上のデータを一回の手順で送信すると通信回線を専有する時間が大きくなり、他の通信に影響を与えることになる。圧縮率を３分の１に設定すると、上記最大受信窓サイズのパケット群を生成するため、４Ｍバイト程度の情報量を蓄積するのが好ましい。なお、上記情報蓄積量及び圧縮率は、上記最大パケットサイズの送信データが複数生成され、あるいは最大受信窓サイズのパケット群が整数倍生成されるように設定することもできる。また、上記最大順窓サイズ、通信回線等によって変更されるため、これに合わせて情報蓄積量及び圧縮率を設定するのが好ましい。
【００６４】
本願の請求項１８に記載した発明は、上記仮想サーバ及び／又は上記仮想クライアントは、上記クライアント又は上記サーバを格納したクライアント機又はサーバ機に、それぞれのオペレーティングシステム上で作動するアプリケーションソフトウエアとして設けたものである。
【００６５】
本願の請求項１９に記載した発明は、上記仮想サーバ及び／又は上記仮想クライアントが、上記クライアント機又は上記サーバ機と共働して通信を行う通信用サーバ内に設けられており、これら通信用サーバが上記通信回線を介してデータの送受信を行うように構成したものである。
【００６６】
本願発明は、送信データを生成するアプリケーションソフトウエア、オペレーティングシステム及びハードウエアを全く変更することなく構成することができる。本願発明は、以下に述べるプログラムを記載した種々の記録媒体によって提供され、コンピュータにインストールされる。
【００６７】
本願の請求項２０に記載した発明は、通信回線を介して接続される２以上のコンピュータにそれぞれ格納されたアプリケーションソフトウエア間でデータを送受信するデータ通信システムにおいて、上記各コンピュータ又はこれらコンピュータと一体的に作動するコンピュータに格納されてそれぞれのオペレーティングシステムで作動させられるとともに、上記アプリケーションソフトウエア間のデータ通信を媒介する通信代理ソフトウエアプログラムを記録したコンピュータ読み取り可能な記録媒体であって、送信側のアプリケーションソフトウエアないしオペレーティングシステムで生成されたデータパケットを上記オペレーティングシステムから疑似受信するとともに、上記データパケットに応じて疑似受信応答を発行する疑似受信手段と、所定情報量の上記データパケットを蓄積できるバッファ手段と、蓄積した上記データパケットを一体化するとともに、情報形態及び／又は通信環境に最適な再編データを生成する再編データ生成手段と、上記再編データを上記オペレーティングシステム及び上記通信回線を介して受信側コンピュータに向けて送信する再編データ送信手段と、他のコンピュータにおける上記各手段によって生成された再編データを、上記通信回線及び上記オペレーティングシステムを介して受信する再編データ受信手段と、受信した上記再編データから、上記他のコンピュータにおいて生成されたデータパケットを再生するデータパケット再生手段と、再生した上記データパケットを上記オペレーティングシステムを介して上記アプリケーションソフトウエアに転送するデータパケット転送手段とを含む、通信代理ソフトウエアプログラムを記録してあることを特徴とする。
【００６８】
本願の請求項２１に記載した発明は、上記再編データ生成手段が、一体化された上記データパケットに、送信側と受信側の上記通信代理ソフトウエア間で適用される独自プロトコル処理を行う独自プロトコル処理手段と、上記独自プロトコル処理されたデータを圧縮するデータ圧縮手段とを含む通信代理ソフトウエアプログラムを記録してあることを特徴とするものである。
【００６９】
本願の請求項２２に記載した発明は、各オペレーティングシステムにおいて、通信に最適なパケットサイズないし受信窓サイズの送信データが生成されるように、上記各バッファ手段におけるデータ蓄積量及び／又は上記各圧縮手段における圧縮率を調節するデータ最適化手段をを含む送信代理ソフトウエアプログラムを記録してあることを特徴とするものである。
【００７０】
本願の請求項２３に記載した発明は、上記再編データ生成手段及が、データの形態を変更するデータ加工手段を含む送信代理ソフトウエアプログラムを記録してあることを特徴とするものである。
【００７１】
本願の請求項２４に記載した発明は、上記バッファ手段が、蓄積される上記データパケットの情報量を計数する計数手段と、蓄積される上記データパケットの内容を解析する情報解析手段と、上記計数手段によって計数された蓄積情報量及び／又は上記解析手段によって解析された情報内容によって、それまでに蓄積した上記データパケットを、上記再編データ生成手段に引き渡すバッファ解除手段とを含む送信代理ソフトウエアプログラムを記録してあることを特徴とするものである。
【００７２】
本願の請求項２５に記載した発明は、上記データ最適化手段が、上記通信回線におけるデータ通信速度及び／又は通信データ形態を検出する通信状態検出手段を含み、上記通信状態検出手段によって検出された上記データ通信速度及び／又は上記通信データ形態に基づいて、上記バッファ手段におけるデータ蓄積量及び／又は再編データ送信手段におけるデータ圧縮率を最適化して再編データを生成する送信代理ソフトウエアプログラムを記録してあることを特徴とするものである。
【発明を実施するための最良の形態】
【００７３】
以下、本願発明を実施する最良の形態を図に基づいて具体的に説明する。
【００７４】
なお、本実施の形態は、本願発明を、クライアント機１とサーバ機２とをインターネット３を介して接続したクランアント・サーバシステムに適用したものである。
【００７５】
図１及び図２に、本願発明に係る通信システムの概要を示す。これらの図に示すように、各々のオペレーティングシステムＯＳ1 ，ＯＳ2 上で作動するクライアントアプリケーションソフトウエアＣ（以下、クライアントＣという）とサーバアプリケーションソフトウエアＳ（以下、サーバＳという）を設けたクライアント機１とサーバ機２とを上記インターネット３を介して接続し、上記クライアントＣにおいて生成されるリクエストが上記サーバＳに向けて送信される。
【００７６】
一方、図２に示すように、上記サーバＳにおいて上記リクエストに応じたレスポンスが生成されて、上記インターネット３を介して上記クライアントＣに送信される。なお、上記クライアントＣとして一般的なブラウザソフウエアを、上記サーバＳとして一般的なウエブサーバが採用されている。
【００７７】
本実施の形態では、上記クライアント機１に通信代理ソフトウエアとして仮想サーバＶＳをインストールする一方、上記サーバ機２に仮想クライアントＶＣをインストールして、これら仮想サーバＶＳと仮想クライアントＶＣと間で、インターネット３を介した実質的なデータの送受信を行う。
【００７８】
図３に示すように、上記仮想サーバＶＳには、上記クライアントＣないしオペレーティングシステムＯＳ1 で生成されたリクエストパケットを上記オペレーティングシステムＯＳ1 から疑似受信するとともに、上記リクエストパケットに応じて疑似受信応答を発行するリクエスト疑似受信手段１０と、所定情報量のリクエストパケットを蓄積できるバッファ手段１１と、蓄積した上記リクエストパケットを一体化するとともに、情報形態及び／又は通信環境に最適な再編リクエストデータを生成する再編リクエストデータ生成手段１２と、上記再編リクエストデータを上記オペレーティングシステムＯＳ1 及び上記インターネット３を介して上記仮想クライアントＶＳに向けて送信する再編リクエストデータ送信手段１３がプログラムとして設けられている。
【００７９】
また、上記仮想サーバ４には、上記サーバ機２からのデータを受信するために、上記仮想クライアントＶＣによって生成される再編レスポンスデータを上記オペレーティングシステムＯＳ2 を介して受信する再編レスポンスデータ受信手段１５と、受信した上記再編レスポンスデータから上記サーバＳないし上記オペレーティングシステムＯＳ2 で生成されたレスポンスパケットを再生するレスポンスパケット再生手段１６と、再生した上記レスポンスパケットを上記オペレーティングシステムＯＳ1 を介して上記クライアントＣに転送するレスポンスパケット転送手段１７がプログラムとして設けられている。
【００８０】
一方、図４に示すように、上記仮想クライアントＶＣには、上記仮想サーバＶＳとの通信を行うために、上記仮想サーバＶＳから送信された上記再編リクエストデータを上記オペレーティングシステムＯＳ2 を介して受信する再編リクエストデータ受信手段２０と、上記再編リクエストデータから上記リクエストパケットを再生するリクエストパケット再生手段２１と、再生した上記リクエストパケットを上記オペレーティングシテステムＯＳ2 を介して上記サーバＳに転送するリクエストパケット転送手段２２とがプログラムとして設けられている。
【００８１】
また、上記仮想クライアントＶＣには、上記サーバＳないし上記オペレーティングシテステムＯＳ2 において生成された上記レスポンスパケットを疑似受信するとともに、上記レスポンスパケットに応じて疑似受信応答を発行するレスポンス疑似受信手段２３と、所定情報量の上記レスポンスパケットを蓄積できるバッファ手段２４と、蓄積した上記レスポンスパケットを一体化するとともに、情報形態及び／又は通信環境に最適な上記再編レスポンスデータを生成する再編レスポンスデータ生成手段２５と、上記再編レスポンスデータを、上記オペレーティングシステムＯＳ2 及び上記通信回線を介して上記クライアント機１に向けて送信する再編レスポンスデータ送信手段２６とが、プログラムとして設けられている。
【００８２】
上記リクエスト疑似受信手段１０及び上記レスポンス疑似受信手段２３には、上記疑似受信応答を発行するための疑似受信応答手段４５，４６がそれぞれ設けられている。また、上記バッフア手段１１，２４には、蓄積される上記リクエストパケット又は上記レスポンスパケットの情報量を計数する計数手段２７，２８と、蓄積される上記リクエストパケット及び上記レスポンスパケットの内容を解析する情報解析手段２９，３０と、上記計数手段２７，２８によって計数されたバッファ情報量及び／又は上記解析手段２９，３０によって解析された情報内容によって、それまでに蓄積した上記リクエストパケット又は上記レスポンスパケットを、上記再編リクエストデータ生成手段１２又は上記再編レスポンスデータ生成手段２５に引き渡すバッファ解除手段３１，３２とが設けられている。また、本実施の形態では、各オペレーティングシステムＯＳ1 ，ＯＳ2 において付加された通信プロトコルを削除するためのプロトコル削除手段４３，４４が設けられている。
【００８３】
また、上記再編リクエストデータ生成手段１２及び上記再編レスポンスデータ生成手段２５には、一体化された上記リクエストパケット又は上記レスポンスパケットに、上記仮想サーバＶＳと上記仮想クライアントＶＣ間で適用される独自プロトコル処理を行う独自プロトコル処理手段３３，３４と、上記独自プロトコル処理されたデータを圧縮するデータ圧縮手段３５，３６と、データにスクランブル処理を行うスクランブル手段３７，３８とが設けられている。
【００８４】
一方、受信した上記再編データの処理を行うために、上記レスポンスパケット再生手段１６及び上記リクエストパケット再生手段２１には、圧縮解凍手段３９，４０と、スクランブル解除手段４１，４２とが設けられている。
【００８５】
さらに、本実施の形態では、各オペレーティングシステムＯＳ1 ，ＯＳ2 において、通信に最適なパケットサイズないし受信窓サイズの送信データが生成されるように、上記各バッファ手段１１，２４におけるデータ蓄積量及び／又は上記各圧縮手段３５，３６における圧縮率を調節するデータ最適化手段４７，４８を備えて構成されている。上記データ最適化手段４７，４８には、ダミーデータを送信してクランアント機１とサーバ機２との間の通信状態等を検出する通信状態検出手段が設けられている。
【００８６】
上記構成の通信システムにおけるデータ通信の手順を、図５から図１１に示すフローチャート及び図１２から図２５に示すデータ形態に基づいて説明する。なお、以下に説明する形態では、ＴＣＰ／ＩＰプロトコルを採用して通信が行われるとともに、クライアントＣからリクエストをサーバＳに向けて送信する場合にはパケットサイズに基づいて処理が行われる場合を示す一方、サーバＳからレスポンをクライアントＣへ返送する場合には、受信窓の送信単位で処理が行われる場合を示す。実際には、送信するデータ量等に基づいてどららかの転送手法が自動的に選択される。
【００８７】
クライアントＣにおいては、図１２に示すように、データ量が不規則なリクエストデータＤ1 〜Ｄ4 が順次生成されて（Ｓ１０１）、ＨＴＴＰ等のアプリケーションプロトコルにしたがって処理され（Ｓ１０２）、オペレーティングシテムＯＳ1 に引き渡される（Ｓ１０３）。
【００８８】
上記各データＤ1 〜Ｄ4 のデータサイズは、一回のパケット通信で送信できる送信パケットサイズより少ないものＤ2 ，Ｄ3 もあれば、上記送信パケットサイズを越えているものＤ1 ，Ｄ4 もある。上記データは、オペレーティングシステムＯＳ1 においては、図１３に示すように、上記パケットサイズの大きいものＤ1 ，Ｄ4 が送信パケットサイズ以下のデータパケットＤ1a〜Ｄ1bに分割されて、ＴＣＰ／ＩＰヘッダが付加された６つのリクエストパケットが生成される（Ｓ１０４）。そして、これらリクエストパケットが上記仮想サーバＶＳに向けて送信される（Ｓ１０６）。上記各データパケットの送信は、後に述べる仮想サーバＶＳからの疑似受信応答に呼応して行われる（Ｓ１０５）。
【００８９】
送信された上記リクエストパケットは、仮想サーバＶＳの疑似受信手段１０によって疑似受信される（Ｓ１０７）。上記リクエストパケットは、上記情報解析手段２９によって内容が解析されるとともに（Ｓ１０８）、必要に応じて疑似受信応答が発行される（Ｓ１０９）。上記疑似受信応答に応じて、各リクエストパケットが順次疑似受信される。
【００９０】
上記各リクエストパケットは、上記ＴＣＰ／ＩＰヘッダが除去され（Ｓ１１０）、計数手段２７によって情報量が計数されるとともに（Ｓ１１１）、図１４に示すような形態で、上記バッファ手段１１に蓄積される（Ｓ１１２）。上記バッファへ手段１１へのリクエストパケットの蓄積量は、上記データ最適化手段４７によって上記バッファ解除手段３１及び／又は疑似受信応答手段４５を制御することにより行われる。
【００９１】
上記情報解析手段２９によってエスケープシーケンスが検出された場合（Ｓ１１３でＹ）、又は蓄積した情報量が所定の量に達した場合（Ｓ１１４でＹ）に、上記バッファが解除されて、蓄積データが再編リクエストデータ生成手段１２に引き渡される（Ｓ１１５）。
【００９２】
上記再編リクエストデータ生成手段１２において、上記蓄積されたデータに対して独自のプロトコル処理がなされて（Ｓ１１６）、図１５に示す独自プロトコルの付加されたデータが生成される。上記独自プロトコル処理は、上記仮想クライアントＶＣにおいて各リクエストパケットＤ1a〜Ｄ4bを再生するためのもののみならず、種々の目的のプロトコル処理を行うことができる。
【００９３】
プロトコル処理が施されたデータに対して、上記スクランブル手段３７によるスクランブル処理が行われて、図１７に示すように、データにスクランブル情報が付加される（Ｓ１１７）。これにより、セキュリティ性能の高い送信データを生成することが可能となる。
【００９４】
さらに、上記スクランブル処理が施されたデータに対して、上記圧縮手段３５による圧縮処理が行われ、図１７に示すように、圧縮されたスクランブル圧縮データに圧縮情報が付加された形態のデータが生成される（Ｓ１１８）。
【００９５】
本実施の形態では、データ最適化手段４７によって、上記バッファ手段１１によるデータ蓄積量と、上記圧縮手段３５における圧縮率を調節するように構成される。上記調節は、オペレーティングシステムＯＳ1 に引き渡された後に（Ｓ１１９）、図１８に示すような、送信パケットサイズに対応し、あるいは、これに近いサイズの複数のデータパケットＤ1A，Ｄ2Aが生成されるように設定される。上記送信パケットサイズのデータパケットを生成することにより、送信手順の無駄をなくして、送信効率を高めることが可能となる。上記各データパケットＤ1A，Ｄ2Aは、オペレーティングシステムＯＳ1 によってＴＣＰ／ＩＰヘッダが付加されて、通常の送信手順と同様にインターネット３を介してサーバ機２に向けて送信される（Ｓ１２２）。なお、データの送信は、従来の送信手順と同様に、サーバ機２からの受信応答に応じて上記データパケットＤ1A，Ｄ2Aが送信されることにより行われる。
【００９６】
図１８のデータパケットＤ1A，Ｄ2Aと、図１３のデータパケットＤ1a〜Ｄ4bの送信形態を比較すると明らかなように、上記仮想サーバＶＳによって処理を行うことにより、情報量を格段に減少させることができるとともに、送信手順を減少させることができる。このため、データの送信効率が高まる。なお、上述した実施の形態では、理解を容易にするため、クライアントで生成される限られたデータに対する処理を例として上げたが、実際には、複数のデータ処理が、連続的にあるいは並列的に行われる。
【００９７】
インターネット３を介して送信された上記データパケットＤ1A，Ｄ2Aは、サーバ機２のオペレーティングシステムＯＳ2 によって受信される（Ｓ２０１）。上記データパケットＤ1A，Ｄ2Aの受信に応じて、通常の通信手順と同様に、上記クライアント機１にむけて受信応答が発行される（Ｓ２０２）。
【００９８】
受信されたデータパケットＤ1A，Ｄ2Aは、従来と同様に上記オペレーティングシステムＯＳ2 によって通信プロトコル等が削除されて、仮想クライアントＶＣへ転送される（Ｓ２０３）。すなわち、上記仮想クライアントＶＳには、図１７に示す形態のデータが引き渡される。
【００９９】
上記仮想クライアントＶＳにおいて、上記圧縮データが上記圧縮解凍手段４０によって解凍されるとともに（Ｓ２０４）、上記スクランブル解除手段４２によってスクランブル処理が解除されて、図１５に示す独自プロトコル処理されたデータが生成される（Ｓ２０５）。そして、このデータから、図１２に示す、クライアントＣが生成したのと全く同一の各データＤ1 〜Ｄ4 が分離生成される（Ｓ２０６）。上記データＤ1 〜Ｄ4 は、上記オペレーティングシステムＯＳ2 に引き渡され、再度ＴＣＰ／ＩＰ処理がなされてヘッダが付加されて、図１３に示すデータ形態に処理され（Ｓ２０７）、上記クライアントＣから送信されたと全く同一の手順で上記サーバＳに転送される（Ｓ２０８）。
【０１００】
サーバＳは、上記データをリクエストとして受信した後（Ｓ２０９）、上記リクエストに基づいて検索処理等が行われ、レスポンスが生成される（Ｓ２１０）。これにより、クライアントＣからサーバＳへのリクエストデータの送信及び処理が完了する。
【０１０１】
次に、上記レスポンスデータを、上記サーバＳからクライアントＣへ送信する手順を、図８〜図１１のフローチャート及び図１９から図２５のデータ形態を表す図面に基づいて説明する。
【０１０２】
本願発明は、上述したパケットサイズに近い送信データの通信効率を高めるだけでなく、送信される情報形態によって、送信窓サイズに対応したデータの送受信効率を高めることができるように構成されている。すなわち、検索コマンドのような非常に小さいデータを送信する場合には、これまでに説明したパケットレベルでの通信効率を向上させることができるとともに、画像データのような多量のデータを送信する場合には、受信窓サイズでの通信効率を高めることができるように構成している。なお、以下の実施の形態は、理解を容易にするために単純化して説明してある。
【０１０３】
図１９に示すように、上記サーバＳにおいて生成された各レスポンスデータｄ1 〜レスポンスデータｄ4 のうち、ｄ1 とｄ4 のデータが受信窓サイズを越えたサイズを有している。なお、図１９には、パケット数を比較できるように、パケットを破線で表示している。
【０１０４】
図１９示すデータがオペレーティングシステムＯＳ2 に引き渡されると（Ｓ２１２）、ＴＣＰ／ＩＰプロトコル処理が行われて（Ｓ２１３）、レスポンスデータｄ1 〜レスポンスデータｄ4 が順次パケット化される。そして、図２０に示すように、受信応答なしに複数のパケットを送信できる単位、すなわち受信窓サイズに分割された各パケット群ｄ1a〜ｄ4bが仮想クライアントＶＳに向けて順次送信される（Ｓ２１５）。
【０１０５】
上記仮想クライアントＶＣは、上記レスポンス疑似受信手段２３によって上記レスポンスパケット群ｄ1a〜ｄ4bを順次受信する（Ｓ２１６）。各パケット群は、上記情報解析手段３０によって内容が解析されるとともに（Ｓ２１７）、上記疑似受信応答手段４６によって疑似順応答が発行され（Ｓ２１８）、この疑似受信応答に応じて、上記各パケット群がサーバＳから順次送信される（Ｓ２１４）。
【０１０６】
受信された各パケット群を構成するパケットのヘッダが、上記プロトコル削除手段４４によって削除され（Ｓ２１９）、上記情報量計数手段２８によって情報量が計数されるとともに（Ｓ２２０）、上記バッファ手段２４に蓄積される（Ｓ２２１）。
【０１０７】
上記バッファ手段２４へのリクエストパケットの蓄積量は、上記データ最適化手段４８及によって上記バッファ解除手段３２及び／又は圧縮手段３６を制御することにより行われる。上記バッファ手段における情報蓄積形態は、図１４と同様に連続したデータであるが、理解を容易にするため、図２１には破線で示すパケット数で蓄積量を表している。
【０１０８】
上記情報解析手段が、エスケープシーケンスを検出し（Ｓ２２２でＹ）、あるいは蓄積情報量が所定量に達した場合に（Ｓ２２３でＹ）、上記バッフアが解除され、蓄積情報が再編レスポンスデータ生成手段２５に引き渡される（Ｓ２２４）。
【０１０９】
上記再編レスポンスデータ生成手段２５においては、上記独自プロトコル手段３４によって上記バッファデータに独自のプロトコル処理がなされて（Ｓ２２５）、図２２に示すように、独自プロトコルヘッダが付加されたデータが生成される。次に、上記スクランブル手段３８によってスクランブル処理が施されて（Ｓ２２６）、図２３に示すように、スクランブル情報が付加されたデータが形成される。さらに、上記圧縮手段３６によって、図２３に示すデータの全体が圧縮処理されて（Ｓ２２７）、図２４に示す、圧縮情報が付加された再編レスポンスデータが生成される。なお、本実施の形態では、２つの受信窓サイズに対応するデータが生成されるように構成している。
【０１１０】
上記仮想クライアントＶＣには、上記仮想サーバＶＳと同様に、データ最適化手段４８が設けられている。データ最適化手段４８は、上記オペレーティングシステムＯＳ2 に引き渡された上記再編レスポンスデータが、図２５に示すような、二つの受信窓サイズに対応する複数のデータパケット群に分割されるように、上記バッファ手段２４におけるデータ蓄積量と、上記圧縮手段３６における圧縮率を調節するように構成されている。
【０１１１】
上記調節は、上記データ最適化手段４８の通信状態検出手段５０によって得られる情報に基づいて行われる。上記通信状態検出手段５０は、ダミーデータをクライアント機１に送信して、送信に最適な上記受信窓サイズを検出し、上記データ最適化手段に反映させることができる。
【０１１２】
したがって、図２４に示すデータが上記ＯＳ2 に引き渡されると（Ｓ２２８）、上述した仮想サーバＶＳと同様に、ＴＣＰ／ＩＰプロトコル処理されて（Ｓ２２９）、パケットが生成される。上記パケットは、最大受信窓サイズに対応した二つのパケット群が生成されるように構成されており、最小の受信応答によって、上記クライアント機１に向けてデータが送信される。上記各パケット群は、通常の送信手順と同様に、各受信窓に対応した受信応答に応じて送信される（Ｓ２３０）。
【０１１３】
図２５の送信データの形態と、図２０に示す送信データの形態を比較すると明らかなように、情報量自体を格段に減少させることができるばかりでなく、受信応答の数を大幅に減少させて送信を行うことが可能となる。
【０１１４】
上記クライアント機１のオペレーティングシステムＯＳ1 は、上記パケット群を順次受信するとともに（Ｓ３０１）、通常の受信手順と同様に、上記仮想クライアントＶＣに向けて受信応答を発行する（Ｓ３０２）。
【０１１５】
また、上記オペレーティングシステムＯＳ1 においては、通常の受信手順と同様に、上記受信したパケット群の各パケットのＴＣＰ／ＩＰヘッダが除去された状態の情報が、上記仮想サーバＶＳへ転送される（Ｓ３０３）。
【０１１６】
上記仮想サーバＶＳは、上記再編レスポンスデータ受信手段１５によって、上記再編レスポンスパケットデータを受信し、上記レスポンスパケット再生手段１６の圧縮解凍手段４０によって圧縮データの解凍を行い（Ｓ３０４）、また、上記スクランブル解除手段４２によってスクランブルが解除される（Ｓ３０５）。そして、独自プロトコル処理手段３３によって、図１９に示すデータと同様の複数のデータが再生される（Ｓ３０６）。上記複数のデータは、上記データを上記オペレーティングシステムＯＳ1 に引き渡して（３０７）、上記クライアントへ転送する（Ｓ３０８）。
【０１１７】
上記クライアントＣは、上記オペレーティングシステムＯＳ1 から上記データを受信し（Ｓ３０９）、これを出力する（Ｓ３１０）。
【０１１８】
上述した実施の形態では、各オペレーティングシステムＯＳ1 ，ＯＳ2 と仮想サーバＶＳ又は仮想クライアントＶＣとのデータ交換があるため、通信効率が低下するかのように見える。しかしながら、上記データの交換は、共通したオペレーティングシステム上で行われるデータの交換であるため、通信回線を介して行われるデータの交換と比べてデータ交換効速度が極めて高い。このため、上記仮想サーバ及び仮想クライアントを設けた通信システムにおける、データの通信効率を大幅に向上させることが可能となる。
【図面の簡単な説明】
【０１１９】
【図１】実施の形態に係るクライアント側システム構成の概要を示す図である。
【図２】実施の形態に係るサーバ側システム構成の概要を示す図である。
【図３】仮想サーバの構成の概要を示す図である。
【図４】仮想クライアントの構成の概要を示す図である。
【図５】クライアントにおけるリクエストデータの処理手順を示すフローチャートである。
【図６】仮想サーバにおけるリクエストデータの処理手順を示すフローチャートである。
【図７】仮想クライアントにおけるリクエストデータの処理手順を示すフローチャートである。
【図８】サーバにおける処理手順を示すフローチャートである。
【図９】仮想クライアントにおけるレスポンスデータの処理手順を示すフローチャートである。
【図１０】仮想サーバにおけるレスポンスデータの処理手順を示すフローチャートである。
【図１１】クライアントにおけるレスポンスデータの処理を示すフローチャートである。
【図１２】クライアントにおいて生成されるリクエストデータの形態を示す図である。
【図１３】クライアント側オペレーティングシステムにおいて生成されるリクエストデータの形態を示す図である。
【図１４】仮想サーバにおいて生成されるリクエストデータの形態を示す図である。
【図１５】仮想サーバにおいて生成されるリクエストデータの形態を示す図である。
【図１６】仮想サーバにおいて生成されるリクエストデータの形態を示す図である。
【図１７】仮想サーバにおいて生成されるリクエストデータの形態を示す図である。
【図１８】クライアント側オペレーティングシステムにおいて生成されるリクエストデータの形態を示す図である。
【図１９】サーバにおいて生成されるレスポンスの形態を示す図である。
【図２０】サーバ側オペレーティングシステムにおいて生成されるレスポンスデータの形態を示す図である。
【図２１】仮想クライアントおいて生成されるレスポンスデータの形態を示す図である。
【図２２】仮想クライアントおいて生成されるレスポンスデータの形態を示す図である。
【図２３】仮想クライアントおいて生成されるレスポンスデータの形態を示す図である。
【図２４】仮想クライアントおいて生成されるレスポンスデータの形態を示す図である。
【図２５】サーバ側オペレーティングシステムにおいて生成されるレスポンスデータの形態を示す図である。
【符号の説明】
【０１２０】
１  クライアント機（コンピュータ）
２  サーバ機（コンピュータ）
３  インターネット（通信回線）
Ｃ  クライアント（アプリケーションソフトウエア）
Ｓ  サーバ（アプリケーションソフトウエア）
ＯＳ1 オペレーティングシステム
ＯＳ2 オペレーティングシステム
ＶＳ  仮想サーバ（通信代理ソフトウエア）
ＶＣ  仮想クライアント（通信代理ソフトウエア）
【図１】
2005192157.tif 000003
【図２】
2005192157.tif 000004
【図３】
2005192157.tif 000005
【図４】
2005192157.tif 000006
【図５】
2005192157.tif 000007
【図６】
2005192157.tif 000008
【図７】
2005192157.tif 000009
【図８】
2005192157.tif 000010
【図９】
2005192157.tif 000011
【図１０】
2005192157.tif 000012
【図１１】
2005192157.tif 000013
【図１２】
2005192157.tif 000014
【図１３】
2005192157.tif 000015
【図１４】
2005192157.tif 000016
【図１５】
2005192157.tif 000017
【図１６】
2005192157.tif 000018
【図１７】
2005192157.tif 000019
【図１８】
2005192157.tif 000020
【図１９】
2005192157.tif 000021
【図２０】
2005192157.tif 000022
【図２１】
2005192157.tif 000023
【図２２】
2005192157.tif 000024
【図２３】
2005192157.tif 000025
【図２４】
2005192157.tif 000026
【図２５】
2005192157.tif 000027