(57)【要約】【課題】レスポンス性能の高いＨＴＴＰトンネリングを実現することにある。【解決手段】ネットワーク１または／及び不正防御機器５，１２を通じてクライアント３とデータ所持用サーバ６の間で通信を行うシステムであって、不正防御機器とデータ所持用サーバ間に設置可能であり、クライアント側から通信開始要求を受付け、当該データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し保存し、かつ、当該関連付けデータをクライアント側に返送するＨＴＴＰトンネリングサーバ５と、クライアント側に設けられ、ＨＴＴＰトンネリングサーバから返送される関連付けデータを受け取り、この関連付けデータのもとにクライアントの要求内容をＨＴＴＰトンネリングサーバに送信し、トンネリングサーバから要求内容に応じたデータを受け取るＨＴＴＰ通信ライブラリ２とを設けたトンネリング通信システムである。【選択図】    図１
2004151964.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークまたは／及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信システムにおいて、前記不正防御機器と前記データ所持用サーバ間に設置可能であり、前記クライアント側から通信開始要求を受付け、当該データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存し、かつ、当該関連付けデータをクライアント側に返送する通信開始処理機能をもったＨＴＴＰトンネリングサーバと、
前記クライアント側に設けられ、前記ＨＴＴＰトンネリングサーバから返送される関連付けデータを受け取り、この関連付けデータのもとに前記クライアントの要求内容を前記ＨＴＴＰトンネリングサーバに送信し、当該トンネリングサーバから要求内容に応じたデータを受け取るＨＴＴＰ通信ライブラリと
を備えたことを特徴とするトンネリング通信システム。
【請求項２】
請求項１に記載のトンネリング通信システムにおいて、
前記クライアントから前記データ所持用サーバへのデータ転送は、
前記ＨＴＴＰ通信ライブラリが前記クライアントからのデータ及び前記関連付けデータを含むＨＴＴＰリクエストを前記ＨＴＴＰトンネリングサーバに送信し、
このトンネリングサーバは、前記ＨＴＴＰ通信ライブラリから受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信したデータを転送することを特徴とするデータ通信システム。
【請求項３】
請求項１に記載のトンネリング通信システムにおいて、
前記データ所持用サーバから前記クライアントへのデータ転送は、
前記ＨＴＴＰ通信ライブラリが前記関連付けデータを含んだＨＴＴＰリクエストを前記ＨＴＴＰトンネリングサーバに送信し、
このトンネリングサーバは、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データが届いている場合には当該データを前記ＨＴＴＰ通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くまで待機することを特徴とするトンネリング通信システム。
【請求項４】
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは／及び不正防御機器を通じてクライアント側のＨＴＴＰ通信ライブラリとの間で所要の処理を実行するＨＴＴＰトンネリングサーバにおいて、前記ＨＴＴＰ通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記ＨＴＴＰ通信ライブラリに返送する通信開始処理手段と、
前記ＨＴＴＰ通信ライブラリからのデータおよび前記関連付けデータを含むＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送する要求元データ転送処理手段とを設けたことを特徴とするＨＴＴＰトンネリングサーバ。
【請求項５】
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは／及び不正防御機器を通じてクライアント側のＨＴＴＰ通信ライブラリとの間で所要の処理を実行するＨＴＴＰトンネリングサーバにおいて、前記ＨＴＴＰ通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持サーバの関連付けデータを作成し前記ＨＴＴＰ通信ライブラリに返送する通信開始処理手段と、
前記ＨＴＴＰ通信ライブラリから関連付けデータを含んだＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には当該データを前記ＨＴＴＰ通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くのを待つ要求先データ転送処理手段とを備えたことを特徴とするＨＴＴＰトンネリングサーバ。
【請求項６】
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは／及び前記不正防御機器を通じてクライアント側のＨＴＴＰ通信ライブラリとの間で所要の処理を実行するＨＴＴＰトンネリングサーバにおいて、
前記ＨＴＴＰ通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記ＨＴＴＰ通信ライブラリに返送する通信開始処理手段と、
前記ＨＴＴＰ通信ライブラリからのデータおよび前記関連付けデータを含むＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送する要求元データ転送処理手段と、
前記ＨＴＴＰ通信ライブラリから関連付けデータを含んだＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には当該データを前記ＨＴＴＰ通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くのを待つ要求先データ転送処理手段とを備えたことを特徴とするＨＴＴＰトンネリングサーバ。
【請求項７】
ネットワークまたは／及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信方法において、
前記クライアント側のＨＴＴＰ通信ライブラリから入力または、前記不正防御機器を介して入力される通信開始要求を受付け、前記データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存するサーバ関連付けデータ作成ステップと、
このステップにより作成されたサーバ関連付けデータを前記ＨＴＴＰ通信ライブラリに送信し、通信可能状態にあることを通知する通信可能情報返送ステップと、
前記クライアント側ＨＴＴＰ通信ライブラリから転送すべきデータ及びサーバ関連付けデータを伴なうＨＴＴＰリクエストを受信すると、ＨＴＴＰトンネリングサーバがサーバ関連付けデータをキーとし、自身に保存されているサーバ関連付けデータから前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索ステップと、
このステップによってデータ転送後、前記ＨＴＴＰトンネリングサーバがデータ転送完了通知を前記ＨＴＴＰ通信ライブラリに送信するデータ転送完了通知ステップとを有することを特徴とするトンネリング通信方法。
【請求項８】
請求項７に記載のトンネリング通信方法において、
前記クライアント側ＨＴＴＰ通信ライブラリから前記サーバ関連付けデータを含んだＨＴＴＰリクエストを受信すると、ＨＴＴＰトンネリングサーバがサーバ関連付けデータをキーとし、既に保存されるサーバ関連付けデータからデータ所持用サーバを検索し、この検索されたデータ所持用サーバから転送すべきデータが存在するか否かを確認するサーバデータ確認ステップと、
このステップにより当該データ所持用サーバのデータが存在する場合、当該データをＨＴＴＰ通信ライブラリに転送する存在データ転送ステップと、
前記ＨＴＴＰトンネリングサーバが前記サーバデータ確認ステップにより当該データ所持用サーバからデータが届いていないと確認した場合にＨＴＴＰリクエストのリプライを返さずに待機する待機ステップと、
この待機ステップによる待機中に前記データ所持用サーバからデータが届くと、前記ＨＴＴＰリクエストのリプライとして前記ＨＴＴＰ通信ライブラリにデータを転送する待機データ転送ステップとを有することを特徴とするトンネリング通信方法。
【請求項９】
クライアント側のＨＴＴＰ通信ライブラリからネットワークまたは／及び前記不正防御機器を通じて所要の処理要求を受けた場合、データ所持用サーバと連携をとりながら当該処理要求に応じた処理を実行するコンピュータに、
前記クライアント側のＨＴＴＰ通信ライブラリから通信開始要求を受けたとき、前記データ所持用サーバと接続するともに、当該データ所持用サーバとのサーバ関連付けデータを作成し保存するサーバ関連付けデータ作成機能と、この機能により作成されたサーバ関連付けデータを前記ＨＴＴＰ通信ライブラリに返送する通信可能情報返送機能と、前記サーバ関連付けデータを受信後、前記クライアントからＨＴＴＰ通信ライブラリを介して転送すべきデータ及び当該サーバ関連付けデータを伴なうＨＴＴＰリクエストを受信すると、このサーバ関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信したデータを転送するサーバ検索接続機能と、このデータ所持用サーバにデータを転送後、前記ＨＴＴＰ通信ライブラリにデータ転送完了通知を行うデータ転送完了通知機能とを実現させるプログラム。
【請求項１０】
請求項９に記載のプログラムにおいて、
前記クライアント側ＨＴＴＰ通信ライブラリから前記サーバ関連付けデータを含んだＨＴＴＰリクエストを受信すると、サーバ関連付けデータをキーとし、既に保存されるサーバ関連付けデータからデータ所持用サーバを検索し、この検索されたデータ所持用サーバから転送すべきデータが存在するか否かを確認するサーバデータ確認機能と、この機能により当該データ所持用サーバのデータが存在する場合、当該データをＨＴＴＰ通信ライブラリに転送する存在データ転送機能と、前記サーバデータ確認機能により当該データ所持用サーバからデータが届いていないと確認した場合に前記ＨＴＴＰリプライを返さずに待機する待機機能と、この待機機能による待機中に前記データ所持用サーバからデータが届くと、前記ＨＴＴＰリクエストのリプライとして前記ＨＴＴＰ通信ライブラリにデータを転送する待機データ転送機能とを実現させるプログラム。
【請求項１１】
請求項１に記載のトンネリング通信システムにおいて、
前記データ所持用サーバから前記クライアントへのデータ転送は、
前記ＨＴＴＰ通信ライブラリが前記関連付けデータを含んだ複数のＨＴＴＰリクエストを前記ＨＴＴＰトンネリングサーバに送信し、
このトンネリングサーバは、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データが届いている場合には最初のＨＴＴＰリクエストに基づいて当該データを前記ＨＴＴＰ通信ライブラリに転送し、次のＨＴＴＰリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記ＨＴＴＰ通信ライブラリに転送することを特徴とするトンネリング通信システム。
【請求項１２】
請求項１に記載のトンネリング通信システムにおいて、
前記データ所持用サーバから前記クライアントへのデータ転送は、前記ＨＴＴＰ通信ライブラリが前記関連付けデータを含んだ複数のＨＴＴＰリクエストを前記ＨＴＴＰトンネリングサーバに送信し、
このトンネリングサーバは、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いていない場合、当該データ所持用サーバからデータが届き次第、各ＨＴＴＰリクエストのリプライとして順次データを前記ＨＴＴＰ通信ライブラリに転送することを特徴とするトンネリング通信システム。
【請求項１３】
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは／及び前記不正防御機器を通じてクライアント側のＨＴＴＰ通信ライブラリとの間で所要の処理を実行するＨＴＴＰトンネリングサーバにおいて、
前記ＨＴＴＰ通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記ＨＴＴＰ通信ライブラリに返送する通信開始処理手段と、
前記ＨＴＴＰ通信ライブラリから関連付けデータを含んだ複数のＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には最初のＨＴＴＰリクエストに基づいて当該データを前記ＨＴＴＰ通信ライブラリに転送し、次のＨＴＴＰリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記ＨＴＴＰ通信ライブラリに転送する要求先データ転送処理手段とを備えたことを特徴とするトンネリングサーバ。
【請求項１４】
クライアントからの要求内容を、ネットワークまたは／及び不正防御機器を通じてデータ所持用サーバと連携関係にあるＨＴＴＰトンネリングサーバに要求するＨＴＴＰ通信ライブラリにおいて、
前記クライアントからの通信開始要求を受けとって前記トンネリングサーバに送信し、当該トンネリングサーバにより作成されるデータ処理用サーバのサーバ関連付けデータを受け取って保存する手段と、
前記クライアントから転送すべきデータを受けた場合、次のデータ送信が可能なように当該クライアントに制御を戻すとともに、受信したデータ及び前記関連付けデータを含めてＨＴＴＰリクエストを前記ＨＴＴＰトンネリングサーバに送信する手段とを備えたことを特徴とするＨＴＴＰ通信ライブラリ。
【請求項１５】
ネットワークまたは／及び不正防御機器を通じて、ＨＴＴＰトンネリングサーバに対してデータ所持用サーバのデータ転送を要求するＨＴＴＰ通信ライブラリにおいて、
前記クライアントからの通信開始要求を受けとって前記トンネリングサーバに送信し、当該トンネリングサーバにより作成されるデータ処理用サーバのサーバ関連付けデータを受け取って保存する手段と、
この手段により保存されたサーバ関連付けデータを含む複数のＨＴＴＰリクエストを前記ＨＴＴＰトンネリングサーバに送信し、前記データ所持用サーバのデータを要求する手段と
を備え、各ＨＴＴＰリクエストごとに前記トンネリングサーバに届けられるデータ所持用サーバのデータを受取り可能にしたことを特徴とするＨＴＴＰ通信ライブラリ。
【請求項１６】
ネットワークまたは／及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信方法において、
前記クライアント側のＨＴＴＰ通信ライブラリから入力または、前記不正防御機器を介して入力される通信開始要求を受付けると、前記データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存するサーバ関連付けデータ作成ステップと、
このステップにより作成されたサーバ関連付けデータを前記ＨＴＴＰ通信ライブラリに送信し、通信可能状態にあることを通知する通信可能情報返送ステップと、
前記ＨＴＴＰ通信ライブラリから関連付けデータを含んだ複数のＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索ステップと、
前記検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には最初のＨＴＴＰリクエストに基づいて当該データを前記ＨＴＴＰ通信ライブラリに転送するステップと、
前記判断によって前記データ所持用サーバからデータが届いていない場合、次のＨＴＴＰリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記ＨＴＴＰ通信ライブラリに転送するステップとを有することを特徴とするトンネリング通信方法。
【請求項１７】
クライアント側のＨＴＴＰ通信ライブラリからネットワークまたは／及び前記不正防御機器を通じて所要の処理要求を受けた場合、データ所持用サーバと連携をとりながら当該処理要求に応じた処理を実行するコンピュータに、
前記クライアント側のＨＴＴＰ通信ライブラリから通信開始要求を受けたとき、前記データ所持用サーバと接続するともに、当該データ所持用サーバとのサーバ関連付けデータを作成し保存するサーバ関連付けデータ作成機能と、この機能により作成されたサーバ関連付けデータを前記ＨＴＴＰ通信ライブラリに返送する通信可能情報返送機能と、前記ＨＴＴＰ通信ライブラリから関連付けデータを含んだ複数のＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索機能と、この機能により検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には最初のＨＴＴＰリクエストに基づいて当該データを前記ＨＴＴＰ通信ライブラリに転送する存在データ転送機能と、前記判断によって前記データ所持用サーバからデータが届いていない場合、次のＨＴＴＰリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記ＨＴＴＰ通信ライブラリに転送する待機データ転送機能とを実現させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信に限定されるネットワーク上のクライアントとサーバとの間でリアルタイムに通信を行うトンネリング通信システム、ＨＴＴＰトンネリングサーバ、ＨＴＴＰ通信ライブラリ、トンネリング通信方法及びプログラムに関する。
【０００２】
【従来の技術】
近年、セキュリティの観点からインターネットとＬＡＮとの境界部分にファイアウォールやＨＴＴＰプロキシサーバが設置されるが、それに伴なってＨＴＴＰ通信しか適用できない状況にある。
【０００３】
従来、以上のようにファイアウォールやＨＴＴＰプロキシサーバを通過するユーザだけに通信を許可するネットワークでは、サーバの手前側にＨＴＴＰトンネリングサーバが設置され、ここでＨＴＴＰによるカプセル化を行い、クライアントとサーバとの間で通信を行っている。
【０００４】
このようなＨＴＴＰを用いたネットワークは、クライアントの主導でデータの送受信を行うが、クライアントからサーバへのデータ転送はＨＴＴＰの取決めに基づくデータ送信方法が用いられ、一方、サーバからクライアントへのデータ転送は次のようなデータ転送方法が用いられている。すなわち、このデータ転送は、クライアントが所定の周期ごとにＨＴＴＰトンネリングサーバにアクセスし、ＨＴＴＰトンネリングサーバにデータが存在するか否かを確認する。クライアントは、ＨＴＴＰトンネリングサーバにデータが存在することを確認すると、当該データをダウンロードすることによりサーバからデータを受け取るものである。
【０００５】
【発明が解決しようとする課題】
ところで、以上のようにファイアウォールを用いたネットワークでは、リモートＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）環境を利用する場合が多い。
【０００６】
このリモートＧＵＩ環境を利用する場合、クライアント側のマウスなどのポインティング・デバイス等の操作情報をサーバ側に送信し、アイコンやウインドウなどのグラフィカルな要素を受け取ることから、リモートＧＵＩ用パケットが通過するように、ファイアウォールの設定を変える必要がある。このように通過させるパケットの種類を増やすことは、ネットワークのセキュリティのレベルが下がり、望ましい状態とは言えない。
【０００７】
また、ＨＴＴＰプロキシサーバを用いたネットワークでも同様にリモートＧＵＩ環境を利用するが、外部のネットワークに存在するマシンと通信する場合、ＨＴＴＰを用いるしかない。その結果、リモートＧＵＩによる通信は、マウスなどのポインティング・デバイス等の操作情報やサーバのＨＴＭＬ文書を含むＷｅｂコンテンツ情報をＨＴＴＰの取決めに基づいてカプセル化する必要がある。
【０００８】
従って、以上のようなリモートＧＵＩ環境では、クライアントからのキーボード入力情報、ポインティング・デバイスの入力情報をサーバに送信する。このサーバは、その情報を認識した後にフィードバックするとか、クライアントの要望するグラフィカル情報をクライアントに返す。
【０００９】
よって、従来のファイアウォールやＨＴＴＰプロキシサーバを用いたネットワークでは、クライアントが所定の周期ごとにＨＴＴＰトンネリングサーバにアクセスすることから、当該所定の周期以上に高速なレスポンスが期待できない。
【００１０】
また、リモートＧＵＩ通信では、マウスなどのポインティング・デバイス等の操作情報やサーバのＨＴＭＬ文書を含むＷｅｂコンテンツ情報をＨＴＴＰの取決めに基づいてカプセル化する必要があるが、このカプセル化処理の間、通信処理の待ち時間が発生し、スループットが低下してしまう問題がある。
【００１１】
本発明は上記事情にかんがみてなされたもので、データ所持用サーバからクライアントへのデータ転送時の通信量を削減し、レスポンス性能の高いＨＴＴＰトンネリングを実現するトンネリング通信システム、ＨＴＴＰトンネリングサーバ、ＨＴＴＰ通信ライブラリ、トンネリング通信方法及びプログラムを提供することを目的とする。
【００１２】
また、本発明の他の目的は、リモートＧＵＩ環境に十分に適用可能なトンネリング通信システム、ＨＴＴＰトンネリングサーバ、ＨＴＴＰ通信ライブラリ、トンネリング通信方法及びプログラムを提供することにある。
【００１３】
【課題を解決するための手段】
（１）  上記課題を解決するために、ネットワークまたは／及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行う本発明に係わるトンネリング通信システムは、前記不正防御機器と前記データ所持用サーバ間に設置可能であり、前記クライアント側から通信開始要求を受付け、当該データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存し、かつ、当該関連付けデータをクライアント側に返送する通信開始処理機能をもったＨＴＴＰトンネリングサーバと、前記クライアント側に設けられ、前記ＨＴＴＰトンネリングサーバから返送される関連付けデータを受け取り、この関連付けデータのもとに前記クライアントの要求内容を前記ＨＴＴＰトンネリングサーバに送信し、当該トンネリングサーバから要求内容に応じたデータを受け取るＨＴＴＰ通信ライブラリとを設けた構成である。
【００１４】
本発明は以上のような構成とすることにより、ＨＴＴＰトンネリングサーバがクライアントからＨＴＴＰ通信ライブラリを介して通信開始要求を受付けたとき、データ所持用サーバとの関連付けデータを作成し保存し、かつ、前記ＨＴＴＰ通信ライブラリに返送するので、以後のクライアントとデータ所持用サーバとのデータのやり取りがサーバ関連付けデータにより行うので、クライアント側ユーザが何らストレスなくデータ通信が可能となり、高速なレスポンスの向上に貢献することが可能となる。
【００１５】
しかも、トンネリングサーバは、ＨＴＴＰ通信ライブラリから関連付けデータのもとに前記データ所持用サーバのデータ要求を受けた場合、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データが届いている場合には当該データを前記ＨＴＴＰ通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くまで待機する構成とすることにより、前記データ所持用サーバからデータが届き次第、ＨＴＴＰ通信ライブラリにデータを転送でき、レスポンスを上げることが可能である。また、リモートＧＵＩ環境の利用に際しても、スムーズにデータのやり取りが可能となる。
【００１６】
（２）  本発明は、不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは／及び不正防御機器を通じてクライアント側のＨＴＴＰ通信ライブラリとの間で所要の処理を実行するＨＴＴＰトンネリングサーバであって、前記ＨＴＴＰ通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記ＨＴＴＰ通信ライブラリに返送する通信開始処理手段と、前記ＨＴＴＰ通信ライブラリからのデータおよび前記関連付けデータを含むＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送する要求元データ転送処理手段とを設けた構成である。
【００１７】
この発明によるＨＴＴＰトンネリングサーバでは、データ所持用サーバとの関連付けデータが保存されているので、クライアント側ＨＴＴＰ通信ライブラリから転送すべきデータ及び関連付けデータを伴なうＨＴＴＰリクエストを受けたとき、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送するので、迅速にクライアントのデータをデータ所持用サーバに転送することが可能である。
【００１８】
また、ＨＴＴＰトンネリングサーバは、ＨＴＴＰ通信ライブラリから関連付けデータを含んだＨＴＴＰリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いている場合には当該データを前記ＨＴＴＰ通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くのを待って当該データをＨＴＴＰ通信ライブラリに転送するので、前述するデータ通信システムと同様の作用効果を奏することが可能である。
【００１９】
（３）  本発明は、ネットワークまたは／及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信方法であって、前記クライアント側のＨＴＴＰ通信ライブラリから前記不正防御機器を介して入力される通信開始要求を受付け、前記データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存するサーバ関連付けデータ作成ステップと、このステップにより作成されたサーバ関連付けデータを前記ＨＴＴＰ通信ライブラリに送信し、通信可能状態にあることを通知する通信可能情報返送ステップと、前記クライアント側ＨＴＴＰ通信ライブラリから転送すべきデータ及びサーバ関連付けデータを伴なうＨＴＴＰリクエストを受信すると、トンネリングサーバがサーバ関連付けデータをキーとし、自身に保存されているサーバ関連付けデータから前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索ステップと、このステップによってデータ転送後、前記トンネリングサーバがデータ転送完了通知を前記ＨＴＴＰ通信ライブラリに送信するデータ転送完了通知ステップとを有するトンネリング通信方法である。
【００２０】
このようなトンネリング通信方法においても、前記（１）に記載するトンネリング通信システムと同様な作用効果を奏するものである。
【００２１】
（４）  さらに、本発明は、クライアントからの要求内容を、ネットワークまたは／及び不正防御機器を通じてデータ所持用サーバと連携関係にあるＨＴＴＰトンネリングサーバに要求するＨＴＴＰ通信ライブラリであって、
前記クライアントからの通信開始要求を受けとって前記トンネリングサーバに送信し、当該トンネリングサーバにより作成されるデータ処理用サーバのサーバ関連付けデータを受け取って保存する手段と、前記クライアントから転送すべきデータを受けた場合、当該クライアントに制御を戻すとともに、受信したデータ及び前記関連付けデータを含めてＨＴＴＰリクエストを前記ＨＴＴＰトンネリングサーバに送信する手段とを設けることにより、クライアントが直ちに次のデータを転送することが可能となる。
【００２２】
（５）  さらに、本発明は、ＨＴＴＰ通信ライブラリから関連付けデータを含む複数のＨＴＴＰリクエストをトンネリングサーバが受けたとき、各ＨＴＴＰリクエストごとにデータ所持用サーバから届けられている存在データ、以後届く待機データをＨＴＴＰ通信ライブラリに転送するようにすれば、高いレスポンス、スループットのもとにリアルタイムにデータを転送可能となり、リモートＧＵＩ環境に十分対処することが可能となる。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００２４】
図１は本発明に係わるトンネリング通信システムの一実施の形態を示す系統構成図である。このシステムの構成はサーバ側にファイアウォールを設置した例である。
【００２５】
このトンネリング通信システムは、インターネット（広域網）等のネットワーク１が設けられ、このネットワーク１にはＨＴＴＰ通信ライブラリ２を介してユーザ端末であるクライアント３が接続されている。なお、ネットワーク１には多数のＨＴＴＰ通信ライブラリ２及びクライアント３が接続されている。
【００２６】
また、ネットワーク１にはサーバ側ファイアウォール４、ＨＴＴＰトンネリングサーバ５を介して少なくとも１台以上のデータ所持用サーバ６が接続されている。通常、データ所持用サーバ６は、１台設置されるが、図１に示すように目的別，機能別に複数台設置される場合が多い。
【００２７】
ＨＴＴＰ通信ライブラリ２は、通常の通信ライブラリに代わるものであって、少なくともＷｅｂサーバ６との間でＨＴＭＬ文書をやり取りするＨＴＴＰやＨＴＴＰＳ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ／Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）に基づく通信ソフトその他通信上必要な各種の通信ソフトが実装されている。
【００２８】
このＨＴＴＰ通信ライブラリ２は、クライアント３からのパケットをＨＴＴＰやＨＴＴＰＳによる取決めに基づいてカプセル化を行い、ネットワーク１に送信することにより、ＨＴＴＰトンネリングサーバ５と通信を行う。このＨＴＴＰ通信ライブラリ２は、前記ＨＴＴＰトンネリングサーバ５を経由して受け取る各種のデータを保存する入力バッファ７が設けられている。
【００２９】
クライアント３は、ＨＴＭＬ文書をやり取りするＨＴＴＰやＨＴＴＰＳに基づく通信ソフト、ＨＴＭＬ文書その他のＷｅｂコンテンツを解読し表示するブラウザソフト、電子メールソフトその他通信上必要な各種の通信ソフトが実装されている。
【００３０】
前記ファイアウォール４は、ネットワーク１とデータ所持用サーバ６との間に設けられ、データ通信を管理し、かつ、外部からの攻撃や不正アクセスに対して内部ネットワークを保護するインタフェース機能をもっている。因みに、このファイアウォール４は、クライアント側からのデータ通信に対し、例えばポート８０（ＨＴＴＰ）、ポート４４３（ＨＴＴＰＳ）以外を通さない機能をもっている。
【００３１】
前記ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２とデータ所持用サーバ６との間のプロトコル変換処理を実行するものであって、プロトコル変換処理用プログラムを記憶する記録媒体８、クライアント３からサーバ６へのアクセス時に作成されるサーバ６との関連付けデータを格納するサーバ関連付けテーブル９およびサーバ６から送られてくるデータを格納するサーバデータ格納手段１０が設けられている。
【００３２】
このＨＴＴＰトンネリングサーバ５は、機能的には、図２に示すように通信開始処理手段５１、要求元（クライアント）データ転送処理手段５２及び要求先（データ所持用サーバ）データ転送処理手段５３が設けられている。
【００３３】
この通信開始処理手段５１は、アクセス先であるサーバ６と通信回線を確立するサーバ接続手段５１１、このサーバ６との接続後にサーバ６との関連付けを行うための関連付けデータを作成するサーバ関連付けデータ作成手段５１２、サーバ６に対する通信回線の完了を意味する識別データをＨＴＴＰ通信ライブラリ２に返送する通信可能情報返送手段５１３とによって構成されている。
【００３４】
このサーバ接続手段５１１は、クライアント３からＨＴＴＰ通信ライブラリ２を経由して受け取るアクセス先サーバ６のＩＰアドレスとポート番号に基づいてサーバ６と接続する機能をもっている。
【００３５】
このサーバ関連付けデータ作成手段５１２は、アクセス先であるサーバ６と接続した後、このサーバ６と関連付けるために例えば乱数の発生により得られる例えば数列からなるサーバ関連付けデータを作成し、サーバ関連付けテーブル９に格納する機能をもっている。
【００３６】
さらに、通信可能情報返送手段５１３は、サーバ関連付けデータ作成手段５１２によって作成されたサーバ関連付けデータをＨＴＴＰ通信ライブラリ２に送信し、通信開始要求に対する通信可能状態にあることをＨＴＴＰ通信ライブラリ２に返送する機能をもっている。なお、ＨＴＴＰ通信ライブラリ２は、関連付けデータを受け取って入力バッファ７に保存する。
【００３７】
次に、要求元データ転送処理手段５２は、クライアント３からＨＴＴＰ通信ライブラリ２を経由して送信されてくる転送データ及び関連付けデータを伴なうＨＴＴＰリクエストを受け取ると、関連付けデータをキーとし、サーバ関連付けテーブル９から接続されているデータ所持用サーバ６を検索し、この検索されたサーバ６にクライアント３からのデータを転送するサーバ接続検索手段５２１およびデータを転送した後、ＨＴＴＰ通信ライブラリ２からのＨＴＴＰリクエストのリプライとしてデータ転送完了を当該ＨＴＴＰ通信ライブラリ２に通知するデータ転送完了通知手段５２２が設けられている。
【００３８】
さらに、要求先データ転送処理手段５３は、ＨＴＴＰ通信ライブラリ２のスレッドによる関連付けデータを伴なうＨＴＴＰリクエストに対し、サーバ関連付けテーブル９からデータ所持用サーバ６を検索し、検索されたサーバ６から転送すべきデータがサーバデータ格納手段１０に届いているか、つまりデータが存在するか否かを確認するサーバデータ存在確認手段５３１と、サーバデータ格納手段１０に転送すべきデータが存在する場合、ＨＴＴＰ通信ライブラリ２にリプライとして当該データを転送する存在データ転送手段５３２と、サーバデータ格納手段１０に転送すべきデータが存在しない場合、リプライを返さずに待機し、サーバ６から転送すべきデータが届くと同時にＨＴＴＰ通信ライブラリ２にデータを転送する待機データ転送手段５３３とによって構成されている。
【００３９】
従って、以上のようなトンネリングシステム及びＨＴＴＰトンネリングサーバの実施の形態によれば、ファイアウォール４が設けられ、ＨＴＴＰ通信しか許可されない場合、クライアント側にＨＴＴＰ通信ライブラリ２、データ所持用サーバ６側にＨＴＴＰトンネリングサーバ５を設け、クライアント側のＨＴＴＰ通信ライブラリ２から通信開始要求を受けると、ＨＴＴＰトンネリングサーバ５がデータ所持用サーバ６と接続後に当該サーバとの対応付けデータを作成し、サーバ関連付けテーブル９に格納するとともに、ＨＴＴＰ通信ライブラリ２に返送する。従って、クライアント側のＨＴＴＰ通信ライブラリ２は、関連付けデータを用いてＨＴＴＰトンネリングサーバ５に転送用データを送信したり、データ所持用サーバ６から届いているデータをＨＴＴＰトンネリングサーバ５に要求したりするので、従来のように所定の周期に拘らずにデータのやり取りでき、高速なレスポンスを確保できる。
【００４０】
また、ＨＴＴＰトンネリングサーバ５は、専用のスレッドにより常時必要な要求をＨＴＴＰトンネリングサーバ５に送信するので、リモートＧＵＩ環境に十分に対応でき、レスポンスの高いＨＴＴＰトンネリングを実現できる。しかも、クライアント３は所要とするデータを送出すれば、ＨＴＴＰ通信ライブラリ２が関連付けデータの下にＨＴＴＰトンネリングサーバ５にリクエストするので、ユーザがストレスなくリモートＧＵＩ環境を利用することが可能となる。
【００４１】
次に、以上のように構成されたシステムの動作および本発明に係わるトンネリング通信方法について図３ないし図５を参照して説明する。
【００４２】
Ａ  データ通信開始処理について（図示せず）。
【００４３】
（１）  クライアント３は、アクセスしようとするサーバ６のＩＰアドレス及びポート番号をＨＴＴＰ通信ライブラリ２に送信する。
【００４４】
（２）  ＨＴＴＰ通信ライブラリ２は、クライアント３からのＩＰアドレスおよびポート番号を含んだＨＴＴＰリクエストをＨＴＴＰトンネリングサーバ５に送信する。
【００４５】
（３）  ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２から受信したＩＰアドレスおよびポート番号に基づいて要求先であるデータ所持サーバ６と接続し、この接続後に乱数を発生させることによって得られる例えば数列からなるサーバ関連付けデータを作成し、この関連付けデータとサーバ６とを関連付けるようにサーバ関連付けテーブル９に格納する（サーバ関連付けデータ作成ステップ）。
【００４６】
（４）  ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２からのＨＴＴＰリクエストとして当該サーバ６との関連付けをもった関連付けデータをクライアント側ＨＴＴＰ通信ライブラリ２に返送する（通信可能情報返送ステップ）。
【００４７】
（５）  ＨＴＴＰ通信ライブラリ２は、ＨＴＴＰトンネリングサーバ５から受け取ったサーバ関連付けデータを入力バッファ７に保存する。
【００４８】
Ｂ  要求元クライアントのデータをサーバ６に転送する処理について（図３参照）
（１）  クライアント３は、ＨＴＴＰ通信ライブラリ２に転送すべきデータを渡す（Ｓ１）。
【００４９】
（２）  ＨＴＴＰ通信ライブラリ２は、ＨＴＴＰリクエストとしてクライアント３から受け取ったデータに入力バッファ７に保存されるサーバ関連付けデータを付けてＨＴＴＰリクエストをＨＴＴＰトンネリングサーバ５に送信する（Ｓ２）。
【００５０】
（３）  このＨＴＴＰトンネリングサーバ５は、受け取ったデータのうち、サーバ関連付けデータをキーとし、サーバ関連付けテーブル９に保存される中から該当関連付けデータと関連付けられたデータ所持用サーバ６を検索し、この検索されたサーバ６にデータを転送する（Ｓ３：サーバ検索ステップ）。
【００５１】
（４）  このとき、このＨＴＴＰトンネリングサーバ５は、サーバ６にデータを転送した後、ＨＴＴＰ通信ライブラリ２からのＨＴＴＰリクエストのリプライとして、当該ＨＴＴＰ通信ライブラリ２にデータ転送完了を意味するデータを通知する（Ｓ４：データ転送完了通知ステップ）。
【００５２】
（５）  ＨＴＴＰ通信ライブラリ２は、データ送信完了の通知を受けると、クライアント３に制御を戻す（Ｓ５）。ここで、クライアント３は、待機状態ないし繰り返しデータ転送実行可能な状態となる。
【００５３】
Ｃ  要求先サーバのデータをクライアント側に転送する処理について（図４，図５参照）。
【００５４】
先ず、クライアント３は、ＨＴＴＰ通信ライブラリ２の入力バッファ７にサーバ６からのデータが届いていれば、当該データを取得する。データが届いていない場合にはブロックする。
【００５５】
（１）  ＨＴＴＰ通信ライブラリ２は、アプリケーション処理として分割された１つの処理単位となるスレッド（Ｔｈｒｅａｄ）のもとに、ＨＴＴＰトンネリングサーバ５に対し、サーバ関連付けデータを含んだＨＴＴＰリクエストを送信し接続する（Ｓ１１）。
【００５６】
（２）  ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２から送信されてくる関連付けデータをキーとし、サーバ関連付けテーブル９の関連付けデータに関連付けられているサーバ６を検索する。しかる後、検索されたサーバ６に対応するデータがサーバデータ格納手段１０に届いているか否かを確認する（サーバデータ確認ステップ）。
【００５７】
（３）  この確認の結果、サーバデータ格納手段１０に該当サーバ６からデータが届いていれば（Ｓ１２）、ＨＴＴＰ通信ライブラリ２にＨＴＴＰリクエストに対するリプライとしてデータを転送する（Ｓ１３：存在データ転送ステップ）。
【００５８】
（４）  ＨＴＴＰ通信ライブラリ２は、ＨＴＴＰトンネリングサーバ５から届いたデータを入力バッファ７に保存する（Ｓ１４）。一方、クライアント３は、前述するようにＨＴＴＰ通信ライブラリ２の入力バッファ７に保存されるデータを取得する。
【００５９】
（５）  一方、前述するサーバデータ確認ステップにおいて、サーバ６からトンネリングサーバ５にデータが届いていないと確認した場合、図５に示すようにＨＴＴＰリプライを返さずに待機する（Ｓ１６：待機ステップ）。この待機中にサーバ６からトンネリングサーバ５にデータが届くと（Ｓ１２’）、トンネリングサーバ５は直ちにＨＴＴＰ通信ライブラリ２にデータを転送する（Ｓ１７：待機データ転送ステップ）。
【００６０】
（６）  ＨＴＴＰ通信ライブラリ２は、ＨＴＴＰトンネリングサーバ５から届いたデータを入力バッファ７に保存する（Ｓ１８）。一方、クライアント３は、前述するようにＨＴＴＰ通信ライブラリ２の入力バッファ７に保存されるデータを取得する。
【００６１】
従って、以上のようなトンネリング通信方法の実施の形態によれば、前述するトンネリングシステムと同様な効果を奏することができる。
【００６２】
さらに、ＨＴＴＰトンネリングサーバ５が記録媒体８に記録されるプログラムを読み取って所要の処理を実行する例について図６を参照して説明する。
【００６３】
ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２からＩＰアドレス・ポート番号を伴なうＨＴＴＰリクエストを受信したか否かを判断し（Ｆ１）、受信有りと判断した場合にはＩＰアドレスおよびポート番号のもとにサーバ６と接続する（Ｆ２）。ＨＴＴＰトンネリングサーバ５は、サーバ６と接続した後、当該サーバ６と関連付けるためのサーバ関連付けデータを作成し、サーバ関連付けテーブル９に格納する（Ｆ３：識別データ作成機能）。
【００６４】
引き続き、ＨＴＴＰトンネリングサーバ５は、作成された関連付けデータをＨＴＴＰリクエストのリプライとして関連付けデータをＨＴＴＰ通信ライブラリ２に返送し、通信可能状態であることを知らせる（Ｆ４：通信可能情報返送機能）。
【００６５】
その後、ＨＴＴＰトンネリングサーバ５は、クライアント側であるＨＴＴＰ通信ライブラリ２からＨＴＴＰリクエストとして関連付けデータを含むデータを受信したか否かを判断し、受信した場合には関連付けデータをキーとし、サーバ関連付けテーブル９から該当サーバ６を検索し、この検索されたサーバ６にデータを転送する（Ｆ５〜Ｆ７：サーバ検索接続機能）。
【００６６】
ここで、ＨＴＴＰトンネリングサーバ５は、クライアント側のデータをサーバ６に転送した後、データ転送完了をＨＴＴＰ通信ライブラリ２に通知する（Ｆ８：データ転送完了通知機能）。
【００６７】
さらに、ＨＴＴＰトンネリングサーバ５は、データ転送完了通知後、クライアント側であるＨＴＴＰ通信ライブラリ２からサーバ関連付けデータを伴なうＨＴＴＰリクエスト有りか否かを判断し、ＨＴＴＰリクエスト有りの場合には関連付けデータをキーとし、サーバ関連付けテーブル９から該当サーバ６を検索し、この検索されたサーバ６のデータがサーバデータ格納手段１０に存在するか否か、つまりサーバ６からデータが届いているか判断する（Ｆ９，Ｆ１０：サーバデータ存在確認機能）。
【００６８】
ここで、ＨＴＴＰトンネリングサーバ５は、サーバ６からデータが届いている場合には当該データを読み出してＨＴＴＰ通信ライブラリ２に転送する（Ｆ１１：存在データ転送機能）。サーバ６からデータが届いていない場合、サーバ６からデータが届くまで待機する。ＨＴＴＰトンネリングサーバ５は、待機状態にあるが、サーバ６からデータが届くと直ちにＨＴＴＰ通信ライブラリ２に転送する（Ｆ１２，Ｆ１１：待機データ転送機能）。
【００６９】
従って、ＨＴＴＰトンネリングサーバ５は、予め記録媒体８に記録されるプログラムを読み取って実行することにより、前記トンネリングシステムと同様な効果を実現することができる。
【００７０】
次に、本発明に係わるトンネリング通信システム、ＨＴＴＰトンネリングサーバ、ＨＴＴＰ通信ライブラリ、トンネリング通信方法及びプログラムの他の実施の形態について説明する。
【００７１】
なお、トンネリング通信システムの全体構成は、図１と同様であるので、詳しくはそれらの図の説明に譲る。
【００７２】
この実施の形態において異なるところは、ＨＴＴＰ通信ライブラリ２、ＨＴＴＰトンネリングサーバ５の一部の機能、ＨＴＴＰ通信ライブラリ２、トンネリング通信方法、及びプログラムにある。
【００７３】
先ず、ＨＴＴＰ通信ライブラリ２は、クライアント３からデータ転送要求を受け取ると、直ちにクライアント３に制御を戻す制御リターン手段を設け、クライアント３が直ちに次のデータを送信可能状態とすること。また、ＨＴＴＰ通信ライブラリ２は、サーバ６からデータを受ける際にサーバ関連付けデータを含んだＨＴＴＰリクエストをトンネリングサーバ５に送信するが、このときサーバ関連付けデータを含んだ複数のＨＴＴＰリクエストを送信する手段を設け、結果としてトンネリングサーバ５がサーバ６から届くデータのヒットを高め、極めて迅速にサーバ６のデータを受け取ることにある。
【００７４】
次に、ＨＴＴＰトンネリングサーバ５は、通信開始処理手段５１、要求元データ転送処理手段５２及び要求先データ転送処理手段５３からなるが、そのうち、通信開始処理手段５１、要求元データ転送処理手段５２は図１と同様であるので省略し、特に要求先データ転送処理手段５３について説明する。
【００７５】
この要求先データ転送処理手段５３は、図７に示すようにＨＴＴＰ通信ライブラリ２のスレッドによりサーバ関連付けデータを含んだ複数のＨＴＴＰリクエストを受信するリクエスト手段手段５３４と、この受信された関連付けデータを伴なうＨＴＴＰリクエストに対し、サーバ関連付けテーブル９からサーバ６を検索し、この検索されたサーバ６から転送すべきデータがサーバデータ格納手段１０に存在するか否かを確認する複数のサーバデータ存在確認手段５３１ａ，５３１ｂと、サーバデータ存在確認手段５３１ａがサーバデータ格納手段１０に転送すべきデータが存在する場合、ＨＴＴＰ通信ライブラリ２に最初のＨＴＴＰリクエストのリプライとして当該データを転送する存在データ転送手段５３２と、次に送られてくるＨＴＴＰリクエストに対してサーバデータ存在確認手段５３１ｂはサーバ６からデータが届くまで待機し、届いたときに直ちにＨＴＴＰ通信ライブラリ２に転送する待機データ転送手段５３３とが設けられている。なお、サーバデータ存在確認手段５３１ａ，５３１ｂは、個別的に機能を分けたものであって、実際は１つの機能であってもよい。
【００７６】
従って、以上のようなトンネリング通信システムおよびＨＴＴＰトンネリングサーバの実施の形態によれば、ＨＴＴＰ通信ライブラリ２から関連付けデータを含む複数のＨＴＴＰリクエストをトンネリングサーバ５が受けたとき、各ＨＴＴＰリクエストごとにデータ所持用サーバ６から届けられている存在データ、以後届く待機データをＨＴＴＰ通信ライブラリ２に転送するようにすれば、クライアント３とデータ所持用サーバ６との間で高いレスポンス、スループットでリアルタイムにデータを転送でき、よりリモートＧＵＩ環境の利用に有効なものとなる。
【００７７】
また、ＨＴＴＰ通信ライブラリ２は、自身のスレッドにより逐次データを要求するだけでなく、関連付けデータを含む複数のＨＴＴＰリクエストをＨＴＴＰトンネリングサーバ５に送信するので、クライアント３のユーザは特にストレスを感じることなく、速やかに所要とするデータを取得できる。
【００７８】
次に、以上のようなシステムの動作及び本発明に係わるトンネリング通信方法について図８、図９を参照して説明する。
【００７９】
Ａ  データ通信開始処理について（図示せず）。
【００８０】
（１）  クライアント３は、アクセスしようとするサーバ６のＩＰアドレス及びポート番号をＨＴＴＰ通信ライブラリ２に渡す。
【００８１】
（２）  ＨＴＴＰ通信ライブラリ２は、クライアント３からのＩＰアドレスおよびポート番号を含んだＨＴＴＰリクエストをＨＴＴＰトンネリングサーバ５に送信する。
【００８２】
（３）  ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２から受信したＩＰアドレスおよびポート番号に基づいて要求先であるサーバ６と接続し、この接続後に乱数を発生させることにより得られる例えば数列からなるサーバ関連付けデータを作成し、この関連付けデータとサーバ６とを関連付けるようにサーバ関連付けテーブル９に格納する（識別データ作成ステップ）。
【００８３】
（４）  ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２からのＨＴＴＰリクエストとして当該サーバ関連付けデータをリクエスト元であるＨＴＴＰ通信ライブラリ２に返送する（通信可能情報返送ステップ）。
【００８４】
（５）  ＨＴＴＰ通信ライブラリ２は、ＨＴＴＰトンネリングサーバ５から受け取った関連付けデータを入力バッファ７に保存する。
【００８５】
Ｂ  要求元クライアントのデータをサーバに転送する処理について（図８参照）
（１）  クライアント３は、ＨＴＴＰ通信ライブラリ２に転送すべきデータを渡す（Ｓ２１）。
【００８６】
（２）  ＨＴＴＰ通信ライブラリ２は、クライアント３からデータを受けると、クライアント３に制御を戻す（Ｓ２２）。その結果、クライアント３は制御を受け取るとこにより直ちに次の転送すべきデータを出すことができ、またＨＴＴＰ通信ライブラリ２は、クライアント３から次のデータ要求を受け付けことができる。
【００８７】
（３）  ＨＴＴＰ通信ライブラリ２は、クライアント３からデータを受けると、クライアント３に制御を戻す一方（Ｓ２２）、ＨＴＴＰリクエストしてクライアント３から受け取ったデータおよび入力バッファ７に保存されるサーバ関連付けデータを伴なうＨＴＴＰリクエストをＨＴＴＰトンネリングサーバ５に送信する（Ｓ２３）。
【００８８】
（４）  このＨＴＴＰトンネリングサーバ５は、受け取ったデータのうち、関連付けデータをキーとし、サーバ関連付けテーブル９から関連付けられるサーバ６を検索し、この検索されたサーバ６にデータを転送する（Ｓ２４：サーバ検索ステップ）。
【００８９】
（５）  このＨＴＴＰトンネリングサーバ５は、サーバ６にデータを転送した後、ＨＴＴＰ通信ライブラリ２からのＨＴＴＰリクエストのリプライとして、当該ＨＴＴＰ通信ライブラリ２にデータ送信完了を意味するデータを通知する（Ｓ２５：データ転送完了通知ステップ）。
【００９０】
Ｃ  要求先サーバのデータをクライアントに転送する処理について（図９参照）。
【００９１】
先ず、クライアント３は、ＨＴＴＰ通信ライブラリ２の入力バッファ７にサーバ６からのデータが届いていれば、当該データを取得する。データが届いていない場合にはブロックする。
【００９２】
（１）  ＨＴＴＰ通信ライブラリ２は、アプリケーション処理として分割された１つの処理単位となるスレッド（Ｔｈｒｅａｄ）のもとに、ＨＴＴＰトンネリングサーバ５に対し、関連付けデータを含んだＨＴＴＰリクエストを複数送信し、複数の通信回線の接続を確立する（Ｓ３１）。
【００９３】
（２）  ＨＴＴＰトンネリングサーバ５は、ＨＴＴＰ通信ライブラリ２から送信されてくる関連付けデータをキーとし、サーバ関連付けテーブル９に関連付けられているサーバ６を検索する。しかる後、検索されたサーバ６に対応するデータがサーバデータ格納手段１０に届いているか否かを確認する（サーバデータ確認ステップ）。
【００９４】
（３）  この確認の結果、サーバデータ格納手段１０に該当サーバ６からデータが届いていれば（Ｓ３２）、ＨＴＴＰ通信ライブラリ２にＨＴＴＰリプライとしてデータを転送する（Ｓ３３：存在データ転送ステップ）。
【００９５】
（４）  ＨＴＴＰ通信ライブラリ２は、ＨＴＴＰトンネリングサーバ５から届いたデータを入力バッファ７に保存する（Ｓ３４）。一方、クライアント３は、前述するようにＨＴＴＰ通信ライブラリ２の入力バッファ７に保存されるデータを取得する。
【００９６】
（５）  また、サーバデータ格納手段１０に該当サーバ６からデータが届いていない場合、ＨＴＴＰリプライを返さずに待機する（Ｓ３５：待機ステップ）。既にサーバ６から届いているデータに関しては、最初のＨＴＴＰリクエストに基づいてＨＴＴＰ通信ライブラリ２に送信するので、次のＨＴＴＰリクエストに対しては常に待機状態となる。
【００９７】
この待機中にサーバ６からトンネリングサーバ５にデータが届くと、トンネリングサーバ５は、次のＨＴＴＰリクエストのリプライとして直ちにＨＴＴＰ通信ライブラリ２にデータを転送する（Ｓ３６：待機データ転送ステップ）。
【００９８】
（６）  ＨＴＴＰ通信ライブラリ２は、ＨＴＴＰトンネリングサーバ５から届いたデータを入力バッファ７に保存する（Ｓ１８）。一方、クライアント３は、前述するようにＨＴＴＰ通信ライブラリ２の入力バッファ７に保存されるデータを取得する。
【００９９】
従って、このトンネリング通信方法によれば、前述するトンネリングシステム、ＨＴＴＰトンネリングサーバ及びＨＴＴＰ通信ライブラリでえられたと同様の効果を奏するものである。
【０１００】
さらに、ＨＴＴＰトンネリングサーバ５が記録媒体８に記録されるプログラムを読み取って所要の処理を実行する例について図１０を参照して説明する。なお、同図においてステップＦ１〜Ｆ１０までは図６のＦ１〜Ｆ１０同じであるので、ここでは図６の説明に譲り、ステップＦ１０以降の処理について説明する。
【０１０１】
このステップＦ１０においてサーバデータ有りかを判断し、有りの場合には初めのＨＴＴＰリクエストのリプライとしてサーバデータを転送した後（Ｆ１１）、次のＨＴＴＰリクエスト有りかを判断し（Ｆ１３）、有りの場合にはサーバ６からデータが届くまで待機し（Ｆ１２）、サーバ６からデータが届くと次のリクエストのリプライとしてサーバデータを転送する。
【０１０２】
従って、ＨＴＴＰトンネリングサーバ５は、予め記録媒体８に記録されるプログラムを読み取って実行することにより、前記トンネリングシステムと同様な効果を実現することができる。
【０１０３】
なお、本願発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。例えば図１に示すトンネリング通信システムでは、ファイアウォール４が設けたが、例えば図１１に示すようにファイアウォール４に代えてＨＴＴＰプロキシサーバ１２を設けた構成であってもよい。
【０１０４】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位，下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【０１０５】
【発明の効果】
以上説明したように本発明によれば、データ所持用サーバからクライアントへのデータ転送時の通信量を削減し、レスポンス性能の高いＨＴＴＰトンネリングを実現できるトンネリング通信システム、ＨＴＴＰトンネリングサーバ、ＨＴＴＰ通信ライブラリ、トンネリング通信方法及びプログラムを提供できる。
【０１０６】
また、本発明の他の目的は、リモートＧＵＩ環境に十分に適用可能なトンネリング通信システム、ＨＴＴＰトンネリングサーバ、ＨＴＴＰ通信ライブラリ、トンネリング通信方法及びプログラムを提供できる。
【図面の簡単な説明】
【図１】本発明に係わるトンネリング通信システムの一実施の形態を示す系統構成図。
【図２】トンネリングサーバの一例を示す機能構成図。
【図３】クライアントからサーバへのデータ転送を説明するシーケンス図。
【図４】サーバからトンネリングサーバにデータが届いている場合のサーバからクライアントへのデータ転送を説明するシーケンス図。
【図５】サーバからトンネリングサーバにデータが届いていない場合のサーバからクライアントへのデータ転送を説明するシーケンス図。
【図６】トンネリングサーバにおけるプログラム処理を説明するフローチャート。
【図７】トンネリングサーバの他の例を示す機能構成図。
【図８】クライアントからサーバへのデータ転送を説明するシーケンス図。
【図９】サーバからクライアントへのデータ転送を説明するシーケンス図。
【図１０】トンネリングサーバにおけるプログラム処理を説明するフローチャート。
【図１１】本発明に係わるトンネリング通信システムの他の実施の形態を示す系統構成図。
【符号の説明】
１…ネットワーク
２…ＨＴＴＰ通信ライブラリ
３…クライアント
４…ファイアウォール
５…ＨＴＴＰトンネリングサーバ
６…サーバ
７…入力バッファ
８…記録媒体
９…サーバ関連付けテーブル
１０…サーバデータ格納手段
１１…データベース
１２…ＨＴＴＰプロキシサーバ
５１…通信開始処理手段
５２…要求元データ転送処理手段
５３…要求先データ転送処理手段
５１１…サーバ接続手段
５１２…サーバ関連付けデータ作成手段
５１３…通信可能情報返送手段
５２１…サーバ検索接続手段
５２２…データ転送完了通知手段
５３１（５３１ａ，５３１ｂ）…サーバデータ存在確認手段
５３２…存在データ転送手段
５３３…待機データ転送手段
５３４…リクエスト受信手段
【図１】
2004151964.tif 000003
【図２】
2004151964.tif 000004
【図３】
2004151964.tif 000005
【図４】
2004151964.tif 000006
【図５】
2004151964.tif 000007
【図６】
2004151964.tif 000008
【図７】
2004151964.tif 000009
【図８】
2004151964.tif 000010
【図９】
2004151964.tif 000011
【図１０】
2004151964.tif 000012
【図１１】
2004151964.tif 000013