JP2004151964A - Tunneling communication system, http tunneling server, http communication library, tunneling communication method, and program - Google Patents

Tunneling communication system, http tunneling server, http communication library, tunneling communication method, and program Download PDF

Info

Publication number
JP2004151964A
JP2004151964A JP2002315908A JP2002315908A JP2004151964A JP 2004151964 A JP2004151964 A JP 2004151964A JP 2002315908 A JP2002315908 A JP 2002315908A JP 2002315908 A JP2002315908 A JP 2002315908A JP 2004151964 A JP2004151964 A JP 2004151964A
Authority
JP
Japan
Prior art keywords
data
server
http
tunneling
association
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002315908A
Other languages
Japanese (ja)
Inventor
Taro Masuda
太郎 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002315908A priority Critical patent/JP2004151964A/en
Publication of JP2004151964A publication Critical patent/JP2004151964A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To realize HTTP tunneling of high response performance. <P>SOLUTION: A system for communication between a client 3 and a data holding server 6 via a network 1 or/and unauthorized access prevention equipment 5, 12 has an HTTP tunneling server 5 capable of being installed between the unauthorized access prevention equipment and the data holding server so as to receive a communication start request from the client, connect with the data holding server, create and save data on relations with the data holding server, and return the relation data to the client, and an HTTP communication library 2 installed in the client so as to receive the relation data returned from the HTTP tunneling server, send contents requested by the client according to the relation data to the HTTP tunneling server, and receive data depending on the request contents from the tunneling server. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、HTTP(Hypertext Transfer Protocol)通信に限定されるネットワーク上のクライアントとサーバとの間でリアルタイムに通信を行うトンネリング通信システム、HTTPトンネリングサーバ、HTTP通信ライブラリ、トンネリング通信方法及びプログラムに関する。
【0002】
【従来の技術】
近年、セキュリティの観点からインターネットとLANとの境界部分にファイアウォールやHTTPプロキシサーバが設置されるが、それに伴なってHTTP通信しか適用できない状況にある。
【0003】
従来、以上のようにファイアウォールやHTTPプロキシサーバを通過するユーザだけに通信を許可するネットワークでは、サーバの手前側にHTTPトンネリングサーバが設置され、ここでHTTPによるカプセル化を行い、クライアントとサーバとの間で通信を行っている。
【0004】
このようなHTTPを用いたネットワークは、クライアントの主導でデータの送受信を行うが、クライアントからサーバへのデータ転送はHTTPの取決めに基づくデータ送信方法が用いられ、一方、サーバからクライアントへのデータ転送は次のようなデータ転送方法が用いられている。すなわち、このデータ転送は、クライアントが所定の周期ごとにHTTPトンネリングサーバにアクセスし、HTTPトンネリングサーバにデータが存在するか否かを確認する。クライアントは、HTTPトンネリングサーバにデータが存在することを確認すると、当該データをダウンロードすることによりサーバからデータを受け取るものである。
【0005】
【発明が解決しようとする課題】
ところで、以上のようにファイアウォールを用いたネットワークでは、リモートGUI(Graphical User Interface)環境を利用する場合が多い。
【0006】
このリモートGUI環境を利用する場合、クライアント側のマウスなどのポインティング・デバイス等の操作情報をサーバ側に送信し、アイコンやウインドウなどのグラフィカルな要素を受け取ることから、リモートGUI用パケットが通過するように、ファイアウォールの設定を変える必要がある。このように通過させるパケットの種類を増やすことは、ネットワークのセキュリティのレベルが下がり、望ましい状態とは言えない。
【0007】
また、HTTPプロキシサーバを用いたネットワークでも同様にリモートGUI環境を利用するが、外部のネットワークに存在するマシンと通信する場合、HTTPを用いるしかない。その結果、リモートGUIによる通信は、マウスなどのポインティング・デバイス等の操作情報やサーバのHTML文書を含むWebコンテンツ情報をHTTPの取決めに基づいてカプセル化する必要がある。
【0008】
従って、以上のようなリモートGUI環境では、クライアントからのキーボード入力情報、ポインティング・デバイスの入力情報をサーバに送信する。このサーバは、その情報を認識した後にフィードバックするとか、クライアントの要望するグラフィカル情報をクライアントに返す。
【0009】
よって、従来のファイアウォールやHTTPプロキシサーバを用いたネットワークでは、クライアントが所定の周期ごとにHTTPトンネリングサーバにアクセスすることから、当該所定の周期以上に高速なレスポンスが期待できない。
【0010】
また、リモートGUI通信では、マウスなどのポインティング・デバイス等の操作情報やサーバのHTML文書を含むWebコンテンツ情報をHTTPの取決めに基づいてカプセル化する必要があるが、このカプセル化処理の間、通信処理の待ち時間が発生し、スループットが低下してしまう問題がある。
【0011】
本発明は上記事情にかんがみてなされたもので、データ所持用サーバからクライアントへのデータ転送時の通信量を削減し、レスポンス性能の高いHTTPトンネリングを実現するトンネリング通信システム、HTTPトンネリングサーバ、HTTP通信ライブラリ、トンネリング通信方法及びプログラムを提供することを目的とする。
【0012】
また、本発明の他の目的は、リモートGUI環境に十分に適用可能なトンネリング通信システム、HTTPトンネリングサーバ、HTTP通信ライブラリ、トンネリング通信方法及びプログラムを提供することにある。
【0013】
【課題を解決するための手段】
(1) 上記課題を解決するために、ネットワークまたは/及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行う本発明に係わるトンネリング通信システムは、前記不正防御機器と前記データ所持用サーバ間に設置可能であり、前記クライアント側から通信開始要求を受付け、当該データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存し、かつ、当該関連付けデータをクライアント側に返送する通信開始処理機能をもったHTTPトンネリングサーバと、前記クライアント側に設けられ、前記HTTPトンネリングサーバから返送される関連付けデータを受け取り、この関連付けデータのもとに前記クライアントの要求内容を前記HTTPトンネリングサーバに送信し、当該トンネリングサーバから要求内容に応じたデータを受け取るHTTP通信ライブラリとを設けた構成である。
【0014】
本発明は以上のような構成とすることにより、HTTPトンネリングサーバがクライアントからHTTP通信ライブラリを介して通信開始要求を受付けたとき、データ所持用サーバとの関連付けデータを作成し保存し、かつ、前記HTTP通信ライブラリに返送するので、以後のクライアントとデータ所持用サーバとのデータのやり取りがサーバ関連付けデータにより行うので、クライアント側ユーザが何らストレスなくデータ通信が可能となり、高速なレスポンスの向上に貢献することが可能となる。
【0015】
しかも、トンネリングサーバは、HTTP通信ライブラリから関連付けデータのもとに前記データ所持用サーバのデータ要求を受けた場合、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データが届いている場合には当該データを前記HTTP通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くまで待機する構成とすることにより、前記データ所持用サーバからデータが届き次第、HTTP通信ライブラリにデータを転送でき、レスポンスを上げることが可能である。また、リモートGUI環境の利用に際しても、スムーズにデータのやり取りが可能となる。
【0016】
(2) 本発明は、不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは/及び不正防御機器を通じてクライアント側のHTTP通信ライブラリとの間で所要の処理を実行するHTTPトンネリングサーバであって、前記HTTP通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記HTTP通信ライブラリに返送する通信開始処理手段と、前記HTTP通信ライブラリからのデータおよび前記関連付けデータを含むHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送する要求元データ転送処理手段とを設けた構成である。
【0017】
この発明によるHTTPトンネリングサーバでは、データ所持用サーバとの関連付けデータが保存されているので、クライアント側HTTP通信ライブラリから転送すべきデータ及び関連付けデータを伴なうHTTPリクエストを受けたとき、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送するので、迅速にクライアントのデータをデータ所持用サーバに転送することが可能である。
【0018】
また、HTTPトンネリングサーバは、HTTP通信ライブラリから関連付けデータを含んだHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いている場合には当該データを前記HTTP通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くのを待って当該データをHTTP通信ライブラリに転送するので、前述するデータ通信システムと同様の作用効果を奏することが可能である。
【0019】
(3) 本発明は、ネットワークまたは/及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信方法であって、前記クライアント側のHTTP通信ライブラリから前記不正防御機器を介して入力される通信開始要求を受付け、前記データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存するサーバ関連付けデータ作成ステップと、このステップにより作成されたサーバ関連付けデータを前記HTTP通信ライブラリに送信し、通信可能状態にあることを通知する通信可能情報返送ステップと、前記クライアント側HTTP通信ライブラリから転送すべきデータ及びサーバ関連付けデータを伴なうHTTPリクエストを受信すると、トンネリングサーバがサーバ関連付けデータをキーとし、自身に保存されているサーバ関連付けデータから前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索ステップと、このステップによってデータ転送後、前記トンネリングサーバがデータ転送完了通知を前記HTTP通信ライブラリに送信するデータ転送完了通知ステップとを有するトンネリング通信方法である。
【0020】
このようなトンネリング通信方法においても、前記(1)に記載するトンネリング通信システムと同様な作用効果を奏するものである。
【0021】
(4) さらに、本発明は、クライアントからの要求内容を、ネットワークまたは/及び不正防御機器を通じてデータ所持用サーバと連携関係にあるHTTPトンネリングサーバに要求するHTTP通信ライブラリであって、
前記クライアントからの通信開始要求を受けとって前記トンネリングサーバに送信し、当該トンネリングサーバにより作成されるデータ処理用サーバのサーバ関連付けデータを受け取って保存する手段と、前記クライアントから転送すべきデータを受けた場合、当該クライアントに制御を戻すとともに、受信したデータ及び前記関連付けデータを含めてHTTPリクエストを前記HTTPトンネリングサーバに送信する手段とを設けることにより、クライアントが直ちに次のデータを転送することが可能となる。
【0022】
(5) さらに、本発明は、HTTP通信ライブラリから関連付けデータを含む複数のHTTPリクエストをトンネリングサーバが受けたとき、各HTTPリクエストごとにデータ所持用サーバから届けられている存在データ、以後届く待機データをHTTP通信ライブラリに転送するようにすれば、高いレスポンス、スループットのもとにリアルタイムにデータを転送可能となり、リモートGUI環境に十分対処することが可能となる。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【0024】
図1は本発明に係わるトンネリング通信システムの一実施の形態を示す系統構成図である。このシステムの構成はサーバ側にファイアウォールを設置した例である。
【0025】
このトンネリング通信システムは、インターネット(広域網)等のネットワーク1が設けられ、このネットワーク1にはHTTP通信ライブラリ2を介してユーザ端末であるクライアント3が接続されている。なお、ネットワーク1には多数のHTTP通信ライブラリ2及びクライアント3が接続されている。
【0026】
また、ネットワーク1にはサーバ側ファイアウォール4、HTTPトンネリングサーバ5を介して少なくとも1台以上のデータ所持用サーバ6が接続されている。通常、データ所持用サーバ6は、1台設置されるが、図1に示すように目的別,機能別に複数台設置される場合が多い。
【0027】
HTTP通信ライブラリ2は、通常の通信ライブラリに代わるものであって、少なくともWebサーバ6との間でHTML文書をやり取りするHTTPやHTTPS(Hypertext Transfer Protocol over Transport Layer Security/Secure Socket Layer)に基づく通信ソフトその他通信上必要な各種の通信ソフトが実装されている。
【0028】
このHTTP通信ライブラリ2は、クライアント3からのパケットをHTTPやHTTPSによる取決めに基づいてカプセル化を行い、ネットワーク1に送信することにより、HTTPトンネリングサーバ5と通信を行う。このHTTP通信ライブラリ2は、前記HTTPトンネリングサーバ5を経由して受け取る各種のデータを保存する入力バッファ7が設けられている。
【0029】
クライアント3は、HTML文書をやり取りするHTTPやHTTPSに基づく通信ソフト、HTML文書その他のWebコンテンツを解読し表示するブラウザソフト、電子メールソフトその他通信上必要な各種の通信ソフトが実装されている。
【0030】
前記ファイアウォール4は、ネットワーク1とデータ所持用サーバ6との間に設けられ、データ通信を管理し、かつ、外部からの攻撃や不正アクセスに対して内部ネットワークを保護するインタフェース機能をもっている。因みに、このファイアウォール4は、クライアント側からのデータ通信に対し、例えばポート80(HTTP)、ポート443(HTTPS)以外を通さない機能をもっている。
【0031】
前記HTTPトンネリングサーバ5は、HTTP通信ライブラリ2とデータ所持用サーバ6との間のプロトコル変換処理を実行するものであって、プロトコル変換処理用プログラムを記憶する記録媒体8、クライアント3からサーバ6へのアクセス時に作成されるサーバ6との関連付けデータを格納するサーバ関連付けテーブル9およびサーバ6から送られてくるデータを格納するサーバデータ格納手段10が設けられている。
【0032】
このHTTPトンネリングサーバ5は、機能的には、図2に示すように通信開始処理手段51、要求元(クライアント)データ転送処理手段52及び要求先(データ所持用サーバ)データ転送処理手段53が設けられている。
【0033】
この通信開始処理手段51は、アクセス先であるサーバ6と通信回線を確立するサーバ接続手段511、このサーバ6との接続後にサーバ6との関連付けを行うための関連付けデータを作成するサーバ関連付けデータ作成手段512、サーバ6に対する通信回線の完了を意味する識別データをHTTP通信ライブラリ2に返送する通信可能情報返送手段513とによって構成されている。
【0034】
このサーバ接続手段511は、クライアント3からHTTP通信ライブラリ2を経由して受け取るアクセス先サーバ6のIPアドレスとポート番号に基づいてサーバ6と接続する機能をもっている。
【0035】
このサーバ関連付けデータ作成手段512は、アクセス先であるサーバ6と接続した後、このサーバ6と関連付けるために例えば乱数の発生により得られる例えば数列からなるサーバ関連付けデータを作成し、サーバ関連付けテーブル9に格納する機能をもっている。
【0036】
さらに、通信可能情報返送手段513は、サーバ関連付けデータ作成手段512によって作成されたサーバ関連付けデータをHTTP通信ライブラリ2に送信し、通信開始要求に対する通信可能状態にあることをHTTP通信ライブラリ2に返送する機能をもっている。なお、HTTP通信ライブラリ2は、関連付けデータを受け取って入力バッファ7に保存する。
【0037】
次に、要求元データ転送処理手段52は、クライアント3からHTTP通信ライブラリ2を経由して送信されてくる転送データ及び関連付けデータを伴なうHTTPリクエストを受け取ると、関連付けデータをキーとし、サーバ関連付けテーブル9から接続されているデータ所持用サーバ6を検索し、この検索されたサーバ6にクライアント3からのデータを転送するサーバ接続検索手段521およびデータを転送した後、HTTP通信ライブラリ2からのHTTPリクエストのリプライとしてデータ転送完了を当該HTTP通信ライブラリ2に通知するデータ転送完了通知手段522が設けられている。
【0038】
さらに、要求先データ転送処理手段53は、HTTP通信ライブラリ2のスレッドによる関連付けデータを伴なうHTTPリクエストに対し、サーバ関連付けテーブル9からデータ所持用サーバ6を検索し、検索されたサーバ6から転送すべきデータがサーバデータ格納手段10に届いているか、つまりデータが存在するか否かを確認するサーバデータ存在確認手段531と、サーバデータ格納手段10に転送すべきデータが存在する場合、HTTP通信ライブラリ2にリプライとして当該データを転送する存在データ転送手段532と、サーバデータ格納手段10に転送すべきデータが存在しない場合、リプライを返さずに待機し、サーバ6から転送すべきデータが届くと同時にHTTP通信ライブラリ2にデータを転送する待機データ転送手段533とによって構成されている。
【0039】
従って、以上のようなトンネリングシステム及びHTTPトンネリングサーバの実施の形態によれば、ファイアウォール4が設けられ、HTTP通信しか許可されない場合、クライアント側にHTTP通信ライブラリ2、データ所持用サーバ6側にHTTPトンネリングサーバ5を設け、クライアント側のHTTP通信ライブラリ2から通信開始要求を受けると、HTTPトンネリングサーバ5がデータ所持用サーバ6と接続後に当該サーバとの対応付けデータを作成し、サーバ関連付けテーブル9に格納するとともに、HTTP通信ライブラリ2に返送する。従って、クライアント側のHTTP通信ライブラリ2は、関連付けデータを用いてHTTPトンネリングサーバ5に転送用データを送信したり、データ所持用サーバ6から届いているデータをHTTPトンネリングサーバ5に要求したりするので、従来のように所定の周期に拘らずにデータのやり取りでき、高速なレスポンスを確保できる。
【0040】
また、HTTPトンネリングサーバ5は、専用のスレッドにより常時必要な要求をHTTPトンネリングサーバ5に送信するので、リモートGUI環境に十分に対応でき、レスポンスの高いHTTPトンネリングを実現できる。しかも、クライアント3は所要とするデータを送出すれば、HTTP通信ライブラリ2が関連付けデータの下にHTTPトンネリングサーバ5にリクエストするので、ユーザがストレスなくリモートGUI環境を利用することが可能となる。
【0041】
次に、以上のように構成されたシステムの動作および本発明に係わるトンネリング通信方法について図3ないし図5を参照して説明する。
【0042】
A データ通信開始処理について(図示せず)。
【0043】
(1) クライアント3は、アクセスしようとするサーバ6のIPアドレス及びポート番号をHTTP通信ライブラリ2に送信する。
【0044】
(2) HTTP通信ライブラリ2は、クライアント3からのIPアドレスおよびポート番号を含んだHTTPリクエストをHTTPトンネリングサーバ5に送信する。
【0045】
(3) HTTPトンネリングサーバ5は、HTTP通信ライブラリ2から受信したIPアドレスおよびポート番号に基づいて要求先であるデータ所持サーバ6と接続し、この接続後に乱数を発生させることによって得られる例えば数列からなるサーバ関連付けデータを作成し、この関連付けデータとサーバ6とを関連付けるようにサーバ関連付けテーブル9に格納する(サーバ関連付けデータ作成ステップ)。
【0046】
(4) HTTPトンネリングサーバ5は、HTTP通信ライブラリ2からのHTTPリクエストとして当該サーバ6との関連付けをもった関連付けデータをクライアント側HTTP通信ライブラリ2に返送する(通信可能情報返送ステップ)。
【0047】
(5) HTTP通信ライブラリ2は、HTTPトンネリングサーバ5から受け取ったサーバ関連付けデータを入力バッファ7に保存する。
【0048】
B 要求元クライアントのデータをサーバ6に転送する処理について(図3参照)
(1) クライアント3は、HTTP通信ライブラリ2に転送すべきデータを渡す(S1)。
【0049】
(2) HTTP通信ライブラリ2は、HTTPリクエストとしてクライアント3から受け取ったデータに入力バッファ7に保存されるサーバ関連付けデータを付けてHTTPリクエストをHTTPトンネリングサーバ5に送信する(S2)。
【0050】
(3) このHTTPトンネリングサーバ5は、受け取ったデータのうち、サーバ関連付けデータをキーとし、サーバ関連付けテーブル9に保存される中から該当関連付けデータと関連付けられたデータ所持用サーバ6を検索し、この検索されたサーバ6にデータを転送する(S3:サーバ検索ステップ)。
【0051】
(4) このとき、このHTTPトンネリングサーバ5は、サーバ6にデータを転送した後、HTTP通信ライブラリ2からのHTTPリクエストのリプライとして、当該HTTP通信ライブラリ2にデータ転送完了を意味するデータを通知する(S4:データ転送完了通知ステップ)。
【0052】
(5) HTTP通信ライブラリ2は、データ送信完了の通知を受けると、クライアント3に制御を戻す(S5)。ここで、クライアント3は、待機状態ないし繰り返しデータ転送実行可能な状態となる。
【0053】
C 要求先サーバのデータをクライアント側に転送する処理について(図4,図5参照)。
【0054】
先ず、クライアント3は、HTTP通信ライブラリ2の入力バッファ7にサーバ6からのデータが届いていれば、当該データを取得する。データが届いていない場合にはブロックする。
【0055】
(1) HTTP通信ライブラリ2は、アプリケーション処理として分割された1つの処理単位となるスレッド(Thread)のもとに、HTTPトンネリングサーバ5に対し、サーバ関連付けデータを含んだHTTPリクエストを送信し接続する(S11)。
【0056】
(2) HTTPトンネリングサーバ5は、HTTP通信ライブラリ2から送信されてくる関連付けデータをキーとし、サーバ関連付けテーブル9の関連付けデータに関連付けられているサーバ6を検索する。しかる後、検索されたサーバ6に対応するデータがサーバデータ格納手段10に届いているか否かを確認する(サーバデータ確認ステップ)。
【0057】
(3) この確認の結果、サーバデータ格納手段10に該当サーバ6からデータが届いていれば(S12)、HTTP通信ライブラリ2にHTTPリクエストに対するリプライとしてデータを転送する(S13:存在データ転送ステップ)。
【0058】
(4) HTTP通信ライブラリ2は、HTTPトンネリングサーバ5から届いたデータを入力バッファ7に保存する(S14)。一方、クライアント3は、前述するようにHTTP通信ライブラリ2の入力バッファ7に保存されるデータを取得する。
【0059】
(5) 一方、前述するサーバデータ確認ステップにおいて、サーバ6からトンネリングサーバ5にデータが届いていないと確認した場合、図5に示すようにHTTPリプライを返さずに待機する(S16:待機ステップ)。この待機中にサーバ6からトンネリングサーバ5にデータが届くと(S12’)、トンネリングサーバ5は直ちにHTTP通信ライブラリ2にデータを転送する(S17:待機データ転送ステップ)。
【0060】
(6) HTTP通信ライブラリ2は、HTTPトンネリングサーバ5から届いたデータを入力バッファ7に保存する(S18)。一方、クライアント3は、前述するようにHTTP通信ライブラリ2の入力バッファ7に保存されるデータを取得する。
【0061】
従って、以上のようなトンネリング通信方法の実施の形態によれば、前述するトンネリングシステムと同様な効果を奏することができる。
【0062】
さらに、HTTPトンネリングサーバ5が記録媒体8に記録されるプログラムを読み取って所要の処理を実行する例について図6を参照して説明する。
【0063】
HTTPトンネリングサーバ5は、HTTP通信ライブラリ2からIPアドレス・ポート番号を伴なうHTTPリクエストを受信したか否かを判断し(F1)、受信有りと判断した場合にはIPアドレスおよびポート番号のもとにサーバ6と接続する(F2)。HTTPトンネリングサーバ5は、サーバ6と接続した後、当該サーバ6と関連付けるためのサーバ関連付けデータを作成し、サーバ関連付けテーブル9に格納する(F3:識別データ作成機能)。
【0064】
引き続き、HTTPトンネリングサーバ5は、作成された関連付けデータをHTTPリクエストのリプライとして関連付けデータをHTTP通信ライブラリ2に返送し、通信可能状態であることを知らせる(F4:通信可能情報返送機能)。
【0065】
その後、HTTPトンネリングサーバ5は、クライアント側であるHTTP通信ライブラリ2からHTTPリクエストとして関連付けデータを含むデータを受信したか否かを判断し、受信した場合には関連付けデータをキーとし、サーバ関連付けテーブル9から該当サーバ6を検索し、この検索されたサーバ6にデータを転送する(F5〜F7:サーバ検索接続機能)。
【0066】
ここで、HTTPトンネリングサーバ5は、クライアント側のデータをサーバ6に転送した後、データ転送完了をHTTP通信ライブラリ2に通知する(F8:データ転送完了通知機能)。
【0067】
さらに、HTTPトンネリングサーバ5は、データ転送完了通知後、クライアント側であるHTTP通信ライブラリ2からサーバ関連付けデータを伴なうHTTPリクエスト有りか否かを判断し、HTTPリクエスト有りの場合には関連付けデータをキーとし、サーバ関連付けテーブル9から該当サーバ6を検索し、この検索されたサーバ6のデータがサーバデータ格納手段10に存在するか否か、つまりサーバ6からデータが届いているか判断する(F9,F10:サーバデータ存在確認機能)。
【0068】
ここで、HTTPトンネリングサーバ5は、サーバ6からデータが届いている場合には当該データを読み出してHTTP通信ライブラリ2に転送する(F11:存在データ転送機能)。サーバ6からデータが届いていない場合、サーバ6からデータが届くまで待機する。HTTPトンネリングサーバ5は、待機状態にあるが、サーバ6からデータが届くと直ちにHTTP通信ライブラリ2に転送する(F12,F11:待機データ転送機能)。
【0069】
従って、HTTPトンネリングサーバ5は、予め記録媒体8に記録されるプログラムを読み取って実行することにより、前記トンネリングシステムと同様な効果を実現することができる。
【0070】
次に、本発明に係わるトンネリング通信システム、HTTPトンネリングサーバ、HTTP通信ライブラリ、トンネリング通信方法及びプログラムの他の実施の形態について説明する。
【0071】
なお、トンネリング通信システムの全体構成は、図1と同様であるので、詳しくはそれらの図の説明に譲る。
【0072】
この実施の形態において異なるところは、HTTP通信ライブラリ2、HTTPトンネリングサーバ5の一部の機能、HTTP通信ライブラリ2、トンネリング通信方法、及びプログラムにある。
【0073】
先ず、HTTP通信ライブラリ2は、クライアント3からデータ転送要求を受け取ると、直ちにクライアント3に制御を戻す制御リターン手段を設け、クライアント3が直ちに次のデータを送信可能状態とすること。また、HTTP通信ライブラリ2は、サーバ6からデータを受ける際にサーバ関連付けデータを含んだHTTPリクエストをトンネリングサーバ5に送信するが、このときサーバ関連付けデータを含んだ複数のHTTPリクエストを送信する手段を設け、結果としてトンネリングサーバ5がサーバ6から届くデータのヒットを高め、極めて迅速にサーバ6のデータを受け取ることにある。
【0074】
次に、HTTPトンネリングサーバ5は、通信開始処理手段51、要求元データ転送処理手段52及び要求先データ転送処理手段53からなるが、そのうち、通信開始処理手段51、要求元データ転送処理手段52は図1と同様であるので省略し、特に要求先データ転送処理手段53について説明する。
【0075】
この要求先データ転送処理手段53は、図7に示すようにHTTP通信ライブラリ2のスレッドによりサーバ関連付けデータを含んだ複数のHTTPリクエストを受信するリクエスト手段手段534と、この受信された関連付けデータを伴なうHTTPリクエストに対し、サーバ関連付けテーブル9からサーバ6を検索し、この検索されたサーバ6から転送すべきデータがサーバデータ格納手段10に存在するか否かを確認する複数のサーバデータ存在確認手段531a,531bと、サーバデータ存在確認手段531aがサーバデータ格納手段10に転送すべきデータが存在する場合、HTTP通信ライブラリ2に最初のHTTPリクエストのリプライとして当該データを転送する存在データ転送手段532と、次に送られてくるHTTPリクエストに対してサーバデータ存在確認手段531bはサーバ6からデータが届くまで待機し、届いたときに直ちにHTTP通信ライブラリ2に転送する待機データ転送手段533とが設けられている。なお、サーバデータ存在確認手段531a,531bは、個別的に機能を分けたものであって、実際は1つの機能であってもよい。
【0076】
従って、以上のようなトンネリング通信システムおよびHTTPトンネリングサーバの実施の形態によれば、HTTP通信ライブラリ2から関連付けデータを含む複数のHTTPリクエストをトンネリングサーバ5が受けたとき、各HTTPリクエストごとにデータ所持用サーバ6から届けられている存在データ、以後届く待機データをHTTP通信ライブラリ2に転送するようにすれば、クライアント3とデータ所持用サーバ6との間で高いレスポンス、スループットでリアルタイムにデータを転送でき、よりリモートGUI環境の利用に有効なものとなる。
【0077】
また、HTTP通信ライブラリ2は、自身のスレッドにより逐次データを要求するだけでなく、関連付けデータを含む複数のHTTPリクエストをHTTPトンネリングサーバ5に送信するので、クライアント3のユーザは特にストレスを感じることなく、速やかに所要とするデータを取得できる。
【0078】
次に、以上のようなシステムの動作及び本発明に係わるトンネリング通信方法について図8、図9を参照して説明する。
【0079】
A データ通信開始処理について(図示せず)。
【0080】
(1) クライアント3は、アクセスしようとするサーバ6のIPアドレス及びポート番号をHTTP通信ライブラリ2に渡す。
【0081】
(2) HTTP通信ライブラリ2は、クライアント3からのIPアドレスおよびポート番号を含んだHTTPリクエストをHTTPトンネリングサーバ5に送信する。
【0082】
(3) HTTPトンネリングサーバ5は、HTTP通信ライブラリ2から受信したIPアドレスおよびポート番号に基づいて要求先であるサーバ6と接続し、この接続後に乱数を発生させることにより得られる例えば数列からなるサーバ関連付けデータを作成し、この関連付けデータとサーバ6とを関連付けるようにサーバ関連付けテーブル9に格納する(識別データ作成ステップ)。
【0083】
(4) HTTPトンネリングサーバ5は、HTTP通信ライブラリ2からのHTTPリクエストとして当該サーバ関連付けデータをリクエスト元であるHTTP通信ライブラリ2に返送する(通信可能情報返送ステップ)。
【0084】
(5) HTTP通信ライブラリ2は、HTTPトンネリングサーバ5から受け取った関連付けデータを入力バッファ7に保存する。
【0085】
B 要求元クライアントのデータをサーバに転送する処理について(図8参照)
(1) クライアント3は、HTTP通信ライブラリ2に転送すべきデータを渡す(S21)。
【0086】
(2) HTTP通信ライブラリ2は、クライアント3からデータを受けると、クライアント3に制御を戻す(S22)。その結果、クライアント3は制御を受け取るとこにより直ちに次の転送すべきデータを出すことができ、またHTTP通信ライブラリ2は、クライアント3から次のデータ要求を受け付けことができる。
【0087】
(3) HTTP通信ライブラリ2は、クライアント3からデータを受けると、クライアント3に制御を戻す一方(S22)、HTTPリクエストしてクライアント3から受け取ったデータおよび入力バッファ7に保存されるサーバ関連付けデータを伴なうHTTPリクエストをHTTPトンネリングサーバ5に送信する(S23)。
【0088】
(4) このHTTPトンネリングサーバ5は、受け取ったデータのうち、関連付けデータをキーとし、サーバ関連付けテーブル9から関連付けられるサーバ6を検索し、この検索されたサーバ6にデータを転送する(S24:サーバ検索ステップ)。
【0089】
(5) このHTTPトンネリングサーバ5は、サーバ6にデータを転送した後、HTTP通信ライブラリ2からのHTTPリクエストのリプライとして、当該HTTP通信ライブラリ2にデータ送信完了を意味するデータを通知する(S25:データ転送完了通知ステップ)。
【0090】
C 要求先サーバのデータをクライアントに転送する処理について(図9参照)。
【0091】
先ず、クライアント3は、HTTP通信ライブラリ2の入力バッファ7にサーバ6からのデータが届いていれば、当該データを取得する。データが届いていない場合にはブロックする。
【0092】
(1) HTTP通信ライブラリ2は、アプリケーション処理として分割された1つの処理単位となるスレッド(Thread)のもとに、HTTPトンネリングサーバ5に対し、関連付けデータを含んだHTTPリクエストを複数送信し、複数の通信回線の接続を確立する(S31)。
【0093】
(2) HTTPトンネリングサーバ5は、HTTP通信ライブラリ2から送信されてくる関連付けデータをキーとし、サーバ関連付けテーブル9に関連付けられているサーバ6を検索する。しかる後、検索されたサーバ6に対応するデータがサーバデータ格納手段10に届いているか否かを確認する(サーバデータ確認ステップ)。
【0094】
(3) この確認の結果、サーバデータ格納手段10に該当サーバ6からデータが届いていれば(S32)、HTTP通信ライブラリ2にHTTPリプライとしてデータを転送する(S33:存在データ転送ステップ)。
【0095】
(4) HTTP通信ライブラリ2は、HTTPトンネリングサーバ5から届いたデータを入力バッファ7に保存する(S34)。一方、クライアント3は、前述するようにHTTP通信ライブラリ2の入力バッファ7に保存されるデータを取得する。
【0096】
(5) また、サーバデータ格納手段10に該当サーバ6からデータが届いていない場合、HTTPリプライを返さずに待機する(S35:待機ステップ)。既にサーバ6から届いているデータに関しては、最初のHTTPリクエストに基づいてHTTP通信ライブラリ2に送信するので、次のHTTPリクエストに対しては常に待機状態となる。
【0097】
この待機中にサーバ6からトンネリングサーバ5にデータが届くと、トンネリングサーバ5は、次のHTTPリクエストのリプライとして直ちにHTTP通信ライブラリ2にデータを転送する(S36:待機データ転送ステップ)。
【0098】
(6) HTTP通信ライブラリ2は、HTTPトンネリングサーバ5から届いたデータを入力バッファ7に保存する(S18)。一方、クライアント3は、前述するようにHTTP通信ライブラリ2の入力バッファ7に保存されるデータを取得する。
【0099】
従って、このトンネリング通信方法によれば、前述するトンネリングシステム、HTTPトンネリングサーバ及びHTTP通信ライブラリでえられたと同様の効果を奏するものである。
【0100】
さらに、HTTPトンネリングサーバ5が記録媒体8に記録されるプログラムを読み取って所要の処理を実行する例について図10を参照して説明する。なお、同図においてステップF1〜F10までは図6のF1〜F10同じであるので、ここでは図6の説明に譲り、ステップF10以降の処理について説明する。
【0101】
このステップF10においてサーバデータ有りかを判断し、有りの場合には初めのHTTPリクエストのリプライとしてサーバデータを転送した後(F11)、次のHTTPリクエスト有りかを判断し(F13)、有りの場合にはサーバ6からデータが届くまで待機し(F12)、サーバ6からデータが届くと次のリクエストのリプライとしてサーバデータを転送する。
【0102】
従って、HTTPトンネリングサーバ5は、予め記録媒体8に記録されるプログラムを読み取って実行することにより、前記トンネリングシステムと同様な効果を実現することができる。
【0103】
なお、本願発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。例えば図1に示すトンネリング通信システムでは、ファイアウォール4が設けたが、例えば図11に示すようにファイアウォール4に代えてHTTPプロキシサーバ12を設けた構成であってもよい。
【0104】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位,下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【0105】
【発明の効果】
以上説明したように本発明によれば、データ所持用サーバからクライアントへのデータ転送時の通信量を削減し、レスポンス性能の高いHTTPトンネリングを実現できるトンネリング通信システム、HTTPトンネリングサーバ、HTTP通信ライブラリ、トンネリング通信方法及びプログラムを提供できる。
【0106】
また、本発明の他の目的は、リモートGUI環境に十分に適用可能なトンネリング通信システム、HTTPトンネリングサーバ、HTTP通信ライブラリ、トンネリング通信方法及びプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明に係わるトンネリング通信システムの一実施の形態を示す系統構成図。
【図2】トンネリングサーバの一例を示す機能構成図。
【図3】クライアントからサーバへのデータ転送を説明するシーケンス図。
【図4】サーバからトンネリングサーバにデータが届いている場合のサーバからクライアントへのデータ転送を説明するシーケンス図。
【図5】サーバからトンネリングサーバにデータが届いていない場合のサーバからクライアントへのデータ転送を説明するシーケンス図。
【図6】トンネリングサーバにおけるプログラム処理を説明するフローチャート。
【図7】トンネリングサーバの他の例を示す機能構成図。
【図8】クライアントからサーバへのデータ転送を説明するシーケンス図。
【図9】サーバからクライアントへのデータ転送を説明するシーケンス図。
【図10】トンネリングサーバにおけるプログラム処理を説明するフローチャート。
【図11】本発明に係わるトンネリング通信システムの他の実施の形態を示す系統構成図。
【符号の説明】
1…ネットワーク
2…HTTP通信ライブラリ
3…クライアント
4…ファイアウォール
5…HTTPトンネリングサーバ
6…サーバ
7…入力バッファ
8…記録媒体
9…サーバ関連付けテーブル
10…サーバデータ格納手段
11…データベース
12…HTTPプロキシサーバ
51…通信開始処理手段
52…要求元データ転送処理手段
53…要求先データ転送処理手段
511…サーバ接続手段
512…サーバ関連付けデータ作成手段
513…通信可能情報返送手段
521…サーバ検索接続手段
522…データ転送完了通知手段
531(531a,531b)…サーバデータ存在確認手段
532…存在データ転送手段
533…待機データ転送手段
534…リクエスト受信手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a tunneling communication system, an HTTP tunneling server, an HTTP communication library, an HTTP communication library, a tunneling communication method, and a program for performing real-time communication between a client and a server on a network limited to HTTP (Hypertext Transfer Protocol) communication.
[0002]
[Prior art]
In recent years, a firewall and an HTTP proxy server are installed at the boundary between the Internet and a LAN from the viewpoint of security, but only HTTP communication can be applied accordingly.
[0003]
Conventionally, in a network in which only users passing through a firewall or an HTTP proxy server are allowed to communicate as described above, an HTTP tunneling server is installed in front of the server, where encapsulation by HTTP is performed, and the client and server are connected. Are communicating between
[0004]
In such a network using HTTP, data is transmitted and received under the initiative of the client, but data transmission from the client to the server uses a data transmission method based on the HTTP agreement, while data transmission from the server to the client is performed. Uses the following data transfer method. That is, in this data transfer, the client accesses the HTTP tunneling server at predetermined intervals, and checks whether or not data exists in the HTTP tunneling server. When the client confirms that the data exists in the HTTP tunneling server, the client receives the data from the server by downloading the data.
[0005]
[Problems to be solved by the invention]
By the way, in a network using a firewall as described above, a remote GUI (Graphical User Interface) environment is often used.
[0006]
When using this remote GUI environment, operation information such as a pointing device such as a mouse on the client side is transmitted to the server side, and a graphical element such as an icon or a window is received. Next, you need to change the firewall settings. Increasing the types of packets to be passed in this way lowers the security level of the network and is not a desirable state.
[0007]
Similarly, a remote GUI environment is used in a network using an HTTP proxy server, but when communicating with a machine existing in an external network, the only option is to use HTTP. As a result, in the communication by the remote GUI, it is necessary to encapsulate operation information of a pointing device such as a mouse or the like and Web content information including an HTML document of a server based on an HTTP agreement.
[0008]
Therefore, in the remote GUI environment as described above, the keyboard input information from the client and the input information of the pointing device are transmitted to the server. After recognizing the information, the server provides feedback or returns graphical information desired by the client to the client.
[0009]
Therefore, in a conventional network using a firewall or an HTTP proxy server, a client accesses the HTTP tunneling server at predetermined intervals, so that a high-speed response cannot be expected beyond the predetermined interval.
[0010]
In the remote GUI communication, it is necessary to encapsulate operation information of a pointing device such as a mouse or the like and Web content information including an HTML document of a server based on an HTTP agreement. There is a problem that a processing wait time occurs and the throughput decreases.
[0011]
The present invention has been made in view of the above circumstances, and has a tunneling communication system, an HTTP tunneling server, and an HTTP communication that reduce the amount of communication at the time of data transfer from a data possessing server to a client and realize HTTP tunneling with high response performance. A library, a tunneling communication method, and a program are provided.
[0012]
It is another object of the present invention to provide a tunneling communication system, an HTTP tunneling server, an HTTP communication library, a tunneling communication method, and a program which can be sufficiently applied to a remote GUI environment.
[0013]
[Means for Solving the Problems]
(1) In order to solve the above problem, a tunneling communication system according to the present invention for performing communication between a client and a data possessing server through a network or / and an unauthorized possession device, comprises the unauthorized possession device and the data possessing server. Between the client and the server, accepts a communication start request from the client side, connects to the data holding server, creates and saves association data with the data holding server, and transmits the association data to the client side. An HTTP tunneling server having a communication start processing function for returning the request to the client; receiving association data returned from the HTTP tunneling server provided on the client side; Send to the tunneling server, An HTTP communication library for receiving data corresponding to the request content from the tunneling server is provided.
[0014]
According to the present invention, when the HTTP tunneling server receives a communication start request from a client via an HTTP communication library, the present invention creates and saves data associated with a data possessing server, and Since the data is returned to the HTTP communication library, the subsequent data exchange between the client and the data holding server is performed by the server association data, so that the client user can perform data communication without any stress and contribute to improvement of high-speed response. It becomes possible.
[0015]
In addition, when the tunneling server receives a data request from the data holding server based on the association data from the HTTP communication library, the tunneling server searches for the data holding server using the received association data as a key. It is determined whether or not data has arrived from the data possessing server. If the data has arrived, the data is transferred to the HTTP communication library. If the data has not arrived from the data possessing server, By adopting a configuration of waiting until the data arrives, the data can be transferred to the HTTP communication library as soon as the data arrives from the data possession server, and the response can be increased. Also, when using the remote GUI environment, data can be exchanged smoothly.
[0016]
(2) The present invention relates to an HTTP tunneling server that can be installed between an unauthorized protection device and a data possession server and that performs required processing between the network and / or an HTTP communication library on the client side through the unauthorized protection device. Communication start processing means for receiving a communication start request from the HTTP communication library, connecting to the data possession server, creating association data with the data possession server, and returning the data to the HTTP communication library; Request source data transfer processing means for receiving an HTTP request including the data from the HTTP communication library and the association data, searching for the relevant data possession server from the association data, and transferring the data to the retrieved data possession server Is provided.
[0017]
In the HTTP tunneling server according to the present invention, since the association data with the data possessing server is stored, when an HTTP request accompanying the data to be transferred and the association data is received from the client side HTTP communication library, the association data is stored. And retrieves the corresponding data possessing server from the server, and transfers the data to the retrieved data possessing server. Therefore, it is possible to quickly transfer the client data to the data possessing server.
[0018]
When the HTTP tunneling server receives the HTTP request including the association data from the HTTP communication library, the HTTP tunneling server searches the relevant data holding server from the association data, and when the data is received from the searched data holding server. Transfer the data to the HTTP communication library, and if the data has not arrived from the data possession server, wait for the data to arrive and then transfer the data to the HTTP communication library. The same operation and effect as described above can be obtained.
[0019]
(3) The present invention is a tunneling communication method for performing communication between a client and a data possessing server through a network or / and an unauthorized protection device, wherein the tunneling communication method is input from the client-side HTTP communication library via the unauthorized protection device. Receiving a communication start request, and connecting to the data possession server, creating and storing association data with the data possession server, a server association data creation step, and the server association data created by this step A communicable information returning step of transmitting to the HTTP communication library and notifying that it is in a communicable state; and receiving an HTTP request including data to be transferred and server association data from the client side HTTP communication library, the tunneling server. But A server search step of searching for the data holding server from the server association data stored therein using the server association data as a key, and transferring the received data to the searched data holding server; and After the data transfer, the tunneling server sends a data transfer completion notification to the HTTP communication library.
[0020]
Such a tunneling communication method has the same operation and effect as the tunneling communication system described in (1).
[0021]
(4) Further, the present invention is an HTTP communication library for requesting the contents of a request from a client to an HTTP tunneling server in cooperation with a data possession server through a network or / and an unauthorized device.
Means for receiving a communication start request from the client, transmitting the request to the tunneling server, receiving and storing server association data of a data processing server created by the tunneling server, and receiving data to be transferred from the client. In this case, by returning control to the client and providing a means for transmitting an HTTP request including the received data and the association data to the HTTP tunneling server, the client can immediately transfer the next data. Become.
[0022]
(5) Further, according to the present invention, when the tunneling server receives a plurality of HTTP requests including the association data from the HTTP communication library, the existence data delivered from the data holding server for each HTTP request, and the standby data delivered thereafter Is transferred to the HTTP communication library, data can be transferred in real time with high response and throughput, and it is possible to sufficiently cope with a remote GUI environment.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0024]
FIG. 1 is a system configuration diagram showing one embodiment of a tunneling communication system according to the present invention. The configuration of this system is an example in which a firewall is installed on the server side.
[0025]
In this tunneling communication system, a network 1 such as the Internet (wide area network) is provided, and a client 3 as a user terminal is connected to the network 1 via an HTTP communication library 2. Note that a large number of HTTP communication libraries 2 and clients 3 are connected to the network 1.
[0026]
At least one data holding server 6 is connected to the network 1 via a server-side firewall 4 and an HTTP tunneling server 5. Usually, one data possessing server 6 is installed, but in many cases, a plurality of data possessing servers 6 are installed according to purpose and function as shown in FIG.
[0027]
The HTTP communication library 2 is an alternative to a normal communication library, and is based on HTTP or HTTPS (Hypertext Transfer Protocol over Transport Layer Security / Secret Software Socket) for exchanging an HTML document with at least the Web server 6. In addition, various communication software required for communication are installed.
[0028]
The HTTP communication library 2 communicates with the HTTP tunneling server 5 by encapsulating a packet from the client 3 based on an agreement based on HTTP or HTTPS and transmitting the encapsulated packet to the network 1. This HTTP communication library 2 is provided with an input buffer 7 for storing various data received via the HTTP tunneling server 5.
[0029]
The client 3 is equipped with communication software based on HTTP or HTTPS that exchanges HTML documents, browser software that decodes and displays HTML documents and other Web contents, e-mail software, and various communication software required for communication.
[0030]
The firewall 4 is provided between the network 1 and the data possessing server 6 and has an interface function for managing data communication and protecting the internal network against external attacks and unauthorized access. Incidentally, the firewall 4 has a function of blocking data communication from the client side other than, for example, the port 80 (HTTP) and the port 443 (HTTPS).
[0031]
The HTTP tunneling server 5 executes a protocol conversion process between the HTTP communication library 2 and the data possession server 6, and stores a protocol conversion process program in the storage medium 8, and transmits the protocol from the client 3 to the server 6. A server association table 9 for storing association data with the server 6 created at the time of access to the server 6 and server data storage means 10 for storing data sent from the server 6 are provided.
[0032]
The HTTP tunneling server 5 functionally includes a communication start processing unit 51, a request source (client) data transfer processing unit 52, and a request destination (data possession server) data transfer processing unit 53, as shown in FIG. Have been.
[0033]
The communication start processing means 51 includes a server connection means 511 for establishing a communication line with the server 6 as an access destination, and server association data creation for creating association data for associating with the server 6 after connection with the server 6 Means 512, and communicable information returning means 513 for returning identification data indicating completion of the communication line to the server 6 to the HTTP communication library 2.
[0034]
The server connection unit 511 has a function of connecting to the server 6 based on the IP address and port number of the access destination server 6 received from the client 3 via the HTTP communication library 2.
[0035]
After connecting to the server 6 as the access destination, the server association data creating unit 512 creates server association data composed of, for example, a sequence obtained by generating random numbers, for example, in order to associate with the server 6, and Has the ability to store.
[0036]
Further, the communicable information returning unit 513 transmits the server association data created by the server association data creation unit 512 to the HTTP communication library 2 and returns to the HTTP communication library 2 that the server is in a communicable state for the communication start request. Has a function. Note that the HTTP communication library 2 receives the association data and stores it in the input buffer 7.
[0037]
Next, upon receiving an HTTP request accompanied by transfer data and association data transmitted from the client 3 via the HTTP communication library 2, the request source data transfer processing unit 52 sets the server association The server 9 retrieves the connected data possessing server 6 from the table 9, and transfers the data from the client 3 to the retrieved server 6 and the server connection retrieval means 521, and then transmits the data from the HTTP communication library 2 to the retrieved server 6. A data transfer completion notifying unit 522 for notifying the HTTP communication library 2 of data transfer completion as a reply to the request is provided.
[0038]
Further, the request destination data transfer processing unit 53 searches the data possession server 6 from the server association table 9 for the HTTP request accompanied by the association data by the thread of the HTTP communication library 2 and transfers the data from the searched server 6. Server data existence confirmation means 531 for confirming whether data to be transmitted has arrived at server data storage means 10, that is, whether or not data exists; and HTTP communication when data to be transferred to server data storage means 10 exists. When there is no data to be transferred to the server data storage unit 10 and there is no existing data transfer unit 532 that transfers the data as a reply to the library 2, the server 2 stands by without returning a reply, and At the same time, standby data transfer for transferring data to the HTTP communication library 2 It is constituted by a means 533.
[0039]
Therefore, according to the above-described embodiment of the tunneling system and the HTTP tunneling server, when the firewall 4 is provided and only the HTTP communication is permitted, the HTTP communication library 2 is provided on the client side, and the HTTP tunneling is provided on the data holding server 6 side. When the server 5 is provided and receives a communication start request from the HTTP communication library 2 on the client side, the HTTP tunneling server 5 connects to the data possession server 6 to create association data with the server and stores it in the server association table 9 And returns it to the HTTP communication library 2. Therefore, the HTTP communication library 2 on the client side transmits the transfer data to the HTTP tunneling server 5 using the association data and requests the HTTP tunneling server 5 for the data received from the data possessing server 6. Data can be exchanged irrespective of a predetermined cycle as in the related art, and a high-speed response can be secured.
[0040]
Further, the HTTP tunneling server 5 always transmits necessary requests to the HTTP tunneling server 5 by a dedicated thread, so that the HTTP tunneling server 5 can sufficiently cope with a remote GUI environment and realize high-response HTTP tunneling. Moreover, when the client 3 sends out the required data, the HTTP communication library 2 makes a request to the HTTP tunneling server 5 under the association data, so that the user can use the remote GUI environment without stress.
[0041]
Next, the operation of the system configured as described above and the tunneling communication method according to the present invention will be described with reference to FIGS.
[0042]
A. Data communication start processing (not shown).
[0043]
(1) The client 3 transmits the IP address and port number of the server 6 to be accessed to the HTTP communication library 2.
[0044]
(2) The HTTP communication library 2 transmits an HTTP request including the IP address and the port number from the client 3 to the HTTP tunneling server 5.
[0045]
(3) The HTTP tunneling server 5 connects to the data possessing server 6 that is the request destination based on the IP address and the port number received from the HTTP communication library 2, and generates a random number after this connection, for example, from a sequence. The server association data is created and stored in the server association table 9 so as to associate the association data with the server 6 (server association data creation step).
[0046]
(4) The HTTP tunneling server 5 returns, as an HTTP request from the HTTP communication library 2, association data associated with the server 6 to the client-side HTTP communication library 2 (communicable information return step).
[0047]
(5) The HTTP communication library 2 stores the server association data received from the HTTP tunneling server 5 in the input buffer 7.
[0048]
B. Processing for transferring data of requesting client to server 6 (see FIG. 3)
(1) The client 3 passes data to be transferred to the HTTP communication library 2 (S1).
[0049]
(2) The HTTP communication library 2 sends the HTTP request to the HTTP tunneling server 5 with the server association data stored in the input buffer 7 added to the data received from the client 3 as an HTTP request (S2).
[0050]
(3) The HTTP tunneling server 5 searches the data possessing server 6 associated with the relevant association data from the data stored in the server association table 9 by using the server association data as a key among the received data. The data is transferred to the searched server 6 (S3: server search step).
[0051]
(4) At this time, after transferring the data to the server 6, the HTTP tunneling server 5 notifies the HTTP communication library 2 of data indicating the completion of the data transfer as a reply to the HTTP request from the HTTP communication library 2. (S4: Data transfer completion notification step).
[0052]
(5) Upon receiving the data transmission completion notification, the HTTP communication library 2 returns control to the client 3 (S5). Here, the client 3 enters a standby state or a state in which data transfer can be repeatedly executed.
[0053]
C Processing for transferring data of the request destination server to the client side (see FIGS. 4 and 5).
[0054]
First, if data from the server 6 has arrived at the input buffer 7 of the HTTP communication library 2, the client 3 acquires the data. Block if data has not arrived.
[0055]
(1) The HTTP communication library 2 transmits and connects an HTTP request including server association data to the HTTP tunneling server 5 under a thread (Thread) serving as one processing unit divided as application processing. (S11).
[0056]
(2) The HTTP tunneling server 5 searches for the server 6 associated with the association data in the server association table 9 using the association data transmitted from the HTTP communication library 2 as a key. Thereafter, it is confirmed whether or not the data corresponding to the retrieved server 6 has reached the server data storage means 10 (server data confirmation step).
[0057]
(3) As a result of this check, if data has arrived from the server 6 to the server data storage means 10 (S12), the data is transferred to the HTTP communication library 2 as a reply to the HTTP request (S13: existing data transfer step). .
[0058]
(4) The HTTP communication library 2 stores the data received from the HTTP tunneling server 5 in the input buffer 7 (S14). On the other hand, the client 3 acquires the data stored in the input buffer 7 of the HTTP communication library 2 as described above.
[0059]
(5) On the other hand, in the server data confirmation step described above, when it is confirmed that data has not arrived from the server 6 to the tunneling server 5, as shown in FIG. 5, the apparatus waits without returning an HTTP reply (S16: standby step). . When data arrives from the server 6 to the tunneling server 5 during this standby (S12 '), the tunneling server 5 immediately transfers the data to the HTTP communication library 2 (S17: standby data transfer step).
[0060]
(6) The HTTP communication library 2 stores the data received from the HTTP tunneling server 5 in the input buffer 7 (S18). On the other hand, the client 3 acquires the data stored in the input buffer 7 of the HTTP communication library 2 as described above.
[0061]
Therefore, according to the above-described embodiment of the tunneling communication method, the same effects as those of the above-described tunneling system can be obtained.
[0062]
Further, an example in which the HTTP tunneling server 5 reads a program recorded on the recording medium 8 and executes a required process will be described with reference to FIG.
[0063]
The HTTP tunneling server 5 determines whether or not an HTTP request with an IP address / port number has been received from the HTTP communication library 2 (F1). If it is determined that the HTTP request has been received, the IP address and the port number are also determined. (F2). After connecting to the server 6, the HTTP tunneling server 5 creates server association data for associating with the server 6, and stores it in the server association table 9 (F3: identification data creation function).
[0064]
Subsequently, the HTTP tunneling server 5 returns the association data to the HTTP communication library 2 as a reply to the HTTP request, to notify that the communication is possible (F4: communication capability information return function).
[0065]
Thereafter, the HTTP tunneling server 5 determines whether or not data including the association data has been received as an HTTP request from the HTTP communication library 2 on the client side. From the server 6 and transfer the data to the searched server 6 (F5 to F7: server search connection function).
[0066]
Here, after transferring the client-side data to the server 6, the HTTP tunneling server 5 notifies the HTTP communication library 2 of the completion of the data transfer (F8: data transfer completion notification function).
[0067]
Further, the HTTP tunneling server 5 determines whether or not there is an HTTP request accompanied by server association data from the HTTP communication library 2 on the client side after notifying the completion of the data transfer. Using the key as a key, the server 6 is searched for from the server association table 9 and it is determined whether or not the searched data of the server 6 exists in the server data storage means 10, that is, whether data has been received from the server 6 (F9, F10: server data existence confirmation function).
[0068]
Here, when data is received from the server 6, the HTTP tunneling server 5 reads the data and transfers the data to the HTTP communication library 2 (F11: existing data transfer function). If the data has not arrived from the server 6, it waits until the data arrives from the server 6. The HTTP tunneling server 5 is in a standby state, but immediately transfers data to the HTTP communication library 2 as soon as data arrives from the server 6 (F12, F11: standby data transfer function).
[0069]
Therefore, the HTTP tunneling server 5 can realize the same effect as the tunneling system by reading and executing the program recorded in the recording medium 8 in advance.
[0070]
Next, other embodiments of the tunneling communication system, the HTTP tunneling server, the HTTP communication library, the tunneling communication method, and the program according to the present invention will be described.
[0071]
Note that the entire configuration of the tunneling communication system is the same as that of FIG.
[0072]
The difference in this embodiment lies in the HTTP communication library 2, some functions of the HTTP tunneling server 5, the HTTP communication library 2, the tunneling communication method, and the program.
[0073]
First, upon receiving a data transfer request from the client 3, the HTTP communication library 2 is provided with control return means for immediately returning control to the client 3, so that the client 3 can immediately transmit the next data. The HTTP communication library 2 transmits an HTTP request including server association data to the tunneling server 5 when receiving data from the server 6. At this time, the HTTP communication library 2 transmits a plurality of HTTP requests including server association data. In other words, the tunneling server 5 increases the hits of the data received from the server 6 and receives the data from the server 6 very quickly.
[0074]
Next, the HTTP tunneling server 5 includes a communication start processing unit 51, a request source data transfer processing unit 52, and a request destination data transfer processing unit 53, of which the communication start processing unit 51 and the request source data transfer processing unit 52 The description is omitted because it is the same as that of FIG.
[0075]
The request destination data transfer processing unit 53 includes a request unit 534 that receives a plurality of HTTP requests including server association data by a thread of the HTTP communication library 2 as shown in FIG. In response to the HTTP request, the server 6 is searched from the server association table 9, and a plurality of server data existence confirmations are performed to confirm whether data to be transferred from the retrieved server 6 exists in the server data storage unit 10. If there is data to be transferred to the server data storage means 10 by the means 531a, 531b and the server data existence confirmation means 531a, the existence data transfer means 532 transfers the data to the HTTP communication library 2 as a reply to the first HTTP request. And the next HTTP sent The server data existence confirmation means 531b waits until you receive data from the server 6, a waiting data transfer means 533 to immediately transfer the HTTP communication library 2 when received is provided for quests. Note that the server data existence check units 531a and 531b have individually separated functions, and may actually be a single function.
[0076]
Therefore, according to the above-described embodiment of the tunneling communication system and the HTTP tunneling server, when the tunneling server 5 receives a plurality of HTTP requests including the association data from the HTTP communication library 2, the data possession is performed for each HTTP request. If the existence data delivered from the server 6 and the waiting data arrived thereafter are transferred to the HTTP communication library 2, the data is transferred between the client 3 and the data possessing server 6 in real time with high response and throughput. It is possible to use the remote GUI environment more effectively.
[0077]
In addition, the HTTP communication library 2 not only requests sequential data by its own thread, but also transmits a plurality of HTTP requests including association data to the HTTP tunneling server 5, so that the user of the client 3 does not feel any particular stress. The required data can be obtained quickly.
[0078]
Next, the operation of the above system and the tunneling communication method according to the present invention will be described with reference to FIGS.
[0079]
A. Data communication start processing (not shown).
[0080]
(1) The client 3 passes the IP address and port number of the server 6 to be accessed to the HTTP communication library 2.
[0081]
(2) The HTTP communication library 2 transmits an HTTP request including the IP address and the port number from the client 3 to the HTTP tunneling server 5.
[0082]
(3) The HTTP tunneling server 5 connects to the server 6 that is the request destination based on the IP address and the port number received from the HTTP communication library 2, and generates a random number after this connection, for example, a server composed of a sequence. The association data is created and stored in the server association table 9 so as to associate the association data with the server 6 (identification data creation step).
[0083]
(4) The HTTP tunneling server 5 returns the server association data to the requesting HTTP communication library 2 as an HTTP request from the HTTP communication library 2 (communication information return step).
[0084]
(5) The HTTP communication library 2 stores the association data received from the HTTP tunneling server 5 in the input buffer 7.
[0085]
B. Processing for transferring the data of the requesting client to the server (see FIG. 8)
(1) The client 3 passes data to be transferred to the HTTP communication library 2 (S21).
[0086]
(2) Upon receiving the data from the client 3, the HTTP communication library 2 returns control to the client 3 (S22). As a result, upon receiving the control, the client 3 can immediately output the next data to be transferred, and the HTTP communication library 2 can receive the next data request from the client 3.
[0087]
(3) Upon receiving the data from the client 3, the HTTP communication library 2 returns the control to the client 3 (S 22), and also copies the data received from the client 3 by the HTTP request and the server association data stored in the input buffer 7. The accompanying HTTP request is transmitted to the HTTP tunneling server 5 (S23).
[0088]
(4) The HTTP tunneling server 5 searches the server 6 to be associated from the server association table 9 using the association data as a key among the received data, and transfers the data to the searched server 6 (S24: server) Search step).
[0089]
(5) After transferring the data to the server 6, the HTTP tunneling server 5 notifies the HTTP communication library 2 of data indicating the completion of data transmission as a reply to the HTTP request from the HTTP communication library 2 (S25: Data transfer completion notification step).
[0090]
C Processing for transferring data of the request destination server to the client (see FIG. 9).
[0091]
First, if data from the server 6 has arrived at the input buffer 7 of the HTTP communication library 2, the client 3 acquires the data. Block if data has not arrived.
[0092]
(1) The HTTP communication library 2 transmits a plurality of HTTP requests including association data to the HTTP tunneling server 5 under a thread (Thread) serving as one processing unit divided as application processing. The connection of the communication line is established (S31).
[0093]
(2) The HTTP tunneling server 5 searches the server 6 associated with the server association table 9 using the association data transmitted from the HTTP communication library 2 as a key. Thereafter, it is confirmed whether or not the data corresponding to the retrieved server 6 has reached the server data storage means 10 (server data confirmation step).
[0094]
(3) As a result of this confirmation, if data has arrived from the server 6 to the server data storage means 10 (S32), the data is transferred to the HTTP communication library 2 as an HTTP reply (S33: existing data transfer step).
[0095]
(4) The HTTP communication library 2 stores the data received from the HTTP tunneling server 5 in the input buffer 7 (S34). On the other hand, the client 3 acquires the data stored in the input buffer 7 of the HTTP communication library 2 as described above.
[0096]
(5) If no data has arrived from the server 6 to the server data storage means 10, the server waits without returning an HTTP reply (S35: standby step). Since the data that has already arrived from the server 6 is transmitted to the HTTP communication library 2 based on the first HTTP request, the data is always in a standby state for the next HTTP request.
[0097]
When data arrives from the server 6 to the tunneling server 5 during this standby, the tunneling server 5 immediately transfers the data to the HTTP communication library 2 as a reply to the next HTTP request (S36: standby data transfer step).
[0098]
(6) The HTTP communication library 2 stores the data received from the HTTP tunneling server 5 in the input buffer 7 (S18). On the other hand, the client 3 acquires the data stored in the input buffer 7 of the HTTP communication library 2 as described above.
[0099]
Therefore, according to this tunneling communication method, the same effects as those obtained by the above-described tunneling system, HTTP tunneling server, and HTTP communication library can be obtained.
[0100]
Further, an example in which the HTTP tunneling server 5 reads a program recorded on the recording medium 8 and executes a required process will be described with reference to FIG. 6, steps F1 to F10 are the same as F1 to F10 in FIG. 6, and therefore, the description of FIG. 6 will be given here, and the processing after step F10 will be described.
[0101]
In this step F10, it is determined whether there is server data. If yes, the server data is transferred as a reply to the first HTTP request (F11), and then it is determined whether there is the next HTTP request (F13). Waits until data arrives from the server 6 (F12), and when the data arrives from the server 6, the server data is transferred as a reply to the next request.
[0102]
Therefore, the HTTP tunneling server 5 can realize the same effect as the tunneling system by reading and executing the program recorded in the recording medium 8 in advance.
[0103]
The present invention is not limited to the above-described embodiment, and can be implemented with various modifications without departing from the scope of the invention. For example, in the tunneling communication system shown in FIG. 1, the firewall 4 is provided. However, for example, an HTTP proxy server 12 may be provided instead of the firewall 4 as shown in FIG.
[0104]
Further, the embodiments can be implemented in combination as much as possible, and in that case, the effect of the combination can be obtained. Furthermore, each of the above embodiments includes various upper and lower stage inventions, and various inventions can be extracted by appropriately combining a plurality of disclosed components. For example, when an invention is extracted because some constituent elements can be omitted from all the constituent elements described in the means for solving the problem, if the extracted invention is implemented, the omitted part is omitted. Is appropriately supplemented by well-known conventional techniques.
[0105]
【The invention's effect】
As described above, according to the present invention, a tunneling communication system, an HTTP tunneling server, an HTTP communication library, which can reduce the amount of communication at the time of data transfer from a data possessing server to a client and realize HTTP tunneling with high response performance, A tunneling communication method and program can be provided.
[0106]
Another object of the present invention is to provide a tunneling communication system, an HTTP tunneling server, an HTTP communication library, a tunneling communication method, and a program which can be sufficiently applied to a remote GUI environment.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram showing an embodiment of a tunneling communication system according to the present invention.
FIG. 2 is a functional configuration diagram showing an example of a tunneling server.
FIG. 3 is a sequence diagram illustrating data transfer from a client to a server.
FIG. 4 is a sequence diagram illustrating data transfer from the server to the client when data has arrived from the server to the tunneling server.
FIG. 5 is a sequence diagram illustrating data transfer from the server to the client when data does not reach the tunneling server from the server.
FIG. 6 is a flowchart illustrating program processing in the tunneling server.
FIG. 7 is a functional configuration diagram showing another example of the tunneling server.
FIG. 8 is a sequence diagram illustrating data transfer from a client to a server.
FIG. 9 is a sequence diagram illustrating data transfer from a server to a client.
FIG. 10 is a flowchart illustrating a program process in the tunneling server.
FIG. 11 is a system configuration diagram showing another embodiment of the tunneling communication system according to the present invention.
[Explanation of symbols]
1. Network
2. HTTP communication library
3. Client
4 ... Firewall
5. HTTP tunneling server
6 ... Server
7 Input buffer
8. Recording medium
9: Server association table
10. Server data storage means
11 ... Database
12 ... HTTP proxy server
51 communication start processing means
52 ... request source data transfer processing means
53 request destination data transfer processing means
511: server connection means
512 ... means for creating server association data
513 ... communicable information return means
521: server search connection means
522: Data transfer completion notifying means
531 (531a, 531b) ... server data existence confirmation means
532... Existence data transfer means
533: standby data transfer means
534 ... Request receiving means

