(57)【特許請求の範囲】
【請求項１】
クライアントからの一連の通信の中の１つの通信の接続要求に対応して、該１つの通信を中継可能な複数の中継装置のいずれかに振り分ける通信振り分け制御装置において、
クライアントからの通信接続要求を受け取る接続要求受け取り手段と、
該通信接続要求内に識別子が記述されているか否かによって、前記一連の通信に対応する通信コネクションが設定されているか否かを判定するコネクション判定手段と、
該コネクション判定手段により通信コネクションが設定されていないと判定された時、前記接続要求された通信に対応する通信コネクションを確立するコネクション確立手段と、
前記コネクション判定手段により通信コネクションが設定されていると判定された時、該設定されている通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続し、一方、前記コネクション判定手段により通信コネクションが設定されていないと判定された時、前記コネクション確立手段で確立された通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続する通信接続手段と、
前記コネクション確立手段で確立された通信コネクションに対応する識別子を、次回以降の通信の接続要求内に記述すべき識別子としてクライアント側に通知する通知手段と、
前記クライアントからの一連の通信の中の最初の通信が切断されてからの経過時間を監視する監視手段と、
該経過時間があらかじめ定められた値を超えた時、該一連の通信に対応する通信コネクションと該通信コネクションに対応する識別子とを無効にする無効手段とを備えることを特徴とする通信振り分け制御装置。
【請求項２】
クライアントからの一連の通信の中の１つの通信の接続要求に対応して、該１つの通信を中継可能な複数の中継装置のいずれかに振り分ける通信振り分け制御装置として機能させるプログラムを記憶した記憶媒体において、コンピュータに、
クライアントからの通信接続要求を受け取る接続要求受け取り手段、
該通信接続要求内に識別子が記述されているか否かによって、前記一連の通信に対応する通信コネクションが設定されているか否かを判定するコネクション判定手段、
該コネクション判定手段により通信コネクションが設定されていないと判定された時、前記接続要求された通信に対応する通信コネクションを確立するコネクション確立手段、
前記コネクション判定手段により通信コネクションが設定されていると判定された時、該設定されている通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続し、一方、前記コネクション判定手段により通信コネクションが設定されていないと判定された時、前記コネクション確立手段で確立された通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続する通信接続手段、
前記コネクション確立手段で確立された通信コネクションに対応する識別子を、次回以降の通信の接続要求内に記述すべき識別子としてクライアント側に通知する通知手段、
前記クライアントからの一連の通信の中の最初の通信が切断されてからの経過時間を監視する監視手段、
該経過時間があらかじめ定められた値を超えた時、該一連の通信に対応する通信コネクションと該通信コネクションに対応する識別子とを無効にする無効手段、
として機能させる通信振り分けプログラムを記憶したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信振り分け制御方式に係り、更に詳しくはクライアント側からの通信接続要求を受け取るサーバが、例えばインターネットにおいてその通信を他の複数のサーバのいずれかに振り分ける通信振り分け制御方法、および制御装置に関する。
【０００２】
【従来の技術と発明が解決しようとする課題】
本発明は、例えばオブジェクト・リクエスト・ブローカ（ＯＲＢ）機構を有する通信システムを対象とするものである。ＯＲＢは、分散コンピューティング環境において計算機、すなわちノードの間にまたがってメソッドの呼び出しや、関数の呼び出しを行うための機構であり、たとえばコルバ（ＣＯＲＢＡ、コモン・オブジェクト・リクエスト・ブローカ・アーキテクチャ）と呼ばれる分散オブジェクト間通信路の規格の１つにおいて用いられる。この規格はオブジェクト・マネージメント・グループ（ＯＭＧ）によって制定された業界標準であり、様々なベンダによって広く採用されている。
【０００３】
ＯＲＢは、クライアントとオブジェクトの間においてクライアントのリクエストをオブジェクトに伝えてオペレーションを行わせ、オブジェクトが結果を返す場合には、その結果をクライアントに返却する方式である。
【０００４】
図１３は、このようにクライアントがオブジェクトの処理を行うＣＯＲＢＡアプリケーション（ＡＰ）サーバに対して処理を依頼し、その結果を受け取るＨＴＴＰトンネリングによるＣＯＲＢＡ通信方式の従来例の説明図である。
【０００５】
図１３では、処理を依頼するパソコン（ＰＣ）１０１と、依頼される処理を実行するＣＯＲＢＡ  ＡＰサーバ１０４ａとは、インターネットを介して接続されるものとする。
【０００６】
一般に、クライアント側のＰＣとＣＯＲＢＡアプリケーションサーバの間では、ＯＭＧによって定められたＴＣＰ／ＩＰ上でのオブジェクト間通信プロトコルであるＩＩＯＰ（インターネット  インター  ＯＲＢ  プロトコル）を用いる通信が最も効率的であり、クライアントはプログラムが異なる言語で作成されている場合でも、リモートサーバと通信することができる。
【０００７】
しかしながら、クライアントとＣＯＲＢＡ  ＡＰサーバとの間でインターネットを介して通信を行う場合には、一般にＩＩＯＰプロトコルに変換して通信を行うＨＴＴＰトンネリング方式を使用する必要がある。そこで一般的にはＰＣ１０１においてＩＩＯＰからＨＴＴＰへのプロトコル変換を行い、ＣＯＲＢＡ  ＡＰサーバ１０４ａの前段の中継サーバにおいて、ＨＴＴＰからＩＩＯＰへのプロトコル変換を行う必要がある。
【０００８】
図１３において、クライアント側のＰＣ１０１は１つのセション、すなわち業務に対応する処理をＣＯＲＢＡ  ＡＰサーバ１０４ａに依頼するものとする。このセションの業務は、例えば４つの段階からなり、その各段階に対応してＣＯＲＢＡ  ＡＰサーバ１０４ａへの処理要求と、それに対する応答を受け取るための通信が必要となり、この通信が各段階に対応してＰＣ１０１とＣＯＲＢＡ  ＡＰサーバ１０４ａとの間で断続的に行われるものとする。
【０００９】
クライアント側のＰＣ１０１は、セションの開始と共に、ＣＯＲＢＡ  ＡＰサーバ１０４ａに対する通信接続と処理の要求▲１▼を、コネクション１０５ａを介してクライアント側の中継Ｗｅｂサーバ１０２に与える。中継Ｗｅｂサーバ１０２は、ＣＯＲＢＡ  ＡＰサーバ１０４ａに対する通信を中継することができるＣＯＲＢＡ  ＡＰサーバ側の複数の他Ｗｅｂサーバのいずれかを選択し、その他Ｗｅｂサーバ、ここでは１０３ａに対してコネクション１０６ａを介してその要求▲１▼を送り、その要求は他Ｗｅｂサーバ１０３ａからＣＯＲＢＡ  ＡＰサーバ１０４ａに与えられる。
【００１０】
ＣＯＲＢＡ  ＡＰサーバ１０４ａ側での処理が終了すると、その結果は応答▲１▼として他Ｗｅｂサーバ１０３ａ、コネクション１０６ａ、中継Ｗｅｂサーバ１０２、およびコネクション１０５ａを介してＰＣ１０１に与えられ、その応答完了後にサーバ間のコネクションが切断される。
【００１１】
その後、クライアント側でのセションにおいて第２段階の通信接続と処理の要求▲２▼が、ＰＣ１０１からコネクション１０５ｂを介して中継Ｗｅｂサーバ１０２に与えられると、再び中継Ｗｅｂサーバ１０２はＣＯＲＢＡ  ＡＰサーバ１０４ａに対してその通信を中継できる複数の他Ｗｅｂサーバ、すなわち１０３ａ〜１０３ｎのいずれか１つを選び、ここでは他Ｗｅｂサーバ１０３ｎを選択して、コネクション１０６ｂを介してその要求▲２▼を与え、要求▲２▼は他Ｗｅｂサーバ１０３ｎからＣＯＲＢＡ  ＡＰサーバ１０４ａに与えられる。
【００１２】
このように中継Ｗｅｂサーバ１０２とＣＯＲＢＡ  ＡＰサーバ１０４ａとの間の１つのセション内の通信においては、その時々のネットワークの状態すなわち確立されているコネクションの数などに応じて、コネクションと中継する他Ｗｅｂサーバが選択され、通信の振り分けが行われる。要求▲２▼に対するＣＯＲＢＡ  ＡＰサーバ１０４ａの処理結果としての応答▲２▼は、他Ｗｅｂサーバ１０３ｎ、コネクション１０６ｂ、中継Ｗｅｂサーバ１０２、コネクション１０５ｂを介してＰＣ１０１に与えられることになり、ＣＯＲＢＡ  ＡＰサーバ１０４ａ側でも、応答を返すにあたってその通信を複数の他Ｗｅｂサーバのいずれかにそのつど振り分ける必要がある。
【００１３】
このように従来のＨＴＴＰトンネリングによるＣＯＲＢＡ通信方式においては、クライアントからの要求に対する応答の完了後に中継ＷｅｂサーバとＣＯＲＢＡ  ＡＰサーバの前段の他Ｗｅｂサーバとの間のコネクションが切断されるために、同一のクライアントからの同一セション内の通信であっても、同一の他Ｗｅｂサーバを中継して通信を行うことができず、コネクションをそのたびに確立するための時間がかかり、またＣＯＲＢＡ  ＡＰサーバ側でも応答を返すための通信の振り分けを行う必要があり、レスポンス性能が低下するという問題点があった。
【００１４】
本発明の課題は、上述の問題点に鑑み、１つのセション内のクライアントからの通信接続要求に対応する通信を同一の他Ｗｅｂサーバを介して実行することによって、ＨＴＴＰトンネリングによるＣＯＲＢＡ通信のレスポンス性能を向上させることである。
【００１５】
【課題を解決するための手段】
本発明の通信振り分け制御装置は、クライアントからの一連の通信の中の１つの通信の接続要求に対応して、該１つの通信を中継可能な複数の中継装置のいずれかに振り分ける通信振り分け制御装置において、クライアントからの通信接続要求を受け取る接続要求受け取り手段と、該通信接続要求内に識別子が記述されているか否かによって、前記一連の通信に対応する通信コネクションが設定されているか否かを判定するコネクション判定手段と、該コネクション判定手段により通信コネクションが設定されていないと判定された時、前記接続要求された通信に対応する通信コネクションを確立するコネクション確立手段と、前記コネクション判定手段により通信コネクションが設定されていると判定された時、該設定されている通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続し、一方、前記コネクション判定手段により通信コネクションが設定されていないと判定された時、前記コネクション確立手段で確立された通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続する通信接続手段と、前記コネクション確立手段で確立された通信コネクションに対応する識別子を、次回以降の通信の接続要求内に記述すべき識別子としてクライアント側に通知する通知手段と、前記クライアントからの一連の通信の中の最初の通信が切断されてからの経過時間を監視する監視手段と、該経過時間があらかじめ定められた値を超えた時、該一連の通信に対応する通信コネクションと該通信コネクションに対応する識別子とを無効にする無効手段とを備えることを特徴とするものである。
また、本発明のコンピュータ読取可能な記憶媒体は、クライアントからの一連の通信の中の１つの通信の接続要求に対応して、該１つの通信を中継可能な複数の中継装置のいずれかに振り分ける通信振り分け制御装置として機能させるプログラムを記憶した記憶媒体において、コンピュータに、クライアントからの通信接続要求を受け取る接続要求受け取り手段、該通信接続要求内に識別子が記述されているか否かによって、前記一連の通信に対応する通信コネクションが設定されているか否かを判定するコネクション判定手段、  該コネクション判定手段により通信コネクションが設定されていないと判定された時、前記接続要求された通信に対応する通信コネクションを確立するコネクション確立手段、  前記コネクション判定手段により通信コネクションが設定されていると判定された時、該設定されている通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続し、一方、前記コネクション判定手段により通信コネクションが設定されていないと判定された時、前記コネクション確立手段で確立された通信コネクションの中継先としての特定の中継装置に前記要求された通信を接続する通信接続手段、前記コネクション確立手段で確立された通信コネクションに対応する識別子を、次回以降の通信の接続要求内に記述すべき識別子としてクライアント側に通知する通知手段、前記クライアントからの一連の通信の中の最初の通信が切断されてからの経過時間を監視する監視手段、該経過時間があらかじめ定められた値を超えた時、該一連の通信に対応する通信コネクションと該通信コネクションに対応する識別子とを無効にする無効手段、として機能させる通信振り分けプログラムを記憶したものである。
以下、図を用いて、本発明を更に説明する。
図１は本発明の通信振り分け制御方法の基本的な機能ブロック図である。同図はクライアントからの一連の通信、例えば１つのセション内で必要とされる一連の通信の中の１つの通信の接続要求に対応して、その１つの通信を中継可能な複数の中継装置のいずれかに振り分ける通信振り分け制御方法の機能ブロック図である。
【００１６】
本発明の通信振り分け制御方法では、１でクライアントからの通信接続要求を受け取り、２でその通信接続要求内に記述されている識別子、例えばセション識別子によって、前述の一連の通信に対応する通信コネクションが設定されているか否かを判定し、通信コネクションが設定されている時、３でその設定されている通信コネクションの中継先としての特定の中継装置に要求された通信を接続する方法が用いられる。
【００１７】
また本発明の通信振り分け制御方法として、クライアントからの前述の一連の通信内での最初の通信の接続要求を受け取り、その接続が要求された通信に対する通信コネクションを確立し、確立されたコネクションの中継先としての特定の中継装置に要求された通信を接続する方法も用いられる。
【００１８】
この時、発明の実施の形態においては、確立されたコネクションに対応する識別子を、最初の通信の次以降の通信の接続要求内に記述すべき識別子として、クライアント側に通知することもでき、またクライアントからの一連の通信の中の最初の通信が切断されてからの経過時間を監視し、その経過時間があらかじめ定められた値を超えた時、一連の通信に対応する通信コネクションとその通信コネクションに対応する識別子を無効とすることもできる。
【００１９】
本発明の通信振り分け制御装置は、クライアントからの通信接続要求を受け取る接続要求受け取り手段と、通信接続要求内に記述されている識別子によって、一連の通信に対応する通信コネクションが設定されているか否かを判定するコネクション判定手段と、通信コネクションが設定されている時、設定されている通信コネクションの中継先としての特定の中継装置に要求された通信を接続する通信接続手段とを備える。
【００２０】
また本発明の通信振り分け制御装置は、クライアントからの一連の通信内での最初の通信の接続要求を受け取る接続要求受け取り手段と、接続が要求された通信に対応する通信コネクションを確立するコネクション確立手段と、確立されたコネクションの中継先としての特定の中継装置に要求された通信を接続する通信接続手段とを備える。
【００２１】
次に本発明において通信振り分けを行うための計算機によって使用される記憶媒体として、クライアントからの接続要求を受け取るステップと、通信接続要求内に記述されている識別子によって、一連の通信に対応する通信コネクションが設定されているか否かを判定するステップと、その通信コネクションが設定されている時、設定されている通信コネクションの中継先としての特定の中継装置に要求された通信を接続するステップとを計算機に実行させるプログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【００２２】
また通信振り分けを行うための計算機によって使用される記憶媒体として、クライアント側の一連の通信内での最初の通信の接続要求を受け取るステップと、接続が要求された通信に対する通信コネクションを確立するステップと、確立された通信コネクションの中継先としての特定の中継装置に要求された通信を接続するステップとを計算機に実行させるプログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【００２３】
発明の実施の形態においては、このプログラムは確立された通信コネクションに対応する識別子を、最初の通信の次以降の通信の接続要求内に記述すべき識別子としてクライアントに通知するステップを更に備えることもでき、またクライアントからの一連の通信の中の最初の通信が切断されてからの経過時間を監視するステップと、その経過時間があらかじめ定められた値を超えた時、その一連の通信に対応する通信コネクションとそのコネクションに対応する識別子とを無効にするステップとを更に備えることもできる。
【００２４】
以上のように本発明によれば、１つのセション内で行われる一連の通信の中の最初の通信において通信コネクションが確立され、その通信コネクションが基本的にはそのセションの一連の通信が完了されるまでは維持されることになる。
【００２５】
【発明の実施の形態】
図２は本発明の通信振り分け制御方式が用いられる通信システムの基本構成ブロック図である。同図においてクライアント側のパソコン（ＰＣ）１１は、クライアント側の中継Ｗｅｂサーバ１２を介して、それぞれ特有の処理を実行する複数のＣＯＲＢＡアプリケーション（ＡＰ）サーバのうちで、クライアント側のセションの実行に必要な処理を、１つのＣＯＲＢＡ  ＡＰサーバ、例えば１４ａに依頼するものとする。
【００２６】
但し、クライアント側のＰＣ１１にとっては、依頼した処理が複数のＣＯＲＢＡ  ＡＰサーバのうちどのサーバによって実行されるかはどうでもよいことであり、クライアント側はその処理がＣＯＲＢＡ  ＡＰサーバ１４ａによって実行されることは、知らないものとする。
【００２７】
前述のように、クライアント側のＰＣ１１によって実行されるセションのための処理は、ＰＣ１１とＣＯＲＢＡ  ＡＰサーバ１４ａとをＩＩＯＰプロトコルを用いた伝送路によって直接に接続することにより効果的に実行可能であるが、例えばインターネットを用いる場合には、ＰＣ１１とＣＯＲＢＡ  ＡＰサーバ１４ａの間に一般に複数の中継サーバ、例えばプロキシサーバやゲートウェイなどが存在し、またファイアウォールも存在するため、ＩＩＯＰプロトコルを用いる通信はインターネット内では一般に不可能であり、インターネット内ではプロトコルをＨＴＴＰプロトコルに変換して通信を行う必要がある。
【００２８】
このため、クライアント側のＰＣ１１からの一連の通信としてのセション内の１つの通信に相当する要求▲１▼は、コネクション１５ａを介してクライアント側の中継Ｗｅｂサーバ１２に与えられ、コネクション１６を介して、ＣＯＲＢＡ  ＡＰサーバ側の１つの他Ｗｅｂサーバ１３ａによって、ＣＯＲＢＡ  ＡＰサーバ１４ａに与えられる。
【００２９】
この要求▲１▼に対する処理の実行結果は、ＣＯＲＢＡ  ＡＰサーバ１４ａから他Ｗｅｂサーバ１３ａ、コネクション１６、中継Ｗｅｂサーバ１２、コネクション１５ａを介して、応答▲１▼としてＰＣ１１に与えられる。
【００３０】
１つのセション内での次の通信としての要求▲２▼が、ＰＣ１１からコネクション１５ｂを介して中継Ｗｅｂサーバ１２に与えられると、その要求はコネクション１６、他Ｗｅｂサーバ１３ａを介して、ＣＯＲＢＡ  ＡＰサーバ１４ａに与えられ、その処理結果は逆の経路でＰＣ１１に与えられる。
【００３１】
前述のように、クライアント側のＰＣ１１と中継Ｗｅｂサーバ１２との間の通信コネクションは、セション内で１つの要求に対応する応答が得られた時点で切断され、要求▲１▼と応答▲１▼に対してはコネクション１５ａが用いられるのに対して、要求▲２▼と応答▲２▼とに対してはコネクション１５ｂが用いられる。
【００３２】
これに対して本発明では、中継Ｗｅｂサーバ１２と他Ｗｅｂサーバ１３ａとの間のコネクション１６は、応答▲１▼が終了しても、例えばある一定時間だけ切断されることなく維持され、次の要求▲２▼がその時間内に行われれば、要求▲２▼と応答▲２▼に対する通信も同じコネクション１６を介して実行されることになり、中継Ｗｅｂサーバ１２とＣＯＲＢＡ  ＡＰサーバ１４ａとの間の通信も、常に他Ｗｅｂサーバ１３ａを介して実行される。
【００３３】
以下同様にして要求▲３▼と応答▲３▼、および要求▲４▼と応答▲４▼に対応する通信は、中継Ｗｅｂサーバ１２とＣＯＲＢＡ  ＡＰサーバ１４ａとの間で、コネクション１６、他Ｗｅｂサーバ１３ａを介して実行される。
【００３４】
図３は、本実施形態におけるクライアント側とＣＯＲＢＡ  ＡＰサーバの間のトンネリングを用いた通信方式の説明図である。トンネリングは、インターネットを利用して、あるネットワークのデータを別のネットワークを経由して転送するものであり、発信元ノードで生成されたフレームを追加ヘッダを用いてカプセル化し、追加ヘッダの内容はルーティング情報として用いられ、カプセル化された転送データは中間ネットワークを経由して転送される。
【００３５】
図３において、クライアント側のＰＣ２１からの処理要求Ａは、トンネルサーバ２２を介してＡＰサーバ２３側に転送される。クライアント側のＰＣ２１は、クライアントアプリケーション（ＡＰ）２４、およびクライアント側で処理要求のプロトコルをＩＩＯＰからＨＴＴＰに変換するクライアントオブジェクトディレクタ（ＯＤ）２５とから構成され、クライアント側からの要求ＡはＨＴＴＰプロトコルに変換されて、トンネルサーバ２２に与えられる。
【００３６】
トンネルサーバ２２は、一般に複数のプロキシ（サーバ）２６と、複数のゲートウェイ２７から構成されており、クライアント側からの要求Ａは１つのプロキシ２６から１つのゲートウェイ２７に与えられ、そのゲートウェイ２７によってＨＴＴＰからＩＩＯＰへのプロトコル変換が行われ、要求Ａに対応する処理を実行する１つのＣＯＲＢＡ  ＡＰサーバ２８に与えられる。
【００３７】
図４は本実施形態における複数のクライアントに対応する通信システムの構成例のブロック図である。同図において、２つのクライアントにそれぞれ対応するパソコンＰＣ−Ａ３１ａ、およびＰＣ−Ｂ３１ｂによって、それぞれ１つのセションが実行されるものとする。
【００３８】
図４において、ＰＣ−Ａ３１ａと図示しないＣＯＲＢＡ  ＡＰサーバ、すなわちＰＣ−Ａ３１ａによって実行されるセションに対応する処理を実行するＣＯＲＢＡ  ＡＰサーバとの間の通信は、図２の中継Ｗｅｂサーバ１２に相当するプロキシ３２ａ、他Ｗｅｂサーバ１３ａに相当するゲートウェイ３３ａを介して実行される。
【００３９】
ＰＣ−Ａ３１ａとプロキシ３２ａとの間の通信コネクションは１つの要求に対応する応答が終了するたびに切断されるが、プロキシ３２ａとゲートウェイ３３ａとの間の通信コネクションは基本的に１つのセションの間では切断されることなく、コネクション３４ａが常に使用される。
【００４０】
同様にＰＣ−Ｂ３１ｂと、それによって実行されるセションに対応する処理を行うＣＯＲＢＡ  ＡＰサーバとの間の通信は、プロキシ３２ｂとゲートウェイ３３ｎとを介して実行される。プロキシ３２ｂとゲートウェイ３３ｎとの間の通信は、１つのセションの間基本的に維持され、１つのコネクション３４ｂを通じて実行される。
【００４１】
図５は本実施形態における通信管理方式の処理フローチャートである。同図は、例えば図４のプロキシ３２ａによって実行される処理のフローチャートであり、クライアント側のセションからの要求、すなわち通信接続（および処理）要求に対応して行われる処理のフローチャートである。
【００４２】
図５において処理が開始されると、まずステップＳ１でクライアント側からの要求の中にセションの識別子としてのセションＩＤ（識別子）が記述されているか否かが判定される。このセションＩＤは、クライアント側からの一連の通信に対応する１つのセションを識別するためのものであり、その値としては後述するように、例えばクライアントのＩＰアドレスが利用されるか、通信接続要求の中のＵＲＬ情報の内部、またはヘッダ情報の内部にその値が記述される。  ステップＳ１でクライアント側からの要求の中にセションＩＤが記述されていないと判定されると、ステップＳ２でその通信接続要求によって１つのセションに対応する一連の通信が開始されることになり、ステップＳ２でそのセションに対応して新たなセションＩＤが設定され、ステップＳ３でプロキシ３２ａと、例えばゲートウェイ３３ａとの間に新たなコネクション３４ａが確立され、ステップＳ４でゲートウェイとの間で通信が行われ、ステップＳ５でＣＯＲＢＡ  ＡＰサーバからの処理結果をクライアント側に返す応答の中で、ステップＳ２で新たに設定されたセションＩＤが通知されて、処理を終了する。
【００４３】
ステップＳ１でクライアント側からの要求の中にすでにセションＩＤが記述されている場合には、ステップＳ６ですでに設定され、例えばプロキシ３２ａ内のメモリ（テーブル）に格納されているセションＩＤに対応するゲートウェイのコネクションが検索され、ステップＳ４でゲートウェイ通信が行われた後に、ここでは新たなセションＩＤが設定されたわけではないため、ステップＳ５では応答を返すのみで処理を終了する。
【００４４】
すなわち図５において、通信接続要求が最初の要求、例えば図４においてＰＣ−Ａ３１ａからの要求▲１▼である場合には、ステップＳ２、Ｓ３の処理が実行され、ステップＳ5 で応答▲１▼の中でセションＩＤがＰＣ−Ａ３１ａに通知されるが、次の通信接続要求、すなわち要求▲２▼に対してはステップＳ６の処理が実行され、ステップＳ５内でのセションＩＤ通知の処理は実行されない。
【００４５】
但しセションＩＤとしてクライアントのＩＰアドレスを利用する場合には、通信接続要求の中に当然常にＩＰアドレスが存在するため、最初の通信接続要求に対してもステップＳ１でセションＩＤが記述されていると判定され、ステップＳ６ではすでに設定されているコネクションを検索する代わりに、新たなコネクションが確立されて、ステップＳ４でゲートウェイとの間で通信が行われ、ステップＳ５内でのセションＩＤ通知の処理は実行されないことになる。
【００４６】
図６は本実施形態における通信コネクション管理方法の処理フローチャートである。図５において、１つのセクション内の最初の通信接続要求に対応してゲートウェイとの間で新たな通信コネクションが確立され、セションＩＤが設定されると、その内容は図示しないメモリ（テーブル）に格納されるが、それと共に図示しないタイマが起動され、そのタイマの経過時間が監視される。
【００４７】
すなわち図６のステップＳ１１において、タイマ起動後の一定時間内にアクセス、すなわち１つのセション内の次の通信接続要求があったか否かが、例えばプロキシ３２ａによって判定され、あった場合にはステップＳ１１の処理が続行される。
【００４８】
これに対して一定時間内にアクセスがなかった場合には、ステップＳ１２で設定されたセションＩＤが無効とされ、確立された通信コネクションが解放されて、処理を終了する。なおこの一定時間としては、例えばインターネット業界で事実上の標準となっている、１つのセションの継続時間としての３０分とすることができる。
【００４９】
図７は、例えば図４のクライアント側のＰＣ−Ａ３１ａとプロキシ（サーバ）３２ａとの間で行われる通信方式の説明図である。同図において、まず図４の要求▲１▼に相当するクライアント側からの最初の通信接続要求、すなわちコネクション確立要求としてのログインが行われると、プロキシ３２ａから応答▲１▼に相当するＣＯＲＢＡ  ＡＰサーバによる処理の結果にセションＩＤを加えた応答が返され、クライアント側からの２回目以降の通信接続要求、すなわち図４では要求▲２▼、▲３▼、および▲４▼においては、クライアント側からの接続処理要求に加えてセションＩＤがプロキシ３２ａに与えられ、その要求に対してそれぞれ応答が返されることになる。
【００５０】
本実施形態では、前述のようにあるクライアントによって実行される１つのセションに対応する要求の判別方法、例えば図４におけるＰＣ−Ａ３１ａから行われる通信接続要求▲１▼〜▲４▼が同一セションに対応する要求であることを判断するための方法として、セション識別子としてクライアントのＩＰアドレスを用いる方法と、ＵＲＬ情報の中にセション情報を含める方法と、ヘッダ情報の中にセション識別子を含める方法の３つの方法のいずれかが用いられる。
【００５１】
図８はセション識別子としてクライアントのＩＰアドレスを用いる場合の通信接続方式の説明図である。同図において、クライアント側の例えば図３のクライアントＡＰからのＩＩＯＰプロトコルの通信接続（および処理）要求は、クライアントＯＤによってＨＴＴＰプロトコルに変換され、変換後の通信接続要求はＵＲＬ、ヘッダ、およびボディを含む形式でプロキシ側に出力される。
【００５２】
プロキシ（サーバ）側ではその内容のテーブルに、例えばすでに３つのセションＳ１、Ｓ２、およびＳ３に対して、そのクライアント側のＩＰアドレスとしてのＡ，ＢおよびＣが、またクライアントから接続が要求された通信をゲートウェイ側に伝送するための通信コネクションとしてコネクション▲１▼、▲２▼、および▲３▼が確立されていることがそれぞれ格納されている。
【００５３】
現在接続を要求しているクライアントのＩＰアドレスが例えば“Ｂ”である場合には、ゲートウェイ側へのコネクションとしてコネクション▲２▼が選択され、このコネクションの相手先としてのゲートウェイに通信接続要求が送られ、ゲートウェイによってＨＴＴＰからＩＩＯＰへのプロトコル変換が行われ、ＩＩＯＰに変換された要求はＣＯＲＢＡ  ＡＰサーバに伝えられる。
【００５４】
図８において、クライアント側からプロキシに送られた通信接続要求に記述されているＩＰアドレスがプロキシ内のテーブルに格納されていない場合には、新しいセション、例えばＳ４に対して、そのＩＰアドレスとそのセションの通信の伝送を行うためのコネクション、例えばコネクション▲４▼が設定され、コネクション▲４▼の相手先のゲートウェイに対して通信接続要求が送られることになる。
【００５５】
このセション識別子としてＩＰアドレスを用いる場合には、同一のクライアントであれば、セションが異なる場合においても同一コネクションが用いられる。すなわちＩＰアドレスが“Ｂ”のクライアントからの通信接続要求は常にコネクション▲２▼を用いて行われることになる。そこでそのコネクションの相手先のゲートウェイは常に同一であり、例え２つのセションの実行に必要な処理を行うＣＯＲＢＡ  ＡＰサーバが異なるとしても、プロキシとゲートウェイとの間では常に同一のコネクションを用いて通信が行われる。
【００５６】
図９はヘッダ情報の中にセション識別子を含める場合の通信方式の説明図である。同図において、クライアント側からはまず最初の通信接続要求として、ＵＲＬ、ヘッダ、およびボディからなる要求がプロキシ側に図８と同様に送られる。
【００５７】
プロキシ内部には図８におけると同様に、例えばセション番号Ｓ１〜Ｓ３に対応して、ヘッダ情報に追加されるべきセション識別子、例えばセション番号Ｓ１に対応するＡＡＡと、そのセションに対応する通信を伝送するためのゲートウェイとの通信コネクションの番号▲１▼が格納されている。
【００５８】
これらすでに格納されているセション識別子とコネクション番号は、すでに過去においてセション内の通信が開始されたものに対応するセション識別子とコネクション番号である。
【００５９】
これに対してクライアント側から送られた要求が最初の通信接続要求である場合には、そのヘッダ情報内にはセション識別子がまだ含まれておらず、プロキシ側でその最初の接続要求に対応してセション番号として例えばＳ４、セション識別子としてＺＺＺ、対応する通信コネクションとして▲４▼がテーブルに格納され、通信コネクション▲４▼を介してゲートウエイに通信接続要求が与えられ、その後図８におけると同様にプロトコル変換が行われ、接続（および処理）要求のデータはＣＯＲＢＡ  ＡＰサーバに与えられる。
【００６０】
図１０は図９で説明した最初の通信接続要求におけるヘッダ情報の例である。このヘッダ情報においてＡとＢは対応するセションによって実行される業務を示し、Ｃは引数を示す。このヘッダ情報ではＢとＣの間にデータが記述されておらず、ここにデータが記述されていないことによって、最初の通信接続要求であることが示されている。
【００６１】
図９で説明したように、この通信接続要求に対応してセション番号Ｓ４、セションＩＤ  ＺＺＺがプロキシ側によって設定される。この設定された新しいセションＩＤは、例えば図４のＰＣ−Ａ３１ａに対する応答▲１▼の中のヘッダ情報に追加されて、プロキシ３２ａからクライアント側に返される。
【００６２】
この時、図１０のヘッダ情報においてＢとＣとの間にセションＩＤとしてのＺＺＺが追加される。このセションＩＤが追加方式としては、例えばＨＴＴＰヘッダに追加記述されたデータをブラウザ側で認識して記憶することが可能な方式、例えばネットスケープクッキー（Ｃｏｏｋｉｅ）が用いられる。
【００６３】
このようにプロキシ側からセションＩＤが追加されたヘッダ情報を含む応答がＰＣ側に返されることによって、２回目以降の通信接続要求におけるヘッダ情報には、そのセションＩＤを含めたヘッダ情報を利用することが可能となる。
【００６４】
図１１はセションＩＤをＵＲＬに追加する場合の通信方式の説明図である。同図の方式は図９におけるとほぼ同様であるが、ヘッダ情報の中でなく、ＵＲＬにセションＩＤが追加される点だけが異なっている。図９におけると同様に、最初の通信接続要求においてはＵＲＬの中にセションＩＤは含まれておらず、プロキシによって新しく設定されたセションＩＤ、例えばＺに対応して、確立された通信コネクション▲４▼を介してゲートウェイへ通信接続要求が送られ、それに対する応答のＵＲＬに、設定されたセションＩＤ  Ｚが追加されて、クライアント側に送られる。第２回目以降の通信接続要求のＵＲＬ内には、この設定されたセションＩＤ、例えばＺが追加されて、プロキシに送られることになる。
【００６５】
以上説明したような通信システムにおける各通信装置、例えば図２の中継Ｗｅｂサーバ１２、図４のプロキシ３２ａなどは当然一般的なコンピュータシステムによって実現することができる。図１２はそのようなコンピュータシステムの構成例を示す。同図においてコンピュータ５１は、本体５２とメモリ５３とによって構成されている。
【００６６】
メモリ５３はランダムアクセスメモリ（ＲＡＭ）、ハードディスク、磁気ディスクなどの記憶装置であり、このようなメモリ５３に、例えば前述の図５、図６のフローチャート、本発明の特許技術の範囲の請求項７〜１０などに記載されたプログラムが格納され、そのプログラムが本体５２によって実行されることによって、本発明における通信振り分け制御が実現される。
【００６７】
このようなプログラムは、プログラム提供者側からネットワーク５４を介して送られ、コンピュータ５１にロードされることによっても、また市販され、流通している可搬型記憶媒体５５に格納され、そのプログラムがコンピュータ５１にロードされることによっても実行可能である。
【００６８】
可搬型記憶媒体５５としてはＣＤ−ＲＯＭ、フロッピーディスク、光ディスク、光磁気ディスクなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に前述のようなプログラムが格納され、その可搬型記憶媒体５５がコンピュータ５１にセットされることによっても、本発明における通信振り分け制御が可能となる。
【００６９】
以上の説明においては、クライアントがセションの実行のために必要な処理を、ＣＯＲＢＡ  ＡＰサーバにインターネットを介して依頼するＨＴＴＰトンネリング方式を中心として発明の実施の形態を説明したが、本発明はこのような実施形態に制限されることなく、特許請求の範囲に記載した範囲で様々な通信方式に利用することが可能なことは当然である。
【００７０】
【発明の効果】
以上説明したように本発明によれば、ＣＯＲＢＡ  ＡＰサーバへの中継Ｗｅｂサーバとして、１つのセションの間、同一の他Ｗｅｂサーバを用いることが可能となり、１つのセションの内部での通信接続要求に、通信コネクションを確立する必要がなくなり、またＣＯＲＢＡ  ＡＰサーバからの応答を受け取るレスポンス性能が向上し、ＨＴＴＰトンネリングによるＣＯＲＢＡ通信の効率向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の通信振り分け制御方法の機能ブロック図である。
【図２】本発明の通信振り分け制御方式が用いられる通信システムの基本構成ブロック図である。
【図３】クライアント側とＣＯＲＢＡ  ＡＰサーバの間のトンネリングを用いた通信方式の説明図である。
【図４】複数のクライアントに対応する通信システムの構成例のブロック図である。
【図５】本実施形態における通信管理方式の処理フローチャートである。
【図６】通信コネクション管理方法の処理フローチャートである。
【図７】クライアント側のパソコンとプロキシサーバとの間の通信方式の説明図である。
【図８】セションＩＤとしてＩＰアドレスを用いる場合の通信方式の説明図である。
【図９】セションＩＤをヘッダ情報に含める場合の通信方式の説明図である。
【図１０】ヘッダ情報の例を示す図である。
【図１１】セションＩＤをＵＲＬに含める場合の通信方式の説明図である。
【図１２】本発明を実現するためのプログラムのコンピュータへのローディングを説明する図である。
【図１３】ＨＴＴＰトンネリングによるＣＯＲＢＡ通信方式の従来例の説明図である。
【符号の説明】
１１      パソコン（ＰＣ）
１２      中継Ｗｅｂサーバ
１３ａ・・・      他Ｗｅｂサーバ
１４ａ・・・      ＣＯＲＢＡ  ＡＰサーバ
１５ａ，・・・，１６      通信コネクション
２４      クライアントＡＰ
２５      クライアントＯＤ
２６      プロキシ
２７      ゲートウェイ
２８      ＣＯＲＢＡ  ＡＰサーバ
【図１】
0003777302.tif 000002
【図２】
0003777302.tif 000003
【図３】
0003777302.tif 000004
【図４】
0003777302.tif 000005
【図５】
0003777302.tif 000006
【図６】
0003777302.tif 000007
【図７】
0003777302.tif 000008
【図８】
0003777302.tif 000009
【図９】
0003777302.tif 000010
【図１０】
0003777302.tif 000011
【図１１】
0003777302.tif 000012
【図１２】
0003777302.tif 000013
【図１３】
0003777302.tif 000014