(57)【要約】【課題】マスタ・スレーブ間で通信状態の完全な多重化を行う手法に比べて同期コストを削減でき、マスタに接続できなかったら、スレーブに接続を試みる場合に比べて全てのクライアントが一のマスタに接続できるコネクション確立システムを提供する。【解決手段】コネクションの確立に際し、クライアントの接続要求送信装置１０１から、マスタとスレーブから構成されるサーバ群の接続要求受信装置２０１に対して、マルチキャスト通信を用いてコネクションの確立を送信し、マスタからクライアントにコネクションを確立する。【選択図】図１
2013196111.tif 000002
【特許請求の範囲】
【請求項１】
クライアントに、
サーバからのコネクション確立の要求を待ち受けるコネクション確立要求受信装置と、
サーバ群を構成するコンピュータの接続要求受信装置に対してコネクションの確立を要求する接続要求送信装置と
を備え、
サーバに、
どのサーバがマスタになるかを決定するマスタ決定装置と、
クライアントの接続要求送信装置より送信された接続要求を受信する接続要求受信装置と、
クライアントのコネクション確立要求受信装置に対してコネクションの確立要求を行うコネクション確立要求送信装置と
を備え、
コネクションの確立に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、マルチキャスト通信を用いてコネクションの確立を送信し、マスタからクライアントにコネクションを確立する
ことを特徴とするコネクション確立システム。
【請求項２】
コネクションの確立に際し、クライアントからのコネクション確立の要求に対してマスタとスレーブから構成されるサーバ群が備えるマスタ決定装置により全てのクライアントを一のマスタに接続する
ことを特徴とする請求項１に記載のコネクション確立システム。
【請求項３】
クライアントがサーバ群に発行する接続要求に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、エニーキャスト通信を用いてコネクションの確立を送信し、マスタからクライアントにコネクションを確立することにより全てのクライアントを一のマスタに接続する
ことを特徴とする請求項１に記載のコネクション確立システム。
【請求項４】
クライアントがサーバ群に発行する接続要求に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対する接続要求にサーバ群を一意に特定できる情報を含めてブロードキャスト、マルチキャスト又はエニーキャストする
ことを特徴する請求項１に記載のコネクション確立システム。
【請求項５】
クライアントがサーバ群に発行する接続要求に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、サーバ群を構成する個々のコンピュータに対して並列又は並行にユニキャスト通信を行うことで、個々の接続要求に関してタイムアウトを待つことなく接続要求を送信し、マスタからクライアントにコネクションを確立する
ことを特徴とする請求項１に記載のコネクション確立システム。
【請求項６】
クライアントがサーバ群に発行する接続要求に際し、サーバがクライアントに接続するための情報を含む
ことを特徴とする請求項１から５のいずれか一項に記載のコネクション確立システム。
【請求項７】
クライアントがサーバ群に発行する接続要求に際し、サーバがクライアントに接続するために十分な情報と、クライアントのコネクション確立要求受信装置に到着するコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行うコネクション紐付け情報を含む
ことを特徴とする請求項１から６のいずれか一項に記載のコネクション確立システム。
【請求項８】
クライアントに、コネクション確立要求受信装置に到着するコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行う情報を記録する接続情報管理装置を備える
ことを特徴とする請求項１から７のいずれか一項に記載のコネクション確立システム。
【請求項９】
サーバにマスタ降格受信装置及びマスタ降格送信装置を備え、マスタ決定装置により新旧のマスタが異なる場合に旧マスタをマスタから降格し、旧マスタに接続していたクライアントが本手続きにより再接続する
ことを特徴とする請求項１から８のいずれか一項に記載のコネクション確立システム。
【請求項１０】
アプリケーション、ライブラリ又はミドルウェアによる通信状態の管理を行い、コネクションが切断した場合に、最新のマスタに接続しなおすことで通信を継続できるようにすることで、マスタ・スレーブ間でコネクションそのものを完全に多重化するような同期コストを削減する
ことを特徴とする請求項１から９のいずれか一項に記載のコネクション確立システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コネクション確立システムに関する。
【背景技術】
【０００２】
コネクション確立システムの一例が特許文献１に記載されている。特許文献１のコネクション確立システムは、二重化されたＰＬＣのアプリケーションプログラムが、ユーザ用メモリに展開された二重化ステータスを参照する。そして、二重化したＰＬＣのマスタならば、ＴＣＰオプション機能のキープアライブ監視によりサーバ回線の切断を認識した場合、マスタからスレーブへの切替を行う二重化ＰＬＣのマスタ切替処理を実行する。
【０００３】
また、コネクション確立システムの他例が特許文献２に記載されている。特許文献２のコネクション確立システムは、ノードは２つで、ＭＡＣアドレスとして、それぞれＭＡＣＡ、ＭＡＣ−Ｂを持つ。一方、ＩＰアドレスは、１９２．１６８．１．１で、２つのノードはこれを共有している。クライアントがＡＲＰ要求をブロードキャストした場合、マスタノードは、送信元ＭＡＣアドレスフィールドを自ノードのＭＡＣアドレスに、宛先ＭＡＣアドレスフィールドをクライアントのＭＡＣアドレスに設定し、ＡＲＰ応答を送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３２４１４２号公報
【特許文献２】特許第３９３０５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１は、二重化ＰＬＣのマスタ・スレーブを意識することなく、ＬＡＮでＴＣＰ／ＩＰによる通信を行うことができる。特許文献２は、サーバ群の前段に負荷分散装置を設置すること無く、かつ、単一のＩＰアドレスのみの使用で、複数サーバを論理的に単一のサーバに見せることができる。
【０００６】
しかし、既知のコネクション確立システムは、以下の２つの問題点を有する。問題点の１つ目は、マスタ・スレーブ間でコネクションを維持するための状態情報を同期する通信や計算のコストが大きいことである。それは、コネクションを維持するためにパケットごとに到着応答や送受信バッファ、シーケンス番号の管理等を行わなくてはならないが、近年のネットワークでは毎秒数万パケットが処理されるため、マスタ・スレーブ間の通信量が増大する傾向にあるためである。
【０００７】
問題点の２つ目は、複数のクライアントがそれぞれ別のコンピュータをマスタと認識してしまう場合があることである。それは、マスタに接続できない場合に、スレーブに接続を試みるような一貫性モデルでは、通信路の状況や接続要求のタイミングの差により、クライアントが到達し難いサーバが存在する瞬間が存在するためである。
【０００８】
本発明は、前述した課題を解決するためになされたものであり、その目的の１つ目は、マスタ・スレーブ間で通信状態の完全な多重化を行う手法に比べて同期コストを削減できるコネクション確立システムを提供することにある。本発明の目的の２つ目は、マスタに接続できなかったら、スレーブに接続を試みる場合に比べて全てのクライアントが一のマスタに接続できるコネクション確立システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係るコネクション確立システムは、クライアントに、サーバからのコネクション確立の要求を待ち受けるコネクション確立要求受信装置と、サーバ群を構成するコンピュータの接続要求受信装置に対してコネクションの確立を要求する接続要求送信装置と、を備え、サーバに、どのサーバがマスタになるかを決定するマスタ決定装置と、クライアントの接続要求送信装置より送信された接続要求を受信する接続要求受信装置と、クライアントのコネクション確立要求受信装置に対してコネクションの確立要求を行うコネクション確立要求送信装置と、を備え、コネクションの確立に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、マルチキャスト通信を用いてコネクションの確立を送信し、マスタからクライアントにコネクションを確立することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、マスタ・スレーブ間で通信状態の完全な多重化を行う手法に比べて同期コストを削減でき、マスタに接続できなかったら、スレーブに接続を試みる場合に比べて全てのクライアントが一のマスタに接続できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態のコネクション確立方法を実行するコネクション確立システムのブロック構成図である。
【図２】図１に示したコネクション確立システムが実行するコネクション確立方法においてクライアントがサーバ群に対して接続要求を行う様子を表した模式図である。
【図３】図１に示したコネクション確立システムが実行するコネクション確立方法においてクライアントがサーバ群に対して送信した接続要求がマスタに届かない様子を表した模式図である。
【図４】図１に示したコネクション確立システムが実行するコネクション確立方法においてマスタとスレーブで構成されるサーバ同士で新しいマスタを決定する様子を表した模式図である。
【図５】図１に示したコネクション確立システムが実行するコネクション確立方法においてマスタとスレーブで構成されるサーバ同士で新しいマスタが決定されて従来のマスタがスレーブに降格する様子を表した模式図である。
【図６】図１に示したコネクション確立システムが実行するコネクション確立方法においてにおいて降格したサーバに接続していたクライアントのコネクションが全て切断されてコネクションを切断されたクライアントが手続きによりマスタに再接続している様子を表した模式図である。
【図７】図１に示したコネクション確立システムが実行するコネクション確立方法において新しく選出されたマスタがクライアントに対してコネクションの確立を要求する様子を表した模式図である。
【図８】第２実施形態のコネクション確立方法を実行するコネクション確立システムのブロック構成図である。
【発明を実施するための形態】
【００１２】
以下、本発明に係る複数の実施形態のコネクション確立方法を実行するコネクション確立システムについて図面を参照して説明する。
【００１３】
図１は、第１実施形態のコネクション確立方法を実行するコネクション確立システム１０のブロック構成図である。コネクション確立システム１０は、クライアント、及び複数のサーバから成るサーバ群を備える。
【００１４】
クライアントは、接続要求送信装置１０１、コネクション確立要求受信装置１０２、及び接続情報管理装置１０３を有する。
【００１５】
接続要求送信装置１０１は、サーバ群を構成するコンピュータの接続要求受信装置２０１に対してコネクションの確立を要求する装置である。
【００１６】
コネクション確立要求受信装置１０２は、コネクション待ち受けポート等の情報を元にサーバからのコネクション確立を待ち受ける装置である。
【００１７】
接続情報管理装置１０３は、コネクション確立要求受信装置１０２に到着するコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行う情報を記録する装置である。
【００１８】
サーバは、接続要求受信装置２０１、コネクション確立要求送信装置２０２、マスタ決定装置２０３、マスタ降格受信装置２０４、及びマスタ降格送信装置２０５を有する。
【００１９】
接続要求受信装置２０１は、クライアントの接続要求送信装置１０１より送信された接続要求を受信する装置である。
【００２０】
コネクション確立要求送信装置２０２は、コネクション接続先情報３０１に含まれている情報を元にコネクション確立要求受信装置１０２に対してコネクションの確立要求を行う装置である。ここで、コネクション接続先情報３０１とは、コネクション確立要求送信装置２０２がコネクション確立要求受信装置１０２にコネクションを確立するために必要な情報を含むＩＰアドレスとポート等コネクション先を一意に特定する情報である。
【００２１】
マスタ決定装置２０３は、どのサーバがマスタになるかを決定する装置である。
【００２２】
マスタ降格受信装置２０４は、マスタ降格送信装置２０５による信号を受けて自身をスレーブに降格させる装置である。
【００２３】
マスタ降格送信装置２０５は、マスタ決定装置２０３により選出されたマスタ以外のマスタをスレーブに降格させる信号を送信する装置である。
【００２４】
ここで、接続要求送信装置１０１が、接続要求受信装置２０１に対してコネクションの確立を要求する方法は、例えば、サーバ群を構成するコンピュータに対して同一のマルチキャストアドレスを割り当て、これに対してマルチキャスト通信を行う。また、他の方法は、例えば、サーバ群を構成するコンピュータに対して同一のエニーキャストアドレスを割り当て、これに対してエニーキャスト通信を行う。また、他の方法は、サーバ群を構成するコンピュータに対して個別にユニキャストを行ったり、接続先のサーバ群を特定できる情報を含めてブロードキャストを行ったりする。
【００２５】
また、マスタ決定装置２０３がマスタ降格受信装置２０４やマスタ降格送信装置２０５を兼ねることもある。更に、ここで、コネクションとはセッション等と呼ばれる場合もあるが、すべて同様に適用可能である。
【００２６】
これらの手段は、それぞれ次のように動作する。クライアント上のアプリケーションはライブラリ等を通じて接続情報管理装置１０３に、後にコネクション確立要求受信装置１０２に到着するコネクションと、コネクション確立の要求を発行したアプリケーションの紐付けを行う情報を記録する。そして、コネクション確立要求受信装置１０２においてサーバ群で選出されたマスタからの接続を待ち受ける。
【００２７】
また、接続要求送信装置１０１よりサーバ群を構成するコンピュータの接続要求受信装置２０１に対して、ＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１を送信する。
【００２８】
ＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１を受信したコンピュータは、マスタ決定装置２０３により同一サーバ群からマスタを１台選出する。
【００２９】
新しく選出されたマスタが、それまでのマスタと異なる場合、複数のマスタが同時に存在することを避けるため、新しいマスタはマスタ降格送信装置２０５よりそれまでのマスタのマスタ降格受信装置２０４に対してマスタ降格の信号を送信する。そして、これを受信したそれまでのマスタは自らをスレーブに降格する。
【００３０】
このとき、降格したサーバに接続しているクライアントのコネクションは全て切断される。コネクションを切断されたクライアントは、所定の手続きによりマスタに再接続する。
【００３１】
その後、新しいマスタはコネクション確立要求送信装置２０２より、クライアントのコネクション確立要求受信装置１０２に対してコネクションの確立要求を送信する。このとき、クライアントの特定や、コネクション確立に必要な情報はＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１から導出される。
【００３２】
クライアントはコネクション確立要求受信装置１０２で受け取った接続要求を元に、接続情報管理装置１０３に対してコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行うことで目的のサービスを実行する。
【００３３】
クライアント上のアプリケーションは、ライブラリやシステムサービスのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）等を通じて、サーバへのコネクション確立の要求を接続情報管理装置１０３に記録する。そして、コネクション確立要求受信装置１０２においてサーバ群で選出されたマスタからの接続を待ち受ける。
【００３４】
このとき、マスタからの接続待ちポート等も接続情報管理装置１０３に記録する。そして、後にマスタのコネクション確立要求送信装置２０２からクライアントのコネクション確立要求受信装置１０２に対して発行されるコネクション接続要求が、どのアプリケーションに対して発行されたものかを対応付ける情報を作成する。
【００３５】
その後、接続要求送信装置１０１よりサーバ群を構成するコンピュータに対して、ＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１を送信する。ここで、サーバ群を構成するコンピュータはマスタとスレーブで構成される。また、ＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１の送信方法としては、サーバ群を構成するコンピュータに対して同一のマルチキャストアドレスを割り当てることでマルチキャスト通信することが考えられる。また、サーバ群を構成するコンピュータに対して同一のエニーキャストアドレスを割り当てることでエニーキャスト通信することが考えられる。また、パケット中に対象となるサーバ群を一意に特定できる情報を含めた上でブロードキャスト通信することが考えられる。また、サーバ群を構成する個々のコンピュータに対して並列又は並行にユニキャスト通信することが考えられる。
【００３６】
接続要求受信装置２０１により、ＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１を受信したコンピュータは、マスタ決定装置２０３により同一サーバ群からマスタを１台選出する。新しく選出されたマスタが、それまでのマスタと異なる場合、複数のマスタが同時に存在することを避けるため、新しいマスタはマスタ降格送信装置２０５よりそれまでのマスタのマスタ降格受信装置２０４に対してマスタ降格の信号を送信する。そして、これを受信したそれまでのマスタは自らをスレーブに降格する。ここで、マスタ決定装置２０３で、マスタが１台選出するとともに、同一サーバ群の他のコンピュータが自動的にスレーブに降格するアルゴリズムが採用された場合、マスタ降格受信装置２０４及びマスタ降格送信装置２０５はマスタ決定装置２０３に内包される。
【００３７】
また、降格したサーバに接続しているクライアントのコネクションは全て切断される。コネクションを切断されたクライアントは、所定の続きによりマスタに再接続する。その後、新しいマスタはコネクション確立要求送信装置２０２より、クライアントのコネクション確立要求受信装置１０２に対してコネクションの確立要求を送信する。このとき、クライアントの特定や、コネクション確立に必要な情報はＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１から導出される。
【００３８】
最後に、クライアントはコネクション確立要求受信装置１０２で受け取った接続要求を元に、接続情報管理装置１０３に対してコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行うことで目的のサービスを実行する。
【００３９】
次に、コネクション確立システム１０が実行するコネクション確立方法について説明する。上述したように、コネクション確立システム１０は、クライアントに接続要求送信装置１０１と、接続情報管理装置１０３と、コネクション確立要求受信装置１０２とを備える。また、サーバに、マスタ決定装置２０３と、接続要求受信装置２０１と、コネクション確立要求送信装置２０２と、マスタ降格送信装置２０５と、マスタ降格受信装置２０４とを備える。
【００４０】
クライアントの接続要求送信装置１０１がサーバ群の接続要求受信装置２０１に発行する接続要求プロトコルには、クライアントのＩＰアドレスとポートのような、マスタサーバがクライアントに確立するコネクション先を一意に特定する情報を含む。そして、サーバ群はマスタとスレーブとで構成される。クライアントの接続情報管理装置１０３は、クライアント上のプログラムからサーバに対する接続要求を受けてコネクション待ち受けポート等の情報を記録する。コネクション確立要求受信装置１０２は、コネクション待ち受けポート等の情報を元にサーバからのコネクション確立を待ち受ける。クライアントの接続要求送信装置１０１は、サーバ群を構成するコンピュータの接続要求受信装置２０１に対してコネクションの確立を要求する。このとき、接続要求には、クライアントのＩＰアドレスや、前述した待ち受けポートのようなサーバがクライアントに確立するコネクション先を一意に特定する情報を含まれている。
【００４１】
接続要求受信装置２０１に接続要求を受け取ったサーバ群は、マスタ決定装置２０３により、どのサーバがマスタになるかを決定する。選出されたマスタは、必要に応じてマスタ降格送信装置２０５から直前のマスタのマスタ降格受信装置２０４に対してマスタ降格通知を発信し、マスタ降格通知を受信したマスタは自発的にマスタであることを放棄する。これにより、マスタが複数存在することを防ぐことができる。選出されたマスタは、接続要求に含まれていたクライアント情報を元に、コネクション確立要求送信装置２０２からクライアントのコネクション確立要求受信装置１０２に対してコネクションの確立要求を行う。そして、全てのクライアントはある瞬間において共通かつ唯一つのマスタとコネクションを確立することが保証されることで目的の動作を実行する。
【００４２】
次に、コネクション確立システム１０が実行するコネクション確立方法においてクライアントがサーバ群に対して接続要求を行う様子について説明する。図２に示すように、クライアント上のアプリケーションは、サーバに対する新しいコネクション確立の要求を、ライブラリを通じて行う。ライブラリはコネクション確立要求受信装置１０２で、サーバ群で選出されたマスタからの接続を待ち受け、接続情報管理装置１０３に呼び出しアプリケーションのプロセス番号やスレッド番号、待ち受けポート番号を記録する。その後、接続要求送信装置１０１よりサーバ群を構成するコンピュータに対して、ＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１をマルチキャスト送信する。ここで、サーバ群を構成するコンピュータはマスタとスレーブで構成され、全て同一のマルチキャストアドレスを有している。
【００４３】
次に、コネクション確立システム１０が実行するコネクション確立方法においてクライアントがサーバ群に対して送信した接続要求がマスタに届かない様子について説明する。
図３に示すように、マスタがダウンしており、マスタに至るネットワーク経路に通信不良が発生している等の理由により、マスタに対してＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１が届かなかったものと考える。
【００４４】
次に、コネクション確立システム１０が実行するコネクション確立方法においてマスタとスレーブで構成されるサーバ同士で新しいマスタを決定する様子について説明する。図４に示すように、接続要求受信装置２０１により、ＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１を受信したスレーブＡ、スレーブＢ、スレーブＣは、マスタ決定装置２０３を用いてサーバ群で新マスタを決定する。このとき、マスタにＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１が届かなかったのは一過性のパケットロスである可能性もあるため、可能であれば図中のマスタも新マスタの決定に加わることが考えられる。
【００４５】
次に、コネクション確立システム１０が実行するコネクション確立方法においてマスタとスレーブで構成されるサーバ同士で新しいマスタが決定されて従来のマスタがスレーブに降格する様子について説明する。図５に示すように、ここでは、旧スレーブＡが新マスタとして選出されたものとする。旧スレーブＡはマスタ降格送信装置２０５を通して、旧マスタのマスタ降格受信装置２０４にマスタ降格信号を送信し、これを受信した旧マスタはスレーブＤに降格する。
【００４６】
コネクション確立システム１０が実行するコネクション確立方法において、降格したサーバに接続していたクライアントのコネクションが全て切断されたクライアントが手続きによりマスタに再接続している様子について説明する。図６に示すように、また、降格したサーバに接続しているクライアントのコネクションは全て切断される。コネクションを切断されたクライアントは、所定の手続きによりマスタに再接続する。
【００４７】
次に、コネクション確立システム１０が実行するコネクション確立方法において新しく選出されたマスタがクライアントに対してコネクションの確立を要求する様子について説明する。図７に示すように、その後、新マスタはコネクション確立要求送信装置２０２より、クライアントのコネクション確立要求受信装置１０２に対してコネクションの確立要求を送信する。このとき、クライアントの特定や、コネクション確立に必要な情報はＩＰアドレスとポート等コネクション先を一意に特定するコネクション接続先情報３０１から導出される。最後に、クライアントはコネクション確立要求受信装置１０２で受け取った接続要求を元に、接続情報管理装置１０３に対してコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行うことで目的のサービスを実行する。
【００４８】
以上、説明したように、コネクション確立システム１０によれば、マスタ・スレーブ間でコネクションそのものを完全に多重化するのではなく、クライアントから唯一つのマスタに接続できる。そのため、マスタとクライアント間の通信が途絶した場合にはクライアントはただちに最新のマスタとのコネクションを確立できるので、マスタとスレーブはアプリケーションレベルで必要な情報のみ同期すればよく、セッションを維持するための通信を削減する。従って、コネクション確立システム１０によれば、マスタ・スレーブ間で通信状態の完全な多重化を行う手法に比べて同期コストを削減することができる。
【００４９】
次に、本発明に係る第２実施形態のコネクション確立システムについて説明する。なお、以下の第２実施形態において、前述した第１実施形態と重複する構成要素や機能的に同様な構成要素については、図中に同一符号あるいは相当符号を付することによって説明を簡略化あるいは省略する。
【００５０】
図８は、第２実施形態のコネクション確立方法を実行するコネクション確立システム２０のブロック構成図である。コネクション確立システム２０は、クライアントのアプリケーションが、システムサービスのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）等を通じ、コネクション確立要求受信装置１０２で、マスタからの接続を待ち受ける。その後、接続要求送信装置１０１よりサーバ群を構成するコンピュータに対して、コネクション接続先情報３０１を送信する。コネクション接続先情報３０１は、マスタのコネクション確立要求送信装置２０２からクライアントのコネクション確立要求受信装置１０２に対して発行されるコネクション接続要求がどのアプリケーションに対して発行されたものかを対応付ける情報を格納する。また、マスタのコネクション確立要求送信装置２０２がクライアントのコネクション確立要求受信装置１０２に対して接続するために必要な情報を格納する。
【００５１】
ここで、サーバ群を構成するコンピュータはマスタとスレーブで構成される。また、コネクション接続先情報３０１の送信方法としては、サーバ群を構成するコンピュータに対して同一のマルチキャストアドレスを割り当てることでマルチキャスト通信することが考えられる。また、サーバ群を構成するコンピュータに対して同一のエニーキャストアドレスを割り当てることでエニーキャスト通信することが考えられる。また、パケット中に対象となるサーバ群を一意に特定できる情報を含めた上でブロードキャスト通信することが考えられる。また、サーバ群を構成する個々のコンピュータに対して並列又は並行にユニキャスト通信することが考えられる。
【００５２】
接続要求受信装置２０１により、コネクション接続先情報３０１を受信したコンピュータは、マスタ決定装置２０３により同一サーバ群からマスタを１台選出する。マスタになれなかったコンピュータは自身をスレーブに設定する。このとき、降格したサーバに接続しているクライアントのコネクションは全て切断される。コネクションを切断されたクライアントは、所定の手続きによりマスタに再接続する。その後、新しいマスタはコネクション確立要求送信装置２０２より、クライアントのコネクション確立要求受信装置１０２に対してコネクションの確立要求を送信する。
【００５３】
このとき、クライアントの特定や、コネクション確立に必要な情報はコネクション接続先情報３０１から導出される。また、コネクションの確立に際し、クライアントがコネクションとアプリケーションの紐付けに必要なコネクション紐付け情報３０２を含む。最後に、クライアントはコネクション確立要求受信装置１０２で接続要求を受ける。そして、コネクションの確立の際にサーバから受け取ったコネクション紐付け情報３０２を元に、コネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行うことで目的のサービスを実行する。
【００５４】
なお、本発明のコネクション確立システムは、前述した各実施形態に限定するものでなく、適宜な変形や改良等が可能である。
【００５５】
以上述べたように、本発明のコネクション確立システムによれば、マスタ・スレーブ間で通信状態の完全な多重化を行う手法に比べて同期コストを削減でき、全てのクライアントが一のマスタに接続される。以上の結果として、マスタとスレーブとで構成するサーバ群と、１台以上のクライアントで構成する通信環境において、特に全てのクライアントで一意なマスタと通信する用途に適用でき、本発明の産業上の利用可能性は大といえる。
【００５６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されるが、以下に限られない。
【００５７】
（付記１）クライアントに、サーバからのコネクション確立の要求を待ち受けるコネクション確立要求受信装置と、サーバ群を構成するコンピュータの接続要求受信装置に対してコネクションの確立を要求する接続要求送信装置と、を備え、サーバに、どのサーバがマスタになるかを決定するマスタ決定装置と、クライアントの接続要求送信装置より送信された接続要求を受信する接続要求受信装置と、クライアントのコネクション確立要求受信装置に対してコネクションの確立要求を行うコネクション確立要求送信装置と、を備え、コネクションの確立に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、マルチキャスト通信を用いてコネクションの確立を送信し、マスタからクライアントにコネクションを確立することを特徴とするコネクション確立システム。
【００５８】
（付記２）コネクションの確立に際し、クライアントからのコネクション確立の要求に対してマスタとスレーブから構成されるサーバ群が備えるマスタ決定装置により全てのクライアントを一のマスタに接続することを特徴とする付記１に記載のコネクション確立システム。
【００５９】
（付記３）クライアントがサーバ群に発行する接続要求に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、エニーキャスト通信を用いてコネクションの確立を送信し、マスタからクライアントにコネクションを確立することにより全てのクライアントを一のマスタに接続することを特徴とする付記１に記載のコネクション確立システム。
【００６０】
（付記４）クライアントがサーバ群に発行する接続要求に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対する接続要求にサーバ群を一意に特定できる情報を含めてブロードキャスト、マルチキャスト又はエニーキャストすることを特徴する付記１に記載のコネクション確立システム。
【００６１】
（付記５）クライアントがサーバ群に発行する接続要求に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、サーバ群を構成する個々のコンピュータに対して並列又は並行にユニキャスト通信を行うことで、個々の接続要求に関してタイムアウトを待つことなく接続要求を送信し、マスタからクライアントにコネクションを確立することを特徴とする付記１に記載のコネクション確立システム。
【００６２】
（付記６）クライアントがサーバ群に発行する接続要求に際し、サーバがクライアントに接続するための情報を含むことを特徴とする付記１から５のいずれか一に記載のコネクション確立システム。
【００６３】
（付記７）クライアントがサーバ群に発行する接続要求に際し、サーバがクライアントに接続するために十分な情報と、クライアントのコネクション確立要求受信装置に到着するコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行うコネクション紐付け情報を含むことを特徴とする付記１から６のいずれか一に記載のコネクション確立システム。
【００６４】
（付記８）クライアントに、コネクション確立要求受信装置に到着するコネクションとコネクション確立の要求を発行したアプリケーションの紐付けを行う情報を記録する接続情報管理装置を備えることを特徴とする付記１から７のいずれか一に記載のコネクション確立システム。
【００６５】
（付記９）サーバにマスタ降格受信装置及びマスタ降格送信装置を備え、マスタ決定装置により新旧のマスタが異なる場合に旧マスタをマスタから降格し、旧マスタに接続していたクライアントが本手続きにより再接続することを特徴とする付記１から８のいずれか一に記載のコネクション確立システム。
【００６６】
（付記１０）アプリケーション、ライブラリ又はミドルウェアによる通信状態の管理を行い、コネクションが切断した場合に、最新のマスタに接続しなおすことで通信を継続できるようにすることで、マスタ・スレーブ間でコネクションそのものを完全に多重化するような同期コストを削減することを特徴とする付記１から９のいずれか一に記載のコネクション確立システム。
【００６７】
（付記１１）クライアントに、サーバからのコネクション確立の要求を待ち受けるコネクション確立要求受信装置と、サーバ群を構成するコンピュータの接続要求受信装置に対してコネクションの確立を要求する接続要求送信装置と、を備え、サーバに、どのサーバがマスタになるかを決定するマスタ決定装置と、クライアントの接続要求送信装置より送信された接続要求を受信する接続要求受信装置と、クライアントのコネクション確立要求受信装置に対してコネクションの確立要求を行うコネクション確立要求送信装置と、を備え、コネクションの確立に際し、クライアントの接続要求送信装置から、マスタとスレーブから構成されるサーバ群の接続要求受信装置に対して、マルチキャスト通信を用いてコネクションの確立を送信し、マスタからクライアントにコネクションを確立することを特徴とするコネクション確立方法。
【符号の説明】
【００６８】
１０，２０  コネクション確立システム
１０１  接続要求送信装置
１０２  コネクション確立要求受信装置
１０３  接続情報管理装置
２０１  接続要求受信装置
２０２  コネクション確立要求送信装置
２０３  マスタ決定装置
３０２  コネクション紐付け情報
【図１】
2013196111.tif 000003
【図２】
2013196111.tif 000004
【図３】
2013196111.tif 000005
【図４】
2013196111.tif 000006
【図５】
2013196111.tif 000007
【図６】
2013196111.tif 000008
【図７】
2013196111.tif 000009
【図８】
2013196111.tif 000010