Claims (17)

ネットワークまたは/及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信システムにおいて、前記不正防御機器と前記データ所持用サーバ間に設置可能であり、前記クライアント側から通信開始要求を受付け、当該データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存し、かつ、当該関連付けデータをクライアント側に返送する通信開始処理機能をもったHTTPトンネリングサーバと、
前記クライアント側に設けられ、前記HTTPトンネリングサーバから返送される関連付けデータを受け取り、この関連付けデータのもとに前記クライアントの要求内容を前記HTTPトンネリングサーバに送信し、当該トンネリングサーバから要求内容に応じたデータを受け取るHTTP通信ライブラリと
を備えたことを特徴とするトンネリング通信システム。
In a tunneling communication system for performing communication between a client and a data possessing server through a network and / or an unauthorized device, the tunneling communication system can be installed between the unauthorized device and the data possessing server, and a communication start request is issued from the client side. An HTTP tunneling server having a communication start processing function for receiving and connecting to the data possession server, creating and storing association data with the data possession server, and returning the association data to the client side;
Provided on the client side, receives association data returned from the HTTP tunneling server, transmits the request content of the client to the HTTP tunneling server based on the association data, and responds to the request content from the tunneling server. A tunneling communication system, comprising: an HTTP communication library for receiving data.
請求項1に記載のトンネリング通信システムにおいて、
前記クライアントから前記データ所持用サーバへのデータ転送は、
前記HTTP通信ライブラリが前記クライアントからのデータ及び前記関連付けデータを含むHTTPリクエストを前記HTTPトンネリングサーバに送信し、
このトンネリングサーバは、前記HTTP通信ライブラリから受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信したデータを転送することを特徴とするデータ通信システム。
The tunneling communication system according to claim 1,
Data transfer from the client to the data possession server,
The HTTP communication library sends an HTTP request including the data from the client and the association data to the HTTP tunneling server,
The tunneling server searches the data possessing server using the association data received from the HTTP communication library as a key, and transfers the received data to the retrieved data possessing server. .
請求項1に記載のトンネリング通信システムにおいて、
前記データ所持用サーバから前記クライアントへのデータ転送は、
前記HTTP通信ライブラリが前記関連付けデータを含んだHTTPリクエストを前記HTTPトンネリングサーバに送信し、
このトンネリングサーバは、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データが届いている場合には当該データを前記HTTP通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くまで待機することを特徴とするトンネリング通信システム。
The tunneling communication system according to claim 1,
Data transfer from the data possession server to the client,
The HTTP communication library sends an HTTP request including the association data to the HTTP tunneling server,
The tunneling server uses the received association data as a key, searches the data possessing server, determines whether or not data has arrived from the retrieved data possessing server, and determines whether the data has arrived. Transfer the data to the HTTP communication library and, if the data has not arrived from the data possession server, wait until the data arrives.
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは/及び不正防御機器を通じてクライアント側のHTTP通信ライブラリとの間で所要の処理を実行するHTTPトンネリングサーバにおいて、前記HTTP通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記HTTP通信ライブラリに返送する通信開始処理手段と、
前記HTTP通信ライブラリからのデータおよび前記関連付けデータを含むHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送する要求元データ転送処理手段とを設けたことを特徴とするHTTPトンネリングサーバ。
An HTTP tunneling server that can be installed between the unauthorized defense device and the data possession server and executes a required process with the client-side HTTP communication library through the network or / and the unauthorized defense device. Communication start processing means for receiving a communication start request, connecting to the data possession server, creating association data with the data possession server, and returning the data to the HTTP communication library;
Upon receiving an HTTP request including the data from the HTTP communication library and the association data, a request source data transfer process for searching a corresponding data holding server from the association data and transferring the data to the searched data holding server And an HTTP tunneling server.
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは/及び不正防御機器を通じてクライアント側のHTTP通信ライブラリとの間で所要の処理を実行するHTTPトンネリングサーバにおいて、前記HTTP通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持サーバの関連付けデータを作成し前記HTTP通信ライブラリに返送する通信開始処理手段と、
前記HTTP通信ライブラリから関連付けデータを含んだHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には当該データを前記HTTP通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くのを待つ要求先データ転送処理手段とを備えたことを特徴とするHTTPトンネリングサーバ。
An HTTP tunneling server that can be installed between the unauthorized defense device and the data possession server and executes a required process with the client-side HTTP communication library through the network or / and the unauthorized defense device. Communication start processing means for receiving a communication start request, connecting to the data possession server, creating association data of the data possession server, and returning the data to the HTTP communication library;
When receiving the HTTP request including the association data from the HTTP communication library, the server searches the relevant data possession server from the association data and determines whether or not data has arrived from the retrieved data possession server. Request destination data transfer processing means for transferring data to the HTTP communication library if data has arrived from the data possession server, and waiting for data to arrive if data has not arrived from the data possession server An HTTP tunneling server comprising:
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは/及び前記不正防御機器を通じてクライアント側のHTTP通信ライブラリとの間で所要の処理を実行するHTTPトンネリングサーバにおいて、
前記HTTP通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記HTTP通信ライブラリに返送する通信開始処理手段と、
前記HTTP通信ライブラリからのデータおよび前記関連付けデータを含むHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバにデータを転送する要求元データ転送処理手段と、
前記HTTP通信ライブラリから関連付けデータを含んだHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には当該データを前記HTTP通信ライブラリに転送し、当該データ所持用サーバからデータが届いていない場合にはデータが届くのを待つ要求先データ転送処理手段とを備えたことを特徴とするHTTPトンネリングサーバ。
An HTTP tunneling server that can be installed between the unauthorized protection device and the data possession server and that performs required processing between the network and / or an HTTP communication library on the client side through the unauthorized protection device;
Communication start processing means for receiving a communication start request from the HTTP communication library, connecting to the data possession server, creating association data with the data possession server, and returning the data to the HTTP communication library;
Upon receiving an HTTP request including the data from the HTTP communication library and the association data, a request source data transfer process for searching a corresponding data holding server from the association data and transferring the data to the searched data holding server Means,
When receiving the HTTP request including the association data from the HTTP communication library, the server searches the relevant data possession server from the association data and determines whether or not data has arrived from the retrieved data possession server. Request destination data transfer processing means for transferring data to the HTTP communication library if data has arrived from the data possession server, and waiting for data to arrive if data has not arrived from the data possession server An HTTP tunneling server comprising:
ネットワークまたは/及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信方法において、
前記クライアント側のHTTP通信ライブラリから入力または、前記不正防御機器を介して入力される通信開始要求を受付け、前記データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存するサーバ関連付けデータ作成ステップと、
このステップにより作成されたサーバ関連付けデータを前記HTTP通信ライブラリに送信し、通信可能状態にあることを通知する通信可能情報返送ステップと、
前記クライアント側HTTP通信ライブラリから転送すべきデータ及びサーバ関連付けデータを伴なうHTTPリクエストを受信すると、HTTPトンネリングサーバがサーバ関連付けデータをキーとし、自身に保存されているサーバ関連付けデータから前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索ステップと、
このステップによってデータ転送後、前記HTTPトンネリングサーバがデータ転送完了通知を前記HTTP通信ライブラリに送信するデータ転送完了通知ステップとを有することを特徴とするトンネリング通信方法。
In a tunneling communication method for performing communication between a client and a data possession server through a network or / and an unauthorized device,
Receives a communication start request input from the client-side HTTP communication library or input via the unauthorized protection device, connects to the data possession server, and creates and stores data associated with the data possession server Server association data creation step to be performed,
Transmitting the server association data created in this step to the HTTP communication library and notifying that it is in a communicable state;
When receiving an HTTP request accompanied by data to be transferred and server association data from the client-side HTTP communication library, the HTTP tunneling server uses the server association data as a key and obtains the data possession from the server association data stored therein. A server search step of searching a server and transferring the received data to the searched data holding server;
A data transfer completion notification step in which the HTTP tunneling server transmits a data transfer completion notification to the HTTP communication library after the data transfer in this step.
請求項7に記載のトンネリング通信方法において、
前記クライアント側HTTP通信ライブラリから前記サーバ関連付けデータを含んだHTTPリクエストを受信すると、HTTPトンネリングサーバがサーバ関連付けデータをキーとし、既に保存されるサーバ関連付けデータからデータ所持用サーバを検索し、この検索されたデータ所持用サーバから転送すべきデータが存在するか否かを確認するサーバデータ確認ステップと、
このステップにより当該データ所持用サーバのデータが存在する場合、当該データをHTTP通信ライブラリに転送する存在データ転送ステップと、
前記HTTPトンネリングサーバが前記サーバデータ確認ステップにより当該データ所持用サーバからデータが届いていないと確認した場合にHTTPリクエストのリプライを返さずに待機する待機ステップと、
この待機ステップによる待機中に前記データ所持用サーバからデータが届くと、前記HTTPリクエストのリプライとして前記HTTP通信ライブラリにデータを転送する待機データ転送ステップとを有することを特徴とするトンネリング通信方法。
The tunneling communication method according to claim 7,
When receiving the HTTP request including the server association data from the client-side HTTP communication library, the HTTP tunneling server searches for the data possessing server from the already stored server association data using the server association data as a key. Server data confirming step for confirming whether or not there is data to be transferred from the data possessing server,
When the data of the data possessing server exists by this step, an existing data transfer step of transferring the data to the HTTP communication library;
When the HTTP tunneling server confirms in the server data confirmation step that data has not arrived from the data possessing server, a standby step of waiting without returning a reply to the HTTP request;
A standby data transfer step of transferring data to the HTTP communication library as a reply to the HTTP request when data arrives from the data possession server during the standby in the standby step.
クライアント側のHTTP通信ライブラリからネットワークまたは/及び前記不正防御機器を通じて所要の処理要求を受けた場合、データ所持用サーバと連携をとりながら当該処理要求に応じた処理を実行するコンピュータに、
前記クライアント側のHTTP通信ライブラリから通信開始要求を受けたとき、前記データ所持用サーバと接続するともに、当該データ所持用サーバとのサーバ関連付けデータを作成し保存するサーバ関連付けデータ作成機能と、この機能により作成されたサーバ関連付けデータを前記HTTP通信ライブラリに返送する通信可能情報返送機能と、前記サーバ関連付けデータを受信後、前記クライアントからHTTP通信ライブラリを介して転送すべきデータ及び当該サーバ関連付けデータを伴なうHTTPリクエストを受信すると、このサーバ関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信したデータを転送するサーバ検索接続機能と、このデータ所持用サーバにデータを転送後、前記HTTP通信ライブラリにデータ転送完了通知を行うデータ転送完了通知機能とを実現させるプログラム。
When a required processing request is received from the HTTP communication library on the client side through the network or / and the unauthorized protection device, a computer that executes a process corresponding to the processing request while cooperating with the data possession server includes:
A server association data creation function for connecting to the data possession server and creating and storing server association data with the data possession server when receiving a communication start request from the client side HTTP communication library; A function for returning the server association data created by the above to the HTTP communication library, and a function to transmit the data to be transferred from the client via the HTTP communication library and the server association data after receiving the server association data. When receiving the HTTP request, a server search connection function for searching the data holding server using the server association data as a key and transferring the received data to the searched data holding server, After transferring data to the server Program for realizing a data transfer completion notification function for data transfer completion notification to the HTTP communication library.
請求項9に記載のプログラムにおいて、
前記クライアント側HTTP通信ライブラリから前記サーバ関連付けデータを含んだHTTPリクエストを受信すると、サーバ関連付けデータをキーとし、既に保存されるサーバ関連付けデータからデータ所持用サーバを検索し、この検索されたデータ所持用サーバから転送すべきデータが存在するか否かを確認するサーバデータ確認機能と、この機能により当該データ所持用サーバのデータが存在する場合、当該データをHTTP通信ライブラリに転送する存在データ転送機能と、前記サーバデータ確認機能により当該データ所持用サーバからデータが届いていないと確認した場合に前記HTTPリプライを返さずに待機する待機機能と、この待機機能による待機中に前記データ所持用サーバからデータが届くと、前記HTTPリクエストのリプライとして前記HTTP通信ライブラリにデータを転送する待機データ転送機能とを実現させるプログラム。
The program according to claim 9,
When an HTTP request including the server association data is received from the client-side HTTP communication library, a data possession server is searched for from the already stored server association data, using the server association data as a key. A server data confirmation function for confirming whether or not there is data to be transferred from the server; and a presence data transfer function for transferring the data to the HTTP communication library when data of the data possessing server exists by this function. A standby function that waits without returning the HTTP reply when the server data confirmation function determines that data has not arrived from the data possession server; The HTTP request Program for realizing a standby data transfer function for transferring data to the HTTP communication library as reply.
請求項1に記載のトンネリング通信システムにおいて、
前記データ所持用サーバから前記クライアントへのデータ転送は、
前記HTTP通信ライブラリが前記関連付けデータを含んだ複数のHTTPリクエストを前記HTTPトンネリングサーバに送信し、
このトンネリングサーバは、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データが届いている場合には最初のHTTPリクエストに基づいて当該データを前記HTTP通信ライブラリに転送し、次のHTTPリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記HTTP通信ライブラリに転送することを特徴とするトンネリング通信システム。
The tunneling communication system according to claim 1,
Data transfer from the data possession server to the client,
The HTTP communication library sends a plurality of HTTP requests including the association data to the HTTP tunneling server,
The tunneling server uses the received association data as a key, searches the data possessing server, determines whether data has been received from the retrieved data possessing server, and determines whether the data has arrived. Transfers the data to the HTTP communication library based on the first HTTP request, waits for the next HTTP request, and immediately transfers the data to the HTTP communication library when data arrives from the data holding server. A tunneling communication system, comprising:
請求項1に記載のトンネリング通信システムにおいて、
前記データ所持用サーバから前記クライアントへのデータ転送は、前記HTTP通信ライブラリが前記関連付けデータを含んだ複数のHTTPリクエストを前記HTTPトンネリングサーバに送信し、
このトンネリングサーバは、受信した関連付けデータをキーとし、前記データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いていない場合、当該データ所持用サーバからデータが届き次第、各HTTPリクエストのリプライとして順次データを前記HTTP通信ライブラリに転送することを特徴とするトンネリング通信システム。
The tunneling communication system according to claim 1,
In the data transfer from the data possession server to the client, the HTTP communication library sends a plurality of HTTP requests including the association data to the HTTP tunneling server,
The tunneling server searches the data possessing server using the received association data as a key, and if no data has been received from the retrieved data possessing server, as soon as data arrives from the data possessing server, A tunneling communication system wherein data is sequentially transferred to the HTTP communication library as a reply to an HTTP request.
不正防御機器とデータ所持用サーバ間に設置可能であり、ネットワークまたは/及び前記不正防御機器を通じてクライアント側のHTTP通信ライブラリとの間で所要の処理を実行するHTTPトンネリングサーバにおいて、
前記HTTP通信ライブラリからの通信開始要求を受付け、前記データ所持用サーバと接続し、当該データ所持用サーバとの関連付けデータを作成し前記HTTP通信ライブラリに返送する通信開始処理手段と、
前記HTTP通信ライブラリから関連付けデータを含んだ複数のHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には最初のHTTPリクエストに基づいて当該データを前記HTTP通信ライブラリに転送し、次のHTTPリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記HTTP通信ライブラリに転送する要求先データ転送処理手段とを備えたことを特徴とするトンネリングサーバ。
An HTTP tunneling server that can be installed between the unauthorized protection device and the data possession server and that performs required processing between the network and / or an HTTP communication library on the client side through the unauthorized protection device;
Communication start processing means for receiving a communication start request from the HTTP communication library, connecting to the data possession server, creating association data with the data possession server, and returning the data to the HTTP communication library;
When a plurality of HTTP requests including the association data are received from the HTTP communication library, the corresponding data possession server is searched from the association data, and it is determined whether or not data has been received from the searched data possession server. If the data has arrived from the data possessing server, the data is transferred to the HTTP communication library based on the first HTTP request, and is put into a standby state for the next HTTP request. Requesting data transfer processing means for immediately transferring data to the HTTP communication library when data arrives, the tunneling server comprising:
クライアントからの要求内容を、ネットワークまたは/及び不正防御機器を通じてデータ所持用サーバと連携関係にあるHTTPトンネリングサーバに要求するHTTP通信ライブラリにおいて、
前記クライアントからの通信開始要求を受けとって前記トンネリングサーバに送信し、当該トンネリングサーバにより作成されるデータ処理用サーバのサーバ関連付けデータを受け取って保存する手段と、
前記クライアントから転送すべきデータを受けた場合、次のデータ送信が可能なように当該クライアントに制御を戻すとともに、受信したデータ及び前記関連付けデータを含めてHTTPリクエストを前記HTTPトンネリングサーバに送信する手段とを備えたことを特徴とするHTTP通信ライブラリ。
An HTTP communication library for requesting the contents of a request from a client to an HTTP tunneling server in cooperation with a data possession server through a network or / and an unauthorized protection device,
Means for receiving a communication start request from the client, transmitting the request to the tunneling server, and receiving and storing server association data of a data processing server created by the tunneling server;
Means for, when receiving data to be transferred from the client, returning control to the client so that the next data can be transmitted, and transmitting an HTTP request including the received data and the association data to the HTTP tunneling server. An HTTP communication library comprising:
ネットワークまたは/及び不正防御機器を通じて、HTTPトンネリングサーバに対してデータ所持用サーバのデータ転送を要求するHTTP通信ライブラリにおいて、
前記クライアントからの通信開始要求を受けとって前記トンネリングサーバに送信し、当該トンネリングサーバにより作成されるデータ処理用サーバのサーバ関連付けデータを受け取って保存する手段と、
この手段により保存されたサーバ関連付けデータを含む複数のHTTPリクエストを前記HTTPトンネリングサーバに送信し、前記データ所持用サーバのデータを要求する手段と
を備え、各HTTPリクエストごとに前記トンネリングサーバに届けられるデータ所持用サーバのデータを受取り可能にしたことを特徴とするHTTP通信ライブラリ。
In an HTTP communication library that requests an HTTP tunneling server to transfer data from a data possession server through a network or / and an unauthorized protection device,
Means for receiving a communication start request from the client, transmitting the request to the tunneling server, and receiving and storing server association data of a data processing server created by the tunneling server;
Means for transmitting a plurality of HTTP requests including the server association data stored by the means to the HTTP tunneling server, and requesting data of the data possessing server, wherein the HTTP request is delivered to the tunneling server for each HTTP request. An HTTP communication library wherein data from a data possession server can be received.
ネットワークまたは/及び不正防御機器を通じてクライアントとデータ所持用サーバの間で通信を行うトンネリング通信方法において、
前記クライアント側のHTTP通信ライブラリから入力または、前記不正防御機器を介して入力される通信開始要求を受付けると、前記データ所持用サーバと接続するとともに、当該データ所持用サーバとの関連付けデータを作成し保存するサーバ関連付けデータ作成ステップと、
このステップにより作成されたサーバ関連付けデータを前記HTTP通信ライブラリに送信し、通信可能状態にあることを通知する通信可能情報返送ステップと、
前記HTTP通信ライブラリから関連付けデータを含んだ複数のHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索ステップと、
前記検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には最初のHTTPリクエストに基づいて当該データを前記HTTP通信ライブラリに転送するステップと、
前記判断によって前記データ所持用サーバからデータが届いていない場合、次のHTTPリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記HTTP通信ライブラリに転送するステップとを有することを特徴とするトンネリング通信方法。
In a tunneling communication method for performing communication between a client and a data possession server through a network or / and an unauthorized device,
When receiving a communication start request input from the HTTP communication library on the client side or input via the unauthorized protection device, the server connects to the data possession server and creates association data with the data possession server. A server association data creation step to be saved;
Transmitting the server association data created in this step to the HTTP communication library and notifying that it is in a communicable state;
A server search step of receiving a plurality of HTTP requests including association data from the HTTP communication library, searching for the corresponding data holding server from the association data, and transferring the received data to the searched data holding server; When,
It is determined whether or not data has been received from the retrieved data possessing server. If the data has arrived from the data possessing server, the data is transferred to the HTTP communication library based on the first HTTP request. Steps to
And if the data has not arrived from the data possessing server, the process waits for the next HTTP request and immediately transfers the data to the HTTP communication library when the data arrives from the data possessing server. A tunneling communication method comprising:
クライアント側のHTTP通信ライブラリからネットワークまたは/及び前記不正防御機器を通じて所要の処理要求を受けた場合、データ所持用サーバと連携をとりながら当該処理要求に応じた処理を実行するコンピュータに、
前記クライアント側のHTTP通信ライブラリから通信開始要求を受けたとき、前記データ所持用サーバと接続するともに、当該データ所持用サーバとのサーバ関連付けデータを作成し保存するサーバ関連付けデータ作成機能と、この機能により作成されたサーバ関連付けデータを前記HTTP通信ライブラリに返送する通信可能情報返送機能と、前記HTTP通信ライブラリから関連付けデータを含んだ複数のHTTPリクエストを受信すると、当該関連付けデータから該当データ所持用サーバを検索し、この検索されたデータ所持用サーバに受信されたデータを転送するサーバ検索機能と、この機能により検索されたデータ所持用サーバからデータが届いているか否かを判断し、当該データ所持用サーバからデータが届いている場合には最初のHTTPリクエストに基づいて当該データを前記HTTP通信ライブラリに転送する存在データ転送機能と、前記判断によって前記データ所持用サーバからデータが届いていない場合、次のHTTPリクエストに対して待機状態とし、当該データ所持用サーバからデータが届いたときに直ちに前記HTTP通信ライブラリに転送する待機データ転送機能とを実現させるプログラム。
When a required processing request is received from the HTTP communication library on the client side through the network or / and the unauthorized protection device, a computer that executes a process corresponding to the processing request while cooperating with the data possession server includes:
A server association data creation function for connecting to the data possession server and creating and storing server association data with the data possession server when receiving a communication start request from the client-side HTTP communication library; And a function for returning communicable information returning the server association data created by the HTTP communication library to the HTTP communication library, and receiving a plurality of HTTP requests including the association data from the HTTP communication library, A server search function for searching and transferring the received data to the searched data possessing server, and determining whether data has been received from the data possessing server searched by this function, When data is received from the server An existing data transfer function of transferring the data to the HTTP communication library based on the first HTTP request; and if the data has not arrived from the data possessing server by the determination, the data is put into a standby state for the next HTTP request; A program for realizing a standby data transfer function of transferring data to the HTTP communication library immediately when data arrives from the data possession server.
JP2002315908A 2002-10-30 2002-10-30 Tunneling communication system, http tunneling server, http communication library, tunneling communication method, and program Pending JP2004151964A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002315908A JP2004151964A (en) 2002-10-30 2002-10-30 Tunneling communication system, http tunneling server, http communication library, tunneling communication method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002315908A JP2004151964A (en) 2002-10-30 2002-10-30 Tunneling communication system, http tunneling server, http communication library, tunneling communication method, and program

