(57)【要約】【課題】クライアント２０からサーバ３０への通信が連続もしくは同時に大量に発生する場合でも、クライアント２０とサーバ３０間の通信の遅延を少くする。【解決手段】クライアント（２１）とサーバ（３１）  の通信を中継する中継装置において、中継経路テーブル（１４２）を検索した結果とともに、中継を行う中継プログラム（Ａ１１）と中継経路テーブル（１４３）を検索した結果を記憶する中継サーバ情報部（Ａ１２）と通信データ記憶エリア（１１２）内で通信データが記憶されているメモリアドレスを記憶する通信データポインタ（Ａ１３）より構成された中継機能（Ａ１）と、中継機能（Ａ１）を記憶する中継機能エリア（１１４）を備えることを特徴とする中継装置。【選択図】    図１
2004193720.tif 000002
【特許請求の範囲】
【請求項１】
クライアント（２１）とサーバ（３１）が１個以上の中継サーバ（１）を介して通信を行う場合に、中継サーバ（１）が、前記クライアント（２１）や前記サーバ（３１）と通信を行う通信プログラム（１４１）と、データの中継を制御するデータ中継制御プログラム（１４２）と、前記サーバ（３１）への通信を中継する経路を記憶した中継経路テーブル（１４３）と、通信プログラム（１４１）とデータ中継制御プログラム（１４２）と中継経路テーブル（１４３）を記憶する外部記憶装置（１４）と、中継サーバ（１）全体を制御するＣＰＵ（１３）と、前記中継経路テーブル（１４３）を検索した結果を一時的に記憶する中継経路情報記憶エリア（１１１）と、中継するデータを一時的に記憶する通信データ記憶エリア（１１２）と、前記外部記憶装置（１４）に記憶されている通信プログラム（１４１）やデータ中継制御プログラム（１４２）をＣＰＵ（１３）が実行する時に利用するプログラムロードエリア（１１３）  と、中継経路情報記憶エリア（１１１）と通信データ記憶エリア（１１２）とプログラムロードエリア（１１３）を記憶するメモリ（１１）と、ネットワークとの入出力を行うインタフェースである通信Ｉ／Ｏ（１５）を備え、第１の中継サーバ（１＿１）が、直接通信できない前記サーバ（３１）との通信時に、前記中継経路テーブル（１４３）を検索して中継に利用する前記第２の中継サーバ（１＿２）を選択し、前記第２の中継サーバ（１＿２）を利用して前記クライアント（２１）と前記サーバ（３１）  の通信を中継する中継装置において、
前記中継経路テーブル（１４２）を検索した結果とともに、この結果を用いて通信の中継を行うプログラムを記憶し前記サーバ（３１）への通信の中継を専門に行えるように、中継を行う中継プログラム（Ａ１１）と前記中継経路テーブル（１４３）を検索した結果を記憶する中継サーバ情報部（Ａ１２）と前記通信データ記憶エリア（１１２）内で通信データが記憶されているメモリアドレスを記憶する通信データポインタ（Ａ１３）より構成された中継機能（Ａ１）と、
前記中継機能（Ａ１）を記憶する中継機能エリア（１１４）を備えることを特徴とする中継装置。
【請求項２】
前記中継機能エリア（１１４）に、複数の中継機能（Ａ１）を登録することを特徴とする請求項１記載の中継装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、Ｆｉｒｅｗａｌｌが介在するクライアントとサーバ間の通信での、中継装置に関するものである。
【０００２】
【従来の技術】
従来の中継システムにおいては、Ｆｉｒｅｗａｌｌ  が存在する環境でクライアントからサーバへ直接通信することができない場合に、クライアントとサーバの通信の中継を行って、クライアントがサーバと通信できるようにするために次のような中継装置であった。その中で特開平１０−１２６４４０では、中継装置が記載されている。以下、簡単に図面を用いて説明する。
図４において、２０はクライアントで、３０はサーバで、４ａと４ｂは中継サーバである。中継サーバ４ａ  および４ｂは同じ構成であり、両方に共通の説明をする場合は中継サーバ４と記述する。４３は中継サーバ（４）全体を制御するＣＰＵである。４４１はクライアント２０やサーバ３０や中継サーバ４と通信を行う通信プログラムで、４４２はデータの中継を制御するデータ中継制御プログラムで、４４３はサーバ３０への経路が登録されている中継経路テーブルで、４４は、通信プログラム４４１とデータ中継制御プログラム４４２と中継経路テーブル４４３を記憶する外部記憶装置である。
【０００３】
４１１は中継経路テーブル４４３を検索した結果を記憶する中継経路情報記憶エリアで、４１２  はデータ中継制御プログラムが中継するデータを記憶する通信データ記憶エリアで、４１３は外部記憶装置４４に記憶されている通信プログラム４４１とデータ中継制御プログラム４４２をＣＰＵ４３が実行するために利用するプログラムロードエリアで、４１は中継経路情報記憶エリア４１１と通信データ記憶エリア４１２とプログラムロードエリア４１３を記憶するメモリである。４５はネットワークとの入出力を行うインタフェースとなる通信Ｉ／Ｏである。以上の構成において、中継サーバ４ａの通信プログラム４４１は、通信先のサーバ３０  のアドレスをクライアント２０より受けた後、中継経路情報記憶エリア４１１に前記アドレスを保存する。その後、データ中継制御プログラム４４２は、中継経路テーブル４４３に登録されている経路を前記アドレスを用いて検索し、中継に必要な中継サーバ４ｂを選択する。その後、データ中継制御プログラム４４２は、クライアント２０から受けたデータを前記中継サーバ４ｂへ中継する。
上記のような中継装置において、中継サーバ４ａは、クライアント２０とサーバ３０間の通信に利用する中継サーバ４ｂを選択し、中継サーバ４ａが、中継サーバ４ｂと通信することによって、クライアント２０は中継サーバ４ａを利用してサーバとの通信ができる（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開平１０−１２６４４０号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の中継装置および方法においては、クライアント２０からサーバ３０への通信が連続もしくは同時に大量に発生する場合に、その通信毎に中継経路テーブルを参照する必要があり、この結果、中継サーバ４の負荷が増加して中継のための処理が遅くなることによって、クライアント２０とサーバ３０間の通信の遅延を引き起こし、通信を中継するというサービスにおけるＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：以下とＱｏＳ称す）が確保できなくなるという問題がある。本発明は上記問題点を解決するためになされたものであり、その目的とするところは、クライアント２０からサーバ３０への通信が連続もしくは同時に大量に発生する場合でも、クライアント２０とサーバ３０間の通信の遅延を少くした中継装置を提供することにある。
【０００６】
【課題を解決するための手段】
上記問題点を解決するため請求項１記載の発明は、クライアント（２１）とサーバ（３１）が１個以上の中継サーバ（１）を介して通信を行う場合に、中継サーバ（１）が、前記クライアント（２１）や前記サーバ（３１）と通信を行う通信プログラム（１４１）と、データの中継を制御するデータ中継制御プログラム（１４２）と、前記サーバ（３１）への通信を中継する経路を記憶した中継経路テーブル（１４３）と、通信プログラム（１４１）とデータ中継制御プログラム（１４２）と中継経路テーブル（１４３）を記憶する外部記憶装置（１４）と、中継サーバ（１）全体を制御するＣＰＵ（１３）と、前記中継経路テーブル（１４３）を検索した結果を一時的に記憶する中継経路情報記憶エリア（１１１）と、中継するデータを一時的に記憶する通信データ記憶エリア（１１２）と、前記外部記憶装置（１４）に記憶されている通信プログラム（１４１）やデータ中継制御プログラム（１４２）をＣＰＵ（１３）が実行する時に利用するプログラムロードエリア（１１３）  と、中継経路情報記憶エリア（１１１）と通信データ記憶エリア（１１２）とプログラムロードエリア（１１３）を記憶するメモリ（１１）と、ネットワークとの入出力を行うインタフェースである通信Ｉ／Ｏ（１５）を備え、第１の中継サーバ（１＿１）が、直接通信できない前記サーバ（３１）との通信時に、前記中継経路テーブル（１４３）を参照して中継に利用する前記第２の中継サーバ（１＿２）を選択し、前記第２の中継サーバ（１）を利用して前記クライアント（２１）と前記サーバ（３１）  の通信を中継する中継装置において、
前記中継経路テーブル（１４２）を検索した結果とともに、この結果を用いて通信の中継を行うプログラムを記憶し前記サーバ（３１）への通信の中継を専門に行えるように、中継を行う中継プログラム（Ａ１１）と前記中継経路テーブル（１４３）を検索した結果を記憶する中継サーバ情報部（Ａ１２）と前記通信データ記憶エリア（１１２）内で通信データが記憶されているメモリアドレスを記憶する通信データポインタ（Ａ１３）より構成された中継機能（Ａ１）と、前記中継機能（Ａ１）を記憶する中継機能エリア（１１４）を備えることを特徴とするものである。
【０００７】
従って、請求項１記載の中継装置によれば、中継サーバ（１）が、クライアント（２１）とサーバ（３１）間の通信を中継する場合に、中継経路テーブル（１４３）を１度だけ検索し、以降の中継においては、中継サーバ（１）が中継機能（Ａ１）を利用し、中継経路テーブル（１４３）を検索する処理が不要になることにより、また、中継サーバ（１）の負荷が中継経路テーブル（１４３）の検索が不要になった分だけ軽減することによって、クライアント（２１）とサーバ（３１）の通信の遅延を少なくでき、ＱｏＳを確保できる。
また、請求項２記載の発明は、前記中継機能エリア（１１４）に、複数の中継機能（Ａ１）を登録したことを特徴とするものである。
従って請求項２記載の中継装置によれば、中継サーバ（１）が、複数の組み合わせのクライアントとサーバ間の通信を中継する場合に、中継サーバ（１）が各組み合わせの通信の中継に対してそれぞれ１度だけ中継経路テーブル（１４３）を検索し、以降の中継においては、中継サーバ１が中継機能を利用し、中継経路テーブル（１４３）を検索する処理が不要になることにより、また、中継サーバ１の負荷が中継経路テーブル（１４３）の検索が不要になった分だけ軽減することによって、すべてのクライアントとサーバ間の通信の遅延を少なくでき、ＱｏＳを確保できる。
【０００８】
【発明の実施の形態】
この発明の第１の実施の形態の中継装置について図１および図２に基づいて説明する。すなわち、図１に示す２１はクライアントで、１＿ｎはｍ個ある中継サーバの第ｎの中継サーバで、３１はサーバである。ｍ個の中継サーバは同じ構成であり、以降ｍ個ある中継サーバの共通する部分を説明する場合は中継サーバ１と表記する。１４１はクライアント２１やサーバ３１や中継サーバ１と通信を行う通信プログラムで、１４２はデータの中継を制御するデータ中継制御プログラムで、１４３はサーバ３１への経路が登録されている中継経路テーブルで、１４は通信プログラム１４１とデータ中継制御プログラム１４２と中継経路テーブル１４３を記憶する外部記憶装置である。１３は中継サーバ１全体を制御するＣＰＵである。
【０００９】
１１１は中継経路テーブル１４３を検索した結果を記憶する中継経路情報記憶エリアで、１１２はデータ中継制御プログラムが中継するデータを記憶する通信データ記憶エリアで、１１３は外部記憶装置４４に記憶されている通信プログラム１４１とデータ中継制御プログラム１４２をＣＰＵ１３が実行するために利用するプログラムロードエリアで、１１は中継経路情報記憶エリア１１１と通信データ記憶エリア１１２とプログラムロードエリア１１３を記憶するメモリである。１１４は中継経路テーブル１４３を検索した結果とともに、この結果を用いて通信の中継を行うプログラムを記憶しサーバ３１への通信の中継に特化された中継機能Ａ１  を保存する中継機能エリア１１４である。Ａ１１は中継を行う中継プログラムで、Ａ１２は中継経路テーブル１４３を参照して選択した中継サーバ１の情報を記憶する中継サーバ情報部で、Ａ１３は通信データ記憶エリア１１２内で通信データが記憶されているメモリアドレスを記憶する通信データポインタである。前記中継機能Ａ１は、中継プログラムＡ１１と中継サーバ情報部Ａ１２と通信データポインタＡ１３より構成されている。中継プログラムＡ１１は、メモリアドレスのたとえば１０８００から保存されており、ＣＰＵ１３がメモリアドレス１０８００へ制御を移すと中継プログラムＡ１１が実行される。１５  はネットワークとの入出力を行うインタフェースとなる通信Ｉ／Ｏである。
【００１０】
図２はクライアント２１と、第ｎの中継サーバの通信プログラム１４１と、第ｎの中継サーバのデータ中継制御プログラム１４２と、第ｎの中継サーバの中継経路テーブル１４３と、第ｎの中継サーバの中継機能エリア１１４の動作の流れをあらわす。ステップＳ１０１で、クライアント２１が通信プログラム１４１に接続する。接続後、ステップＳ１０２で、クライアント２１は通信プログラム１４１に通信先である
サーバ３１のアドレスを送信する。ステップＳ１０３で、通信プログラム１４１は中継経路情報記憶エリア１１１に前記アドレスを保存する。ステップＳ１０４で、通信プログラム１４１からデータ中継制御プログラム１４２に制御が移り、データ中継制御プログラム１４２が実行を開始する。ステップＳ１０５で、データ中継制御プログラム１４２が中継経路情報記憶エリア１１１に保存されたアドレスを用いて中継経路テーブル１４３を参照する。ステップＳ１０６で、中継経路テーブル１４３より第ｎ＋１の中継サーバ１＿ｎ＋１が選択される。
【００１１】
ステップＳ１０７で、データ中継制御プログラム１４２が、選択された中継サーバ１の情報とともにサーバ３１への通信の中継に特化した中継機能Ａ１  を作成する。ステップＳ１０８で、前記中継機能Ａ１が、中継機能エリア１１４の、たとえばメモリアドレス１０８００から保存される。ステップＳ１０９で、中継機能Ａ１のメモリアドレス１０８００  がデータ中継制御プログラム１４２に返る。ステップＳ１１０で、データ中継制御プログラム１４２からクライアント２１に中継機能Ａ１のメモリアドレス１０８００が送信される。ステップＳ１１１で、クライアント２１が中継機能Ａ１のメモリアドレス１０８００を記憶する。ステップＳ１１２で、クライアント２１が通信プログラム１４１に中継機能Ａ１のメモリアドレス１０８００を送信する。ステップＳ１１３で、通信プログラム１４１に送信されたメモリアドレス１０８００から始まる中継機能Ａ１の中継プログラムＡ１１が実行される。ステップＳ１１４で、実行された中継プログラムＡ１１がクライアント２１と通信をしサーバ３１との通信を中継する。通信が終了したら、ステップＳ１１５で、通信を切断する。
【００１２】
以上のようにして１回目の通信の中継が行われる。続いて２回目の通信の中継の処理の流れを説明する。ステップＳ２０１で、クライアント２１が通信プログラム１４１に接続する。接続後、ステップＳ２０２で、クライアント２１が通信プログラム１４１に中継機能Ａ１のメモリアドレス１０８００を送信する。ステップＳ１１３で、通信プログラム１４１に送信されたメモリアドレス１０８００から始まる中継機能Ａ１の中継プログラムＡ１１が実行される。ステップＳ２０４で、実行された中継プログラムＡ１２がクライアント２１と通信をしサーバ３１との通信を中継する。通信が終了したら、ステップＳ２０５は、通信を切断する。以上のように２回目の通信の中継は１回目のように中継経路テーブルを参照する必要がない。３回目以降の通信も同様である。
【００１３】
この実施の形態の中継装置は、中継経路テーブル１４３を参照した結果と中継を行う中継プログラムＡ１１より構成されサーバ３１との通信の中継に特化された中継機能を中継機能エリア１１４に記憶し、記憶しているメモリ上のメモリアドレスをクライアント２１が記憶し、サーバ３１との通信をするときにメモリアドレスを用いて、中継経路テーブル１４３を参照することなく、中継機能を用いてクライアント２１とサーバ３１の通信を中継するものである。
この実施の形態によれば、中継サーバ１が、クライアント２１とサーバ３１間の通信を中継する場合に、中継経路テーブル１４３を１度だけ検索し、以降の中継においては、中継サーバ１が中継機能Ａ１を利用し、中継経路テーブル１４３を検索する処理が不要になることにより、また、中継サーバ１の負荷が中継経路テーブル１４３の検索が不要になった分だけ軽減することによって、クライアント２１とサーバ３１の通信の遅延を少なくでき、ＱｏＳを確保できる。
【００１４】
なお、メモリアドレスについては、中継機能を呼び出すことができるものであればなんでもよく、例えば、ＣＰＵへの割り込み番号などが考えられる。また、前記中継機能エリア１１４は、メモリ１１や外部記憶装置１４内にあってもよい。
この発明の第２の実施の形態の中継装置および方法について図３に基づいて説明する。図３は前記中継機能エリア１１４の構造を示す図である。
【００１５】
Ａ１１は中継を行う中継プログラムで、Ａ１２は中継経路テーブル１４３を参照して選択した中継サーバ１の情報を記憶する中継サーバ情報部で、Ａ１３は通信データ記憶エリア１１２内で通信データが記憶されているメモリアドレスを記憶する通信データポインタである。前記中継機能Ａ１は、中継プログラムＡ１１と中継サーバ情報部Ａ１２と通信データポインタＡ１３より構成されている。中継プログラムＡ１１は、メモリアドレスのたとえば１０８００から保存されており、ＣＰＵ１３がメモリアドレス１０８００へ制御を移すと中継プログラムＡ１１が実行される。Ｂ１１は中継を行う中継プログラムで、Ｂ１２は中継経路テーブル１４３を参照して選択した図示しない中継サーバの情報を記憶する中継サーバ情報部で、Ｂ１３は通信データ記憶エリア１１２内で通信データが記憶されているメモリアドレスを記憶する通信データポインタである。前記中継機能Ｂ１は、中継プログラムＢ１１と中継サーバ情報部Ｂ１２  と通信データポインタＢ１３より構成されている。中継プログラムＢ１１は、メモリアドレスのたとえば１０９００から保存されており、ＣＰＵ１３がメモリアドレス１０９００へ制御を移すと中継プログラムＢ１１が実行される。クライアント２１とサーバ３１間の通信の中継をする場合には、中継サーバ１は実施例１  に示したように中継機能Ａ１を作成し、中継機能Ａ１は中継機能エリア１１４のたとえばメモリアドレス１０８００より保存される。
【００１６】
さらに、図示しない別のクライアントと別のサーバ間の通信の中継をする場合には、中継サーバ１は中継機能Ａ１と同様に中継機能Ｂ１を作成し、中継機能Ｂ１は中継機能エリア１１４のたとえばメモリアドレス１０９００より保存される。
以下同様にして、さらに図示しない別のクライアントと別のサーバ間の通信の中継をする場合にも、同様に図示しない別の中継機能を作成し、中継機能エリア１１４に保存することができる。また、中継サーバ１のクライアント２１、通信プログラム１４１、データ中継制御プログラム１４２、中継経路テーブル１４３、中継機能エリア１１４の動作の流れは、この発明の第１  の実施の形態と同様である。
【００１７】
この実施の形態の中継装置は、クライアント２１とサーバ３１間の通信の中継をする場合は、中継サーバ１は実施例１  に示すように中継機能Ａ１を作成し、中継機能Ａ１を中継機能エリア１１４のたとえばメモリアドレス１０８００より保存し、図示しない別のクライアントと別のサーバ間の通信を中継する場合は、中継サーバ１は中継機能Ａ１と同様にして中継機能Ｂ１を作成し、中継機能Ｂ１を中継機能エリア１１４のたとえばメモリアドレス１０９００より保存し、以下同様にして、さらに図示しない別のクライアントと別のサーバ間の通信の中継をする場合にも、同様に図示しない別の中継機能を作成し、中継機能エリア１１４に保存するものである。
【００１８】
この実施の形態によれば、中継サーバ１が、複数の組み合わせのクライアントとサーバ間の通信を中継する場合に、中継サーバ１が各組み合わせの通信の中継に対してそれぞれ１度だけ中継経路テーブル１４３を検索し、以降の中継においては、中継サーバ１が中継機能を利用し、中継経路テーブル１４３を検索する処理が不要になることにより、また、中継サーバ１の負荷が中継経路テーブル１４３の検索が不要になった分だけ軽減することによって、すべてのクライアントとサーバ間の通信の遅延を少なくでき、ＱｏＳを確保できる。
【００１９】
【発明の効果】
請求項１記載の発明によれば、中継サーバ１が、クライアント２１とサーバ３１間の通信を中継する場合に、中継経路テーブル１４３を１度だけ検索し、以降の中継においては、中継サーバ１が中継機能Ａ１を利用し、中継経路テーブル１４３を検索する処理が不要になることにより、また、中継サーバ１の負荷が中継経路テーブル１４３の検索が不要になった分だけ軽減することによって、クライアント２１とサーバ３１の通信の遅延を少なくできる。これによりＱｏＳを確保できる。
また請求項２記載の発明によれば、中継サーバ１が、複数の組み合わせのクライアントとサーバ間の通信を中継する場合に、中継サーバ１が各組み合わせの通信の中継に対してそれぞれ１度だけ中継経路テーブル１４３を検索し、以降の中継においては、中継サーバ１が中継機能を利用し、中継経路テーブル１４３を検索する処理が不要になることにより、また、中継サーバ１の負荷が中継経路テーブル１４３の検索が不要になった分だけ軽減することによって、すべてのクライアントとサーバ間の通信の遅延を少なくできる。これによりＱｏＳを確保できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の中継装置の構成を示す図である。
【図２】本発明の第１の実施の形態の中継装置の動作の流れを示す図である。
【図３】本発明の第２の実施の形態の中継装置の中継機能エリアに記憶されている中継機能の構造を示す図である。
【図４】従来の中継装置の構成を示す図である。
【符号の説明】
１    中継サーバ
１＿１    第１の中継サーバ
１＿ｎ    第ｎの中継サーバ
１＿ｎ＋１    第ｎ＋１の中継サーバ
１＿ｍ    第ｍの中継サーバ
１１  メモリ
１１１    中継経路情報記憶エリア
１１２    通信データ記憶エリア
１１３    プログラムロードエリア
１１４    中継機能エリア
１３  ＣＰＵ
１４  外部記憶装置
１４１    通信プログラム
１４２    データ中継制御プログラム
１４３    中継経路テーブル
１５  通信Ｉ／Ｏ
２０  クライアント
２１  クライアント
３０  サーバ
３１  サーバ
４、４ａ、４ｂ  中継サーバ
Ａ１、Ｂ１  中継機能
Ａ１１、Ｂ１１    中継プログラム
Ａ１２、Ｂ１２    中継サーバ情報部
Ａ１３、Ｂ１３    通信データポインタ
４１  メモリ
４１１    中継経路情報記憶エリア
４１２    通信データ記憶エリア
４１３    プログラムロードエリア
４１４    中継機能エリア
４３  ＣＰＵ
４４  外部記憶装置
４４１    通信プログラム
４４２    データ中継制御プログラム
４４３    中継経路テーブル
４５  通信Ｉ／Ｏ
【図１】
2004193720.tif 000003
【図２】
2004193720.tif 000004
【図３】
2004193720.tif 000005
【図４】
2004193720.tif 000006