Publications (1)

Publication Number Publication Date
JP2004151964A true JP2004151964A (en) 2004-05-27

Family

ID=32459769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002315908A Pending JP2004151964A (en) 2002-10-30 2002-10-30 Tunneling communication system, http tunneling server, http communication library, tunneling communication method, and program

Country Status (1)

Country Link
JP (1) JP2004151964A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186126A (en) * 1999-12-24 2001-07-06 Nec Corp Communication method and communication system
JP2001318865A (en) * 2000-05-02 2001-11-16 Chori Joho System Co Ltd Web mail system and web server and web mail access method
JP2002073389A (en) * 2000-08-31 2002-03-12 Hitachi Software Eng Co Ltd Caching method of network-type database
JP2002190821A (en) * 2000-12-21 2002-07-05 Fujitsu Ltd Communication distribution control method and controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186126A (en) * 1999-12-24 2001-07-06 Nec Corp Communication method and communication system
JP2001318865A (en) * 2000-05-02 2001-11-16 Chori Joho System Co Ltd Web mail system and web server and web mail access method
JP2002073389A (en) * 2000-08-31 2002-03-12 Hitachi Software Eng Co Ltd Caching method of network-type database
JP2002190821A (en) * 2000-12-21 2002-07-05 Fujitsu Ltd Communication distribution control method and controller

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佐藤 豊: "多目的プロキシ・サーバDeleGateの機能詳細", インターフェース, vol. 第21巻 第9号, JPNX006034414, 1 September 1995 (1995-09-01), JP, pages 130 - 146, ISSN: 0000759883 *
結城 浩: "C&Perlで学ぶCGIレッスン第6回 クッキー対応掲示板", C MAGAZINE, vol. 第10巻 第10号, JPNX006034413, 25 September 1998 (1998-09-25), JP, pages 153 - 160, ISSN: 0000759882 *

Similar Documents

Publication Publication Date Title
US10356153B2 (en) Transferring session data between network applications accessible via different DNS domains
US20050038874A1 (en) System and method for downloading data using a proxy
JP4758362B2 (en) Relay device, program, and relay method
US20060173997A1 (en) Method and apparatus for remote management of a monitoring system over the internet
CN106656911B (en) A kind of portal authentication method, access device and management server
US20060031472A1 (en) Network data analysis and characterization model for implementation of secure enclaves within large corporate networks
JP2000508153A (en) General-purpose user authentication method for network computers
JP2011154622A (en) Access control system and access control method
WO2006073348A1 (en) Monitoring system and method for accessing a monitoring device of a monitoring system
JPWO2004112312A1 (en) User authentication system
JP3961112B2 (en) Packet communication control system and packet communication control device
JP2002189646A (en) Repeating installation
CN108737407A (en) A kind of method and device for kidnapping network flow
JP4356693B2 (en) Message delivery apparatus and method, system and program thereof
CN108156092A (en) message transmission control method and device
CN105959248B (en) The method and device of message access control
CN110943962B (en) Authentication method, network equipment, authentication server and forwarding equipment
JP2006277752A (en) Computer remote-managing method
EP1575236B1 (en) Connectivity confirmation method for network storage device and host computer
JP2003345709A (en) Cache device and network system using the same
JP2015011659A (en) Communication device, access control method, and program
JP2004151964A (en) Tunneling communication system, http tunneling server, http communication library, tunneling communication method, and program
CN105519069A (en) Data processing system, center apparatus and program
JP2005309974A (en) Network system, authentication method using network system, authentication program, and recording medium
JP2004163999A (en) Relay device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060801