(57)【要約】【課題】処理要求元と複数の処理装置のうちのいずれかの処理装置との間のコネクションの確立時に、他の処理装置から要求元へ通信する場合のリソースの有効活用を図る技術を提供する【解決手段】受け付けた複数の処理要求のそれぞれを振り分ける第１振分部と、第１振分部により振り分けられた複数の処理要求のそれぞれをさらに振り分ける複数の第２振分部と、複数の第２振分部のいずれかにより振り分けられた複数の処理要求のそれぞれに対する応答を行う複数の処理装置とを含む負荷分散システムにおける通信方法において、第１処理装置は、いずれかの第２振分部により振り分けられた第１処理要求に応じて、第１処理装置と処理要求の要求元との間で第１コネクションを確立し、第２処理装置は、要求元以外からの指示に応じて、確立済みの第１コネクションの一部を用いて、要求元と通信を行うことにより、上記課題の解決を図る。【選択図】図３
2018007183.tif 000002
【特許請求の範囲】
【請求項１】
受け付けた複数の処理要求のそれぞれを振り分ける第１振分部と、
前記第１振分部により振り分けられた前記複数の処理要求のそれぞれをさらに振り分ける複数の第２振分部と、
前記複数の第２振分部のいずれかにより振り分けられた前記複数の処理要求のそれぞれに対する応答を行う複数の処理装置とを含む負荷分散システムにおける通信方法であって、
前記複数の処理装置のうち第１処理装置は、前記複数の第２振分部のうちのいずれかの第２振分部により振り分けられた第１処理要求に応じて、該第１処理装置と該処理要求の要求元との間で第１コネクションを確立し、
前記複数の処理装置のうち第２処理装置は、前記要求元以外からの指示に応じて、確立済みの前記第１コネクションの一部を用いて、前記要求元と通信を行う
ことを特徴とする通信方法。
【請求項２】
前記第２処理装置は、前記要求元以外からの指示に応じて、前記第１処理要求を前記第１処理装置へ振り分けた前記第２振分部及び前記第１振分部を介して、確立済みの前記第１コネクションの一部を用いて、前記要求元と通信を行う
ことを特徴とする請求項１に記載の通信方法。
【請求項３】
前記第２処理装置は、前記要求元以外からの指示から前記要求元を特定する要求元情報を取得し、該要求元情報に基づいて、前記複数の第２振分部に対して、該要求元と確立済みの前記第１コネクションを有するかを問い合わせ、問い合わせの結果に応じて、該要求元と確立済みの前記第１コネクションを有する第２振分部を介して、確立済みの前記第１コネクションの一部を用いて、該要求元と通信を行う
ことを特徴とする請求項１に記載の通信方法。
【請求項４】
前記複数の第２振分部のそれぞれは、前記第２処理装置からの前記問い合わせに応じて、該要求元と確立済みの前記第１コネクションを有するかを判定し、該確立済みの該第１コネクションを有する場合、該第２振分部自身と前記複数の処理装置のそれぞれとの間の複数の第２コネクションのうち使用されていない第２コネクションを選択し、選択した該第２コネクションと前記確立済みの前記第１コネクションの一部とを関連付ける
ことを特徴とする請求項３に記載の通信方法。
【請求項５】
前記要求元と確立済みの前記第１コネクションを有する前記第２振分部は、選択された前記第２コネクションを介して前記第２処理装置から前記要求元宛の要求情報を取得し、該要求情報から通信サービスを一意に識別するサービス識別情報を抽出し、抽出した該サービス識別情報を前記選択された第２コネクションを識別する第２コネクション識別情報と関係付けたコネクション管理情報を保持し、該要求情報を該要求元へ送信する
ことを特徴とする請求項４に記載の通信方法。
【請求項６】
前記複数の第２振分部のそれぞれは、前記第１振分部により振り分けられた通信情報を取得し、該通信情報から前記サービス識別情報を抽出し、前記コネクション管理情報から、抽出した該サービス識別情報と一致する該サービス識別情報を有する第２コネクション識別情報を取得し、取得した該第２コネクション識別情報に対応する第２コネクションを介して、前記通信情報を前記第２処理装置へ送信する
ことを特徴とする請求項５に記載の通信方法。
【請求項７】
前記複数の第２振分部のそれぞれは、該第２振分部自身と前記複数の処理装置のそれぞれとの間の第２コネクションを識別する第２コネクション識別情報と、該第２コネクションが使用されているかを示す使用状態情報と、該第２コネクションを使用している第３コネクションであって該第２振分部自身と前記第１振分部との間の該第３コネクションを識別する第３コネクション識別情報と、前記第２処理装置と前記要求元との間の通信サービスを一意に識別するサービス識別情報と、前記要求元を特定する要求元特定情報と、が関係付けられたコネクション管理情報を保持する
ことを特徴とする請求項１に記載の通信方法。
【請求項８】
受け付けた複数の処理要求のそれぞれを振り分ける第１振分部と、
前記第１振分部により振り分けられた前記複数の処理要求のそれぞれをさらに振り分ける複数の第２振分部と、
前記複数の第２振分部のいずれかにより振り分けられた前記複数の処理要求のそれぞれに対する応答を行う複数の処理装置と、
を備え、
前記複数の処理装置のうち第１処理装置は、前記複数の第２振分部のうちのいずれかの第２振分部により振り分けられた第１処理要求に応じて、該第１処理装置と該処理要求の要求元との間で第１コネクションを確立し、
前記複数の処理装置のうち第２処理装置は、前記要求元以外からの指示に応じて、確立済みの前記第１コネクションの一部を用いて、前記要求元と通信を行う
ことを特徴とする負荷分散システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、通信方法、及び負荷分散システムに関する。
【背景技術】
【０００２】
ネットワーク技術の普及に伴い、ネットワーク上で送受信されるデータのトラフィック量も増えており、局所的に情報処理の負荷が集中すると、そこがボトルネックとなってシステム全体のスループットを低下させる。そのような負荷の集中を回避するために、負荷を分散させる負荷分散技術がある（例えば、特許文献１、特許文献２）。
【０００３】
近年、ＣＡＰＥＸ（CAPital EXpence）／ＯＰＥＸ（OPeration EXpence）削減を目的として、通信網に仮想化技術の導入が進められている。仮想化技術の導入の一例として、仮想化技術やスケール性との親和性の高いＮ−Ａｃｔｉｖｅ冗長システム構成での通信サービス提供が考えられる。ここで、Ｎ−Ａｃｔｉｖｅ冗長システム構成とは、複数の同等機能を果たす装置または機能ブロックにより負荷分散を行うシステム構成である。
【０００４】
そのような中で、図１に示すような分散制御基盤ミドルウェアを用いてアプリケーションプログラムを開発することで、高信頼でスケーラブルな通信サービスを実現できる。
【０００５】
図１は、分散制御基盤のアーキテクチャの一例を示す。図１に示す分散制御システムのアーキテクチャは、ＢＤＰＳ構成（Blanacer、Dispatcher、Processor、Storage）を採用している。
【０００６】
図１において、‘Ｃ’は、クライアント端末（以下、「クライアント」と称する）を表す。‘Ｂ’は、クライアント端末Ｃから送られてくるデータや処理要求を、複数のディスパッチャ（Ｄ）に振り分けて一台あたりの負荷を抑えるロードバランサを表す。‘Ｄ’は、処理を待っているデータやプロセスが複数ある場合に、効率よく処理できるよう必要な資源の振り分けや割り当てを行うディスパッチャを表す。‘Ｐ’は、入力された信号に対して処理を行う演算処理装置（プロセッサ）を表す。なお、以下では、プロセッサにより実行されるアプリケーションプログラム（以下、「アプリケーション」と称する。）を含めた処理主体となり得るハードウェアまたはソフトウェアを‘Ｐ’で示す場合がある。
【０００７】
分散制御システムの信号振り分け機能に関して、クライアント端末Ｃよりリクエストがあると、分散制御システムは、以下の振り分け処理を行う。すなわち、Ｂは、一次信号の振り分け（単純信号振り分け）を行う。Ｄは、二次信号の振り分け（セッション一意性保証）を行う。図１では、分散制御システムは、２段階構成での信号振り分けを行う。
【０００８】
このことにより、Ｂにおけるボトルネックを回避し、Ｄのスケール性を保証し、信号振り分け機能部自体がボトルネックとなってしまうことを回避できる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−３５０１８８号公報
【特許文献２】特開２００６−２４５８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ＣからＰの方向へのＴＣＰコネクションパス（Ｃ−Ｂ間、Ｂ−Ｄ間、Ｄ−Ｐ間）とは方向が異なるＴＣＰ通信について、ＴＣＰコネクションパスを新たに確立すると、場合によってはリソースが無駄に消費され、分散制御システムのパフォーマンスの低下を招くことがある。
【００１１】
例えば、このような分散制御システムにおいて、分散制御システム側からクライアント方向へＴＣＰ（Transmission Control Protocol）リクエストを送信したい場合がある。これについて、図２を用いて説明する。
【００１２】
図２は、分散制御基盤におけるＴＣＰコネクションパス確立と分散制御システム側からクライアント方向へのＴＣＰリクエスト送信を説明するための図である。通信サービスがＴＣＰトランスポートで提供される場合、クライアント（Ｃ）側からＴＣＰコネクション確立を要求すると、ＣからＰへの方向でＴＣＰコネクションパスが確立する。その際にＣ−Ｂ間、Ｂ−Ｄ間、Ｄ−Ｐ間でそれぞれＴＣＰコネクションが確立する。
【００１３】
分散制御基盤上のアプリケーション（Ｐ）は、Ｎ−Ａｃｔｉｖｅ冗長化構成である。図２に示すように、分散制御システムは、特定のクライアント（Ｃ）とのＴＣＰコネクションを確立しているＰ（例えば、Ｐ１）とは別のＰ（例えば、Ｐ２）から、Ｐｕｓｈ型ＴＣＰリクエスト（分散制御システム側からクライアント（Ｃ）方向へのＴＣＰリクエスト）を送信したいケースが存在する。
【００１４】
しかしながら、ＣからＰへの方向のＴＣＰコネクションパス（Ｃ−Ｂ間、Ｂ−Ｄ間、Ｄ−Ｐ間）とは異なるコネクションパスを新たに確立すると、さらにリソースが消費され、分散制御システムのパフォーマンスの低下を招く。
【００１５】
本発明の一側面として、処理要求元と複数の処理装置のうちのいずれかの処理装置との間のコネクションの確立時に、他の処理装置から要求元へ通信する場合のリソースの有効活用を図る技術を提供する。
【課題を解決するための手段】
【００１６】
本発明の一側面に係る、第１振分部と、複数の第２振分部と、複数の処理装置とを含む負荷分散システムにおける通信方法は、以下の処理を行う。ここで、第１振分部は、受け付けた複数の処理要求のそれぞれを振り分ける。複数の第２振分部は、それぞれが、第１振分部により振り分けられた複数の処理要求のそれぞれをさらに振り分ける。複数の処理装置は、複数の第２振分部のいずれかにより振り分けられた複数の処理要求のそれぞれに対する応答を行う。複数の処理装置のうち第１処理装置は、複数の第２振分部のうちのいずれかの第２振分部により振り分けられた第１処理要求に応じて、第１処理装置と処理要求の要求元との間で第１コネクションを確立する。複数の処理装置のうち第２処理装置は、要求元以外からの指示に応じて、確立済みの第１コネクションの一部を用いて、要求元と通信を行う。
【発明の効果】
【００１７】
本発明の一側面によれば、処理要求元と複数の処理装置のうちのいずれかの処理装置との間のコネクションの確立時に、他の処理装置から要求元へ通信する場合のリソースの有効活用を図ることができる。
【図面の簡単な説明】
【００１８】
【図１】分散制御基盤のアーキテクチャの一例を示す。
【図２】分散制御基盤におけるＴＣＰコネクションパス確立と分散制御システム側からクライアント方向へのＴＣＰリクエスト送信を説明するための図である。
【図３】本実施形態における負荷分散システムの一例を示す。
【図４】本実施形態における、分散制御基盤におけるＴＣＰコネクションパス確立と分散制御システム側からクライアント方向へのＴＣＰリクエスト送信を説明するための図である。
【図５】本実施形態における、分散制御基盤におけるＴＣＰコネクションパス確立を説明するための図である。
【図６】本実施形態における、ＴＣＰコネクション管理テーブルを説明するための図である。
【図７】本実施形態の実施例における分散基盤システムを示す。
【図８】本実施形態の実施例におけるプロセッサ（Ｐ）、ディスパッチャ（Ｄ）、及びロードバランサ（Ｂ）のそれぞれのハードウェア構成の一例を示す。
【図９】本実施形態の実施例における、ポリシー制御サーバ（ＰＣＲＦ）に分散制御基盤を適用した場合のシステム例である。
【図１０】本実施形態の実施例におけるシステム構成を踏まえた分散制御システムのユースケースを示す。
【図１１】本実施形態の実施例における、クライアント（ＰＣＥＦ）−サーバ（ＰＣＲＦ）間で用いられるサービス信号のフォーマットを示す。
【図１２】本実施形態の実施例におけるＴＣＰコネクションパス確立シーケンスの一例を示す。
【図１３】図１３は、図１２のシーケンスの説明にて用いるＴＣＰコネクション管理テーブルである。
【図１４Ａ】本実施形態の実施例におけるＰｕｓｈ型ＴＣＰリクエスト送信シーケンス（その１）を示す。
【図１４Ｂ】本実施形態の実施例におけるＰｕｓｈ型ＴＣＰリクエスト送信シーケンス（その２）を示す。
【図１５】図１４Ａ及び図１４Ｂのシーケンスの説明にて用いるＴＣＰコネクション管理テーブルである。
【図１６】本実施形態の実施例におけるＰｕｓｈ型ＴＣＰレスポンス受信シーケンスを示す。
【図１７】図１７は、図１６のシーケンスの説明にて用いるＴＣＰコネクション管理テーブルである。
【発明を実施するための形態】
【００１９】
本実施形態では、分散制御基盤で構築したＮ−Ａｃｔｉｖｅ冗長化構成の分散制御システムにおいて、アプリケーション（Ｐ）から特定のクライアント（Ｃ）に対してＰｕｓｈ型ＴＣＰリクエスト送信する場合に、以下の処理を行う。すなわち、クライアント（Ｃ）と確立済みのＴＣＰコネクションを介して、そのクライアント（Ｃ）にＰｕｓｈ型ＴＣＰリクエスト送信を行う。
【００２０】
図３は、本実施形態における負荷分散システムの一例を示す。負荷分散システム１は、第１振分部２と、複数の第２振分部３と、複数の処理装置４を含む。
【００２１】
第１振分部２は、受け付けた複数の処理要求のそれぞれを振り分ける。
複数の第２振分部３のそれぞれは、第１振分部２により振り分けられた複数の処理要求のそれぞれをさらに振り分ける。
【００２２】
複数の処理装置４は、複数の第２振分部３のいずれかにより振り分けられた複数の処理要求のそれぞれに対する応答を行う。
【００２３】
複数の処理装置４のうち第１処理装置４−１は、複数の第２振分部３のうちのいずれかの第２振分部３−１により振り分けられた第１処理要求に応じて、第１処理装置４−１と処理要求の要求元５との間で第１コネクションを確立する。
【００２４】
複数の処理装置４のうち第２処理装置４−２は、要求元以外からの指示に応じて、確立済みの第１コネクションの一部を用いて、要求元５と通信を行う。
【００２５】
このように構成することにより、処理要求元と複数の処理装置のうちのいずれかの処理装置との間のコネクションの確立時に、他の処理装置から要求元へ通信する場合のリソースの有効活用を図ることができる。
【００２６】
第２処理装置４−２は、要求元以外からの指示に応じて、第１処理要求を第１処理装置４−１へ振り分けた第２振分部３−１及び第１振分部２を介して、確立済みの第１コネクションの一部を用いて、要求元５と通信を行う。
【００２７】
このように構成することにより、確立済みの第１コネクションを有効活用して、要求元と通信することができる。
【００２８】
第２処理装置４−２は、要求元以外からの指示から要求元５を特定する要求元情報を取得する。第２処理装置４−２は、要求元情報に基づいて、複数の第２振分部に対して、要求元５と確立済みの第１コネクションを有するかを問い合わせる。第２処理装置４−２は、問い合わせの結果に応じて、要求元５と確立済みの第１コネクションを有する第２振分部３−１を介して、確立済みの第１コネクションの一部を用いて、要求元５と通信を行う。
【００２９】
このように構成することにより、要求元５と確立済みの第１コネクションを有する第２振分部３−１を特定して、確立済みの第１コネクションの一部を用いて、要求元５と通信を行うことができる。
【００３０】
複数の第２振分部３のそれぞれは、第２処理装置４−２からの問い合わせに応じて、要求元５と確立済みの第１コネクションを有するかを判定する。複数の第２振分部３のそれぞれは、確立済みの第１コネクションを有する場合、第２振分部３−１自身と複数の処理装置のそれぞれとの間の複数の第２コネクションのうち使用されていない第２コネクションを選択する。複数の第２振分部３のそれぞれは、選択した第２コネクションと確立済みの第１コネクションの一部とを関連付ける。
【００３１】
このように構成することにより、第２処理装置４−２は、確立済みの第１コネクションの一部を用いて、要求元５と通信を行うことができる。
【００３２】
要求元と確立済みの前記第１コネクションを有する第２振分部３−１は、選択された第２コネクションを介して第２処理装置から要求元宛の要求情報を取得する。第２振分部３−１は、要求情報から通信サービスを一意に識別するサービス識別情報を抽出する。第２振分部３−１は、抽出したサービス識別情報を選択された第２コネクションを識別する第２コネクション識別情報と関係付けたコネクション管理情報を保持し、要求情報を要求元５へ送信する。
【００３３】
このように構成することにより、要求元５に対する処理要求に対する応答をどの処理装置に転送するのかを第２振分部３が識別することができる。
【００３４】
複数の第２振分部３のそれぞれは、第１振分部２により振り分けられた通信情報を取得する。第２振分部３は、通信情報からサービス識別情報を抽出する。第２振分部３は、コネクション管理情報から、抽出したサービス識別情報と一致するサービス識別情報を有する第２コネクション識別情報を取得する。第２振分部３は、取得した第２コネクション識別情報に対応する第２コネクションを介して、通信情報を第２処理装置４へ送信する。
【００３５】
このように構成することにより、要求元５に対する要求情報に対する応答情報を、その要求を送信した処理装置へ転送することができる。
【００３６】
複数の第２振分部３のそれぞれは、コネクション管理情報を保持する。コネクション管理情報は、第２コネクション識別情報、使用状態情報、第３コネクション識別情報、サービス識別情報、要求元特定情報が関係付けられた情報である。第２コネクション識別情報は、第２振分部自身と複数の処理装置のそれぞれとの間の第２コネクションを識別する。使用状態情報は、第２コネクションが使用されているかを示す。第３コネクション識別情報は、第２コネクションを使用している第３コネクションであって該第２振分部自身と前記第１振分部との間の該第３コネクションを識別する。サービス識別情報は、第２処理装置４−２と要求元５との間の通信サービスを一意に識別する。要求元特定情報は、前記要求元を特定すると、を保持する。
【００３７】
図４は、本実施形態における、分散制御基盤におけるＴＣＰコネクションパス確立と分散制御システム側からクライアント方向へのＴＣＰリクエスト送信を説明するための図である。
【００３８】
分散制御システム１１の構成は、図１で説明した構成と同様である。通信サービスがＴＣＰトランスポートで提供される場合、クライアント（Ｃ）１５側からＴＣＰコネクション確立を要求すると、クライアント（Ｃ）１５からプロセッサ（例えば、Ｐ１）１２への方向でＴＣＰコネクションパスが確立する。その際にクライアント（Ｃ）１５−ロードバランサ（Ｂ）１４間、ロードバランサ（Ｂ）１４−ディスパッチャ（Ｄ）１３間、ディスパッチャ（Ｄ）１３−プロセッサ（Ｐ１）１２間でそれぞれＴＣＰコネクションが確立する。
【００３９】
このとき、アプリケーション（P２）１２は、クライアント（Ｃ）１５に対してＰｕｓｈ型ＴＣＰリクエスト送信する場合に、ＣとＰ１との間で確立済みのＴＣＰコネクションを利用してＰｕｓｈ型ＴＣＰリクエスト送信を行う。
【００４０】
以下では、プロセッサを‘Ｐ’と称する。ディスパッチャを‘Ｄ’と称する。ロードバランサを‘Ｂ’と称する。クライアントを‘Ｃ’と称する。
【００４１】
なお、本実施形態では、一例として、分散制御システム１は、Ｂと複数のＤとの２段階構成での信号の振り分けを行うが、これに限定されず、例えば、複数のＤを多階層に構成してもよい。
【００４２】
例えば、３段階構成での信号の振り分けの場合には、１階層目のＢが、入力信号を、２階層目の複数のＤのいずれかへ振り分ける。２階層目の複数のＤのいずれかは、Ｂにより振り分けられた信号をさらに、３階層目の複数のＤのいずれかに振り分ける。３階層目の複数のＤのいずれかは、２階層目のＤにより振り分けられた信号をさらに、複数のＰのいずれかに振り分ける。
【００４３】
図５は、本実施形態における、分散制御基盤におけるＴＣＰコネクションパス確立を説明するための図である。Ｄは、ＴＣＰコネクション管理テーブル２１を有する。
【００４４】
図６は、本実施形態における、ＴＣＰコネクション管理テーブルを説明するための図である。図６（Ａ）は、クライアント側からのＴＣＰコネクション確立リクエストがされた場合のＴＣＰコネクション管理テーブル２１の一例を示す。図６（Ｂ）は、図６（Ａ）のＴＣＰコネクション確立状態において、分散制御システム側からクライアント方向へＴＣＰリクエストがされた場合のＴＣＰコネクション管理テーブル２１の一例を示す。ＴＣＰコネクション管理テーブル２１は、Ｄ１３によって管理される。
【００４５】
ＴＣＰコネクション管理テーブルは、「Ｐ−Ｄ間コネクションＰＯＯＬ」、「使用状態（Ｂ−Ｄ間コネクションＩＤ）」、「クライアント情報（ＩＰアドレス＆ポート番号）」のフィールドを含む。
【００４６】
「Ｐ−Ｄ間コネクションＰＯＯＬ」は、Ｐ−Ｄ間のコネクションについてのフィールドである。「Ｐ−Ｄ間コネクションＰＯＯＬ」フィールドは、「Ｐアドレス」、「Ｐポート」、「Ｐ−Ｄ間コネクションＩＤ」、「Ｋｅｙ文字列」のフィールドを含む。
【００４７】
「Ｐアドレス」フィールドは、プロセッサ（Ｐ）のアドレスを格納する。「Ｐポート」フィールドは、Ｐ−Ｄ間でのコネクションに用いられるプロセッサ（Ｐ）のポート情報を格納する。「Ｐ−Ｄ間コネクションＩＤ」は、Ｐ−Ｄ間コネクションを識別する識別情報を格納する。
【００４８】
「Ｋｅｙ文字列」は、サービスについて一意な文字列（Ｌ７情報）を確認する。ＤがＰｕｓｈ型ＴＣＰリクエスト信号をＰから受信時に、Ｄが受信信号からＬ７情報を抽出し、ＴＣＰコネクション管理テーブル２１に格納する。一意な文字列（Ｌ７情報）は、Ｐｕｓｈ型ＴＣＰリクエストに対するレスポンス信号をどのＰに信号振り分けするかをＤが識別するために利用される。なお、Ｌ７は、ＯＳＩ参照モデルの第７層を意味する。
【００４９】
「Ｐ−Ｄ間コネクションＰＯＯＬ」の各フィールドに登録される情報は、Ｄ及びＰサーバ再開初期設定処理において登録される。
【００５０】
「使用状態」フィールドは、Ｐ−Ｄ間コネクションＩＤで特定されるＰ−Ｄ間コネクションが使用中であるか、空いているかの状態情報を格納する。「使用状態」フィールドは、そのＰ−Ｄ間コネクションが使用中の場合には、さらにそのＰ−Ｄ間コネクションを使用しているＢ−Ｄ間コネクションのＩＤを格納する。「使用状態」フィールドについては、ＣからのＴＣＰコネクション確立要求契機で“使用中”状態を示す情報が設定され、ＴＣＰコネクション切断要求契機で“空き”状態を示す情報が設定される。
【００５１】
「クライアント情報」は、クライアントのＩＰ（Internet Protocol）アドレスとポート番号を格納する。クライアント１５からのＴＣＰコネクション確立後にクライアントからのＴＣＰリクエスト受信時に、Ｄがその受信信号からＬ７情報としてクライアント情報を抽出し、ＴＣＰコネクション管理テーブル２１に格納する。クライアント情報は、Ｐが既に確立しているＴＣＰコネクションを有するＤを特定する際に利用される。
【００５２】
以下では、図５を参照しながら、図６を説明する。Ｐ−Ｄ間コネクションは、Ｄ及びＰの起動再開初期設定時にＤからＰへの方向に確立される。Ｐ−Ｄ間のコネクションについては、分散制御基盤によって複数ＴＣＰコネクションが確立する。ＤではＣからのＴＣＰコネクション確立要求契機で、「Ｄ−Ｐ間コネクションＰＯＯＬ」から空き状態のＤ−Ｐ間コネクションが選択され、使用状態フィールドに使用中であることを示す情報が設定される。これにより、図６（Ａ）に示すように、Ｂ−Ｄ間コネクションとＤ−Ｐ間コネクションの紐付けが管理される。
【００５３】
さらに、Ｐｕｓｈ型ＴＣＰリクエストを特定のクライアント（Ｃ）に送信したいＰ２（１２）は、その特定のクライアントのクライアント情報を用いて、ＴＣＰコネクション管理テーブル２１（図６（Ａ））を検索する。すなわち、Ｐ２（１２）は、ＴＣＰコネクション管理テーブル２１（図６（Ａ））から、既に確立しているそのクライアントとのＴＣＰコネクションを特定する。このとき、Ｄ１３は、Ｐ２（１２）との間のＰ−Ｄ間コネクションＰＯＯＬから空き状態のコネクションを選択し、ＴＣＰコネクション管理テーブル２１において、その選択したコネクションを“使用中”状態に更新する（図６（Ｂ））。
【００５４】
その後、Ｐ２（１２）は、その選択されたコネクションを用いて、Ｐｕｓｈ型ＴＣＰリクエストを特定のクライアントに送信する。このとき、Ｄ３３はそのＰｕｓｈ型ＴＣＰリクエストからセッションＩＤ等の一意の情報を抽出し、Ｋｅｙ文字列として、ＴＣＰコネクション管理テーブル２１に登録する（図６（Ｂ））。これにより、そのＰｕｓｈ型ＴＣＰリクエストに対応する応答を特定することができる。
【００５５】
このように、Ｄ１３が管理するＴＣＰコネクション管理テーブル２１に、クライアント情報（ＩＰアドレス＆ポート番号）、サービス一意なＫｅｙ文字列を管理するフィールドを設ける。
【００５６】
これにより、クライアント情報を用いることで、どのＤが特定クライアント（Ｃ）と既に確立済みのＴＣＰコネクションを有しているかをＰが把握できる。その結果、Ｐは、ＴＣＰコネクションを有するＤを特定することができる。
【００５７】
また、Ｋｅｙ文字列を用いることにより、特定クライアント（Ｃ）に対するＰｕｓｈ型ＴＣＰリクエストに対するレスポンス信号をどのＰに信号振り分けするかをＤが識別することができる。その結果、ＤにおけるＰｕｓｈ型ＴＣＰリクエストトランザクションを管理することができる。
【００５８】
本実施形態によれば、ＢとＤを介してＣとＰ１との間のコネクション確立時に、Ｐ２がその確立済コネクションを利用してＣと通信することで、リソースを有効活用することができる。
【００５９】
以下に、本実施形態の実施例を説明する。
図７は、本実施形態の実施例における分散基盤システムを示す。図７には、分散基盤システム３１とクライアント（Ｃ）３５とがネットワークで接続されている。クライアント（Ｃ）３５は、分散制御基盤で構築したサービスを利用するクライアント装置である。ネットワークは、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線等の通信網であってよい。
【００６０】
分散基盤システム３１は、サーバ（Ｐ（Ｐ１、Ｐ２））３２、ディスパッチャ（Ｄ）３３、ロードバランサ（Ｂ）３４を含む。Ｐ−Ｄ間には、複数のコネクションを確立することができる（Ｐ−Ｄ間コネクションＰＯＯＬ）。
【００６１】
ロードバランサ（Ｂ）３４は、負荷分散装置であり、外部からのアクセス信号について、一次信号振り分けを行う。ＴＣＰトランスポートの場合は、Ｂ３４は、コネクション単位での信号振り分けを行う。Ｃ３５からの要求でＴＣＰコネクションが確立すると、Ｂ３４は、Ｃ−Ｂ間ＴＣＰコネクション、Ｂ−Ｄ間ＴＣＰコネクションとの関連付け情報を管理し、コネクション単位での信号振り分けを実施する。
【００６２】
ディスパッチャ（Ｄ）３３は、Ｂ３４にて振り分けられた信号について、二次信号振り分けを行う。Ｄ３３は、受信したＬ７信号からサービス一意なＫｅｙ文字列情報を抽出し、Ｋｅｙ文字列情報から信号振り分け先サーバ、即ちＰを決定する。信号トランスポートがＴＣＰの場合、Ｄ３３は、前述の通り、ＴＣＰコネクション管理テーブル４１にて、Ｂ−Ｄ間コネクションとＰ−Ｄ間コネクションとの関係情報の管理を行う。
【００６３】
また、Ｄ３３は、ＴＣＰコネクション管理テーブル４１のＫｅｙ文字列フィールドにおいてサービス一意なＫｅｙ文字列情報を管理することで、Ｐｕｓｈ型ＴＣＰリクエスト信号に関するセッション一意性を保証する。
【００６４】
サーバ（Ｐ（Ｐ１、Ｐ２））３２は、アプリケーションロジックを搭載するサーバである。Ｐ（Ｐ１、Ｐ２）３２は、Ｐｕｓｈ型ＴＣＰリクエスト信号を送信する場合に、Ｃ３５との間で既に確立済みのＴＣＰコネクションを有するＤを特定し、Ｐｕｓｈ型ＴＣＰリクエスト信号を送信する。
【００６５】
Ｄ３３及びＰ３２には、分散制御基盤ミドルウェア４２が配備されている。分散制御基盤ミドルウェア４２は、Ｎ−Ａｃｔｉｖｅ冗長化構成の分散制御システムとしてのアプリケーション動作を保証するための機能を提供する。
【００６６】
図８は、本実施形態の実施例におけるプロセッサ（Ｐ）、ディスパッチャ（Ｄ）、及びロードバランサ（Ｂ）のそれぞれのハードウェア構成の一例を示す。Ｐ３２、Ｄ３３、B３４はそれぞれ、インタフェース装置５１、ＣＰＵ（Central Processing Unit）５２、メモリ５３、ディスク５４、バス５５から構成される。
【００６７】
バス５５は、インタフェース装置５１、ＣＰＵ５２、メモリ５３、ディスク５４間で情報を受け渡すためのバスである。
【００６８】
インタフェース装置５１は、Ｐ３２、Ｄ３３、Ｂ３４のそれぞれに対して入出力を行うためのインタフェースである。メモリ５３は、情報を一時的に保持する揮発性の記憶装置である。
【００６９】
ディスク５４は、大容量の情報を記憶する記憶装置である。ディスク５４としては、ハードディスク、フラッシュメモリカードなど様々な形式の記憶装置を使用することができる。
【００７０】
ＣＰＵ５２は、Ｐ３２、Ｄ３３、Ｂ３４のそれぞれについて、全体の制御を行う中央演算装置である。ＣＰＵ５２は、ディスク５４から本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
【００７１】
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク、およびインタフェース装置５１を介して、例えばディスク５４に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置（不図示）にセットされて、ＣＰＵ５２によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢ（Universal Serial Bus）メモリ装置、半導体メモリカードなど様々な形式の記憶媒体を使用することができる。
【００７２】
図９は、本実施形態の実施例における、ポリシー制御サーバ（ＰＣＲＦ）に分散制御基盤を適用した場合のシステム例である。
【００７３】
ポリシー実行サーバ（ＰＣＥＦ）６１は、加入者単位のポリシーに従い、サービストラヒック（月単位のパケット数上限など）を監視及び制限するサーバである。ポリシー実行サーバ６１は、ポリシー制御サーバ（ＰＣＲＦ）６２のクライアント（対向装置）である。
【００７４】
ポリシー制御サーバ（ＰＣＲＦ）６２は、加入者単位のポリシー情報をポリシー実行サーバ６１に配信するサーバである。ポリシー情報の配信契機は、保守者によるポリシー情報の更新契機、或いはポリシー実行サーバ６１からの配信要求を受信した契機である。本実施例において、ＰＣＲＦ６２が分散制御基盤で構築されたサーバ、すなわち図８における分散処理システム３１である。
【００７５】
ポリシー情報データベース（ＳＰＲ）６３は、ポリシー情報を保持するサーバである。保守者がポリシー情報を更新すると、そのポリシーの更新情報がＰＣＲＦ６２に通知される。
【００７６】
ここで、クライアント（ＰＣＥＦ）６１−サーバ（ＰＣＲＦ）６２間、ポリシー情報データベース（ＳＰＲ）６３−サーバ（ＰＣＲＦ）６２間で利用される通信プロトコルは、ＤＩＡＭＥＴＥＲ（ＲＦＣ３５８８、ＲＦＣ４００６勧告）である。但し、３ＧＰＰ勧告では、ＰＣＥＦ−ＰＣＲＦはＧｘインタフェース、ＰＣＲＦ−ＳＰＲはＳｐインタフェースと、別々のインタフェースとして規定されている（３ＧＰＰ ＴＳ ２３．２０３,ＴＳ ２９．２１３勧告）。
【００７７】
本実施形態では、クライアント（ＰＣＥＦ）６１−サーバ（ＰＣＲＦ）６２間で利用されるインタフェースをインタフェースＡで表す。ポリシー情報データベース（ＳＰＲ）６３−サーバ（ＰＣＲＦ）６２間で利用されるインタフェースをインタフェースＢで表す。
【００７８】
図１０は、本実施形態の実施例におけるシステム構成を踏まえた分散制御システムのユースケースを示す。
【００７９】
クライアント（ＰＣＥＦ）６１−サーバ（ＰＣＲＦ）６２間と、ポリシー情報データベース（ＳＰＲ）６３−サーバ（ＰＣＲＦ）６２間のインタフェースは異なるため、サーバ（ＰＣＲＦ）６２において、同一のＰ３２に信号振り分けされるとは限らない。
【００８０】
インタフェースＡに関するあるサービス信号をＰ１が受信し、インタフェースＢに関するあるサービス信号をＰ２が受信する場合とする。この場合、後者のサービス信号を受信した契機で、Ｐ２がクライアント（ＰＣＥＦ）６１に対して、Ｐｕｓｈ型ＴＣＰリクエスト信号を送信したい場合が存在する。
【００８１】
例えば、前述の通り、ＳＰＲ６３において保守者がある加入者についてのポリシー情報を更新した契機でＰＣＲＦ６２がＰＣＥＦ６１に対してその更新したポリシー情報を通知するとする。この場合、ＰＣＥＦ６１−ＰＣＲＦ６２間で確立済みのＴＣＰコネクションを介して、ＰＣＲＦ６２は、ＰＣＥＦ６１へＰｕｓｈ型ＴＣＰリクエスト信号を送信する。
【００８２】
図１１は、本実施形態の実施例における、クライアント（ＰＣＥＦ）−サーバ（ＰＣＲＦ）間で用いられるサービス信号のフォーマットを示す。
【００８３】
Credit-Control-Request（ＣＣＲ）（図１１（Ａ））、Credit-Control-Answer（ＣＣＡ）（図１１（Ｂ））、Re-Auth-Request（ＲＡＲ）（図１１（Ｃ））、Re-Auth-Answer（ＲＡＡ）（図１１（Ｄ））はいずれも、「セッションＩＤ」、「オリジン−ホスト」の項目を含む。「セッションＩＤ」は、クライアント（ＰＣＥＦ）６１−サーバ（ＰＣＲＦ）６２間におけるセッションを識別する情報である。「オリジン−ホスト」は、クライアント情報についての情報である。
【００８４】
ＰＣＥＦ６１からＰＣＲＦ６２への接続開始時に、ＣＣＲまたはＣＣＡのサービス信号処理において、ＴＣＰコネクションが確立する。
【００８５】
なお、Ｄにおける信号振り分け論理において、例えば、Ｄは、ＣＣＲの“セッションＩＤ”をサービス一意なＫｅｙ文字列として抽出し、信号振り分け先のＰ（アプリケーション）を特定する。また、本実施形態において、Ｄによって、ＴＣＰコネクション管理テーブル４１のクライアント情報フィールドにおいて管理される情報は、例えば、ＣＣＲの“Ｏｒｉｇｉｎ−Ｈｏｓｔ”である。
【００８６】
また、ＰＣＲＦ６２からＰＣＥＦ６１へのポリシー情報の更新を伝える場合には、ＲＡＲまたはＲＡＡサービス信号が用いられる。
【００８７】
なお、これまで言及してきたＰｕｓｈ型ＴＣＰリクエスト信号は、例えば、このＲＡＲ信号に相当し、サーバ（Ｐ）からクライアント（Ｃ）方向に送信されるリクエスト信号である。本実施形態において、ＤがＴＣＰコネクション管理テーブル４１のＫｅｙ文字列フィールドで管理する情報は、例えば、ＲＡＲの“セッションＩＤ”のＫｅｙ文字列情報（実装上はハッシュ値としても構わない）である。
【００８８】
図１２は、本実施形態の実施例におけるＴＣＰコネクションパス確立シーケンスの一例を示す。図１３は、図１２のシーケンスの説明にて用いるＴＣＰコネクション管理テーブルである。
【００８９】
Ｄ３３は、Ｃ３５からＢ３４を介してＣＣＲを示すＴＣＰリクエストを受信する（Ｓ１、Ｓ２）。すると、Ｄ３３は、ＣＣＲからＫｅｙ文字列としてセッションＩＤを抽出する（Ｓ３）。また、Ｄ３３は、ＣＣＲからクライアント情報として“Ｏｒｉｇｉｎ−Ｈｏｓｔ”を抽出する。
【００９０】
Ｄ３３は、Ｋｅｙ文字列から信号転送先のＰ３２を決定する（Ｓ４）。例えば、Ｄ３３は、ハッシュ値とＰとが対応付けられた対応情報を有しているとする。Ｄ３３は、ハッシュ関数を用いてＫｅｙ文字列からハッシュ値を生成し、対応情報を用いてその生成したハッシュ値に対応するＰを選択する。
【００９１】
Ｄ３３は、ＴＣＰコネクション管理テーブル４１を参照して、サーバ再開時に、信号転送先Ｐと確立済みのＰ−Ｄ間コネクションプールから、未使用状態のＴＣＰコネクションを選択する（Ｓ５）。
【００９２】
Ｄ３３は、選択した未使用状態のＴＣＰコネクションと、ＣＣＲで用いられたＢ（Ｃ）−Ｄ間ＴＣＰコネクションとの関連付けを行い、ＴＣＰコネクション管理テーブル４１を更新する（Ｓ６）。具体的には、Ｄ３３は、図１３に示すように、ＴＣＰコネクション管理テーブル４１上に、Ｂ（Ｃ）−Ｄ間ＴＣＰコネクションＩＤ及びクライアント情報を登録する。
【００９３】
なお、Ｄ３３は、Ｂ（Ｃ）からのＴＣＰリクエストを受信した場合、図１３に示すように、選択したＰ−Ｄ間コネクションに関するＴＣＰコネクション管理テーブル４１のＫｅｙ文字列フィールドに“−１”を設定する。
【００９４】
Ｄ３３は、選択したＰ−Ｄ間コネクションを用いて、Ｐ３２へＣＣＲ信号を送信する（Ｓ７、Ｓ８）。Ｐ３２は、Ｄ３３からＣＣＲ信号を受信すると、ＣＣＡ信号を返信する（Ｓ９）。
【００９５】
Ｄ３３は、ＴＣＰコネクション管理テーブル４１において、ＣＣＡ信号の受信に用いたＰ−Ｄ間コネクションを、紐付け管理されたＢ−Ｄ間コネクションとして特定する（Ｓ１０）。
【００９６】
Ｄ３３は、Ｂ３４を介してＣ３５へＣＣＡ信号を送信する（Ｓ１２、Ｓ１３）。
図１４Ａ及び図１４Ｂは、本実施形態の実施例におけるＰｕｓｈ型ＴＣＰリクエスト送信シーケンスを示す。図１５は、図１４Ａ及び図１４Ｂのシーケンスの説明にて用いるＴＣＰコネクション管理テーブルである。
【００９７】
Ｐ２（３２）が、ＳＰＲ６３からのポリシー情報更新の契機で、Ｐｕｓｈ型ＴＣＰリクエストをクライアント（Ｃ）３５に対して送信するためには、まずどのＤがＣとの既に確立済みのＴＣＰコネクションを有しているかを特定する必要がある。そのため、クライアント情報（ＩＰアドレス＆ポート番号）を入力として、Ｐ２（３２）は、全てのＤに対して各Ｄが当該クライアントと既に確立済みのＴＣＰコネクションを有しているかを問い合わせる。
【００９８】
具体的には、Ｐ２（３２）は、ＳＰＲ６３から、ポリシー情報を更新した旨の通知（ポリシー情報更新通知）を受信する（Ｓ２１）。Ｐ２（３２）は、受信したポリシー情報更新通知から、クライアント情報を抽出する（Ｓ２２）。
【００９９】
Ｐ２（３２）は、全てのＤ３３にＤ検索信号をマルチキャスト送信することにより、抽出したクライアント情報に基づいて、各Ｄ３３のＴＣＰコネクション管理テーブル４１から、ＴＣＰコネクションが確立済みのＤを検索する（Ｓ２３、Ｓ２４）。
【０１００】
各Ｄ３３は、ＰからＤ検索信号を受信する。すると、Ｄ３３は、Ｄ検索信号に含まれるクライアント情報（ＩＰアドレス＆ポート番号）を用いてＴＣＰコネクション管理テーブル４１（図１５（Ａ））を検索し、Ｄ自身が当該クライアントとの既に確立済みのＴＣＰコネクションを有するかどうかを判定する（Ｓ２５）。
【０１０１】
Ｄ３３は、ＴＣＰコネクション管理テーブル４１（図１５（Ａ））において、Ｄ検索信号の送信元のＰであるＰ２（３２）とのＰ−Ｄ間コネクションプールから空き状態のコネクションを選択する。Ｄ３３は、図１５（Ｂ）に示すように、選択した空き状態のコネクションの使用状態フィールドに、「使用中」状態を設定する（Ｓ２６）。Ｄ３３は、検索結果をＤ検索信号に対する応答信号でＰ２（３２）に返答する（Ｓ２７、Ｓ２８）。
【０１０２】
Ｐ２（３２）は、Ｄ検索信号に対する応答信号を受信すると、クライアントとのＴＣＰコネクションを有するＤを特定して、その特定したＤ経由でＰｕｓｈ型ＴＣＰリクエスト信号を送信する。
【０１０３】
具体的には、Ｐ２（３２）は、Ｄ検索信号に対する応答信号で通知を受けたＤのＩＰアドレス及びポート情報から、Ｐ−Ｄ間コネクションを特定する（Ｓ２９）。Ｐ２（３２）は、ポリシー情報更新通知を示すＰｕｓｈ型ＴＣＰリクエスト信号としてのＲＡＲ信号をＤ３３に対して送信する（Ｓ３０）。
【０１０４】
Ｄ３３は、Ｐ２（３２）からのＰｕｓｈ型ＴＣＰリクエスト信号（Ｌ７信号）を受信する。すると、Ｄ３３は、その受信した信号情報からサービス一意のＫｅｙ文字列情報を抽出する。Ｄ３３は、図１５（Ｃ）に示すように、ＴＣＰコネクション管理テーブル４１に、Ｐ−Ｄ間ＴＣＰコネクションに関するＫｅｙ文字列フィールドに、抽出したＫｅｙ文字列情報を設定する（Ｓ３１，Ｓ３３）。
【０１０５】
また、Ｄ３３は、その信号情報の受信に用いたＰ−Ｄ間ＴＣＰコネクションのＴＣＰコネクションＩＤを用いてＴＣＰコネクション管理テーブルを検索し、関連付けされているＢ（Ｃ）−Ｄ間ＴＣＰコネクションＩＤを特定する（Ｓ３２）。
【０１０６】
Ｄ３３は、信号受信したＰ−Ｄ間コネクションを用いて、ＴＣＰコネクション管理テーブル４１を検索し、関係付けられたＢ−Ｄ間コネクションを特定する（Ｓ３４）。
【０１０７】
Ｄ３３は、Ｓ３４で特定したＢ（Ｃ）−Ｄ間ＴＣＰコネクションを利用してＰｕｓｈ型ＴＣＰリクエスト信号を所望のクライアント（Ｃ）へ送信する（Ｓ３５，Ｓ３６，Ｓ３７）。
【０１０８】
図１６は、本実施形態の実施例におけるＰｕｓｈ型ＴＣＰレスポンス受信シーケンスを示す。図１７は、図１６のシーケンスの説明にて用いるＴＣＰコネクション管理テーブルである。
【０１０９】
Ｄ３３は、クライアント（Ｃ）３５からＰｕｓｈ型ＴＣＰレスポンス信号としてＣＣＲを受信する（Ｓ４１，Ｓ４２）。
【０１１０】
Ｄ３３は、ＣＣＲの受信に用いたＢ（Ｃ）−Ｄ間ＴＣＰコネクションのＴＣＰコネクションＩＤを用いてＴＣＰコネクション管理テーブル４１を検索し、関連付けされている１以上のＰ−Ｄ間ＴＣＰコネクションＩＤを特定する。ここで、もしＰｕｓｈ型ＴＣＰリクエスト信号が複数のＰから特定のクライアント（Ｃ）に対して同時に信号送信されていた場合には、複数のＰ−Ｄ間ＴＣＰコネクションＩＤが抽出される可能性がある。
【０１１１】
Ｄ３３は、受信したＣＣＲから、Ｋｅｙ文字列としてセッションＩＤを抽出する（Ｓ４３）。Ｄ３３は、ＴＣＰコネクション管理テーブル４１から、Ｓ４４で抽出したＰ−Ｄ間ＴＣＰコネクションのうち、同じサービス一意のＫｅｙ文字列情報（“ＸＸＸＸＸ”）を持つ、Ｐ−Ｄ間ＴＣＰコネクションＩＤを特定する（Ｓ４４）。
【０１１２】
Ｄ３３は、特定したＰ−Ｄ間ＴＣＰコネクションを利用してＰｕｓｈ型ＴＣＰレスポンス信号（ＲＡＡ）をＰ２（３２）へ送信する（Ｓ４５、Ｓ４６）。その結果、Ｐｕｓｈ型ＴＣＰリクエスト信号の送信元のＰ２（３２）にレスポンス信号が到達する。
【０１１３】
Ｄ３３は、TCPコネクション管理テーブル４１のKey文字列フィールドから、Ｓ４４で用いたＫｅｙ文字列情報（“ＸＸＸＸＸ”）を削除する（Ｓ４７）。
【０１１４】
Ｄ３３は、ＲＡＡ信号の送信に用いられたＰ−Ｄ間コネクションに対応するＫｅｙ文字列フィールドが空の場合は、使用状態（Ｂ−Ｄ間コネクションＩＤ)、及び、クライアント情報フィールドもクリアする（Ｓ４８）。
【０１１５】
本実施形態によれば、Ｐｕｓｈ型ＴＣＰリクエスト信号を分散制御基盤上のアプリケーションから送信する際に、確立済みのＴＣＰコネクションを利用して送信することが可能である。そのため、Ｎ−Ａｃｔｉｖｅ冗長化構成のアプリケーション（Ｐ）が、Ｐｕｓｈ型ＴＣＰリクエスト信号を送信時に、新規にＴＣＰコネクションを確立する処理コスト（処理負荷、ソフトウェアリソース捕捉）を、Ｐ及びＢにおいて軽減可能である。
【０１１６】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１１７】
上記実施形態に関し、更に以下の付記を開示する。
（付記１）
受け付けた複数の処理要求のそれぞれを振り分ける第１振分部と、
前記第１振分部により振り分けられた前記複数の処理要求のそれぞれをさらに振り分ける複数の第２振分部と、
前記複数の第２振分部のいずれかにより振り分けられた前記複数の処理要求のそれぞれに対する応答を行う複数の処理装置とを含む負荷分散システムにおける通信方法であって、
前記複数の処理装置のうち第１処理装置は、前記複数の第２振分部のうちのいずれかの第２振分部により振り分けられた第１処理要求に応じて、該第１処理装置と該処理要求の要求元との間で第１コネクションを確立し、
前記複数の処理装置のうち第２処理装置は、前記要求元以外からの指示に応じて、確立済みの前記第１コネクションの一部を用いて、前記要求元と通信を行う
ことを特徴とする通信方法。
（付記２）
前記第２処理装置は、前記要求元以外からの指示に応じて、前記第１処理要求を前記第１処理装置へ振り分けた前記第２振分部及び前記第１振分部を介して、確立済みの前記第１コネクションの一部を用いて、前記要求元と通信を行う
ことを特徴とする付記１に記載の通信方法。
（付記３）
前記第２処理装置は、前記要求元以外からの指示から前記要求元を特定する要求元情報を取得し、該要求元情報に基づいて、前記複数の第２振分部に対して、該要求元と確立済みの前記第１コネクションを有するかを問い合わせ、問い合わせの結果に応じて、該要求元と確立済みの前記第１コネクションを有する第２振分部を介して、確立済みの前記第１コネクションの一部を用いて、該要求元と通信を行う
ことを特徴とする付記１に記載の通信方法。
（付記４）
前記複数の第２振分部のそれぞれは、前記第２処理装置からの前記問い合わせに応じて、該要求元と確立済みの前記第１コネクションを有するかを判定し、該確立済みの該第１コネクションを有する場合、該第２振分部自身と前記複数の処理装置のそれぞれとの間の複数の第２コネクションのうち使用されていない第２コネクションを選択し、選択した該第２コネクションと前記確立済みの前記第１コネクションの一部とを関連付ける
ことを特徴とする付記３に記載の通信方法。
（付記５）
前記要求元と確立済みの前記第１コネクションを有する前記第２振分部は、選択された前記第２コネクションを介して前記第２処理装置から前記要求元宛の要求情報を取得し、該要求情報から通信サービスを一意に識別するサービス識別情報を抽出し、抽出した該サービス識別情報を前記選択された第２コネクションを識別する第２コネクション識別情報と関係付けたコネクション管理情報を保持し、該要求情報を該要求元へ送信する
ことを特徴とする付記４に記載の通信方法。
（付記６）
前記複数の第２振分部のそれぞれは、前記第１振分部により振り分けられた通信情報を取得し、該通信情報から前記サービス識別情報を抽出し、前記コネクション管理情報から、抽出した該サービス識別情報と一致する該サービス識別情報を有する第２コネクション識別情報を取得し、取得した該第２コネクション識別情報に対応する第２コネクションを介して、前記通信情報を前記第２処理装置へ送信する
ことを特徴とする付記５に記載の通信方法。
（付記７）
前記複数の第２振分部のそれぞれは、該第２振分部自身と前記複数の処理装置のそれぞれとの間の第２コネクションを識別する第２コネクション識別情報と、該第２コネクションが使用されているかを示す使用状態情報と、該第２コネクションを使用している第３コネクションであって該第２振分部自身と前記第１振分部との間の該第３コネクションを識別する第３コネクション識別情報と、前記第２処理装置と前記要求元との間の通信サービスを一意に識別するサービス識別情報と、前記要求元を特定する要求元特定情報と、が関係付けられたコネクション管理情報を保持する
ことを特徴とする付記１に記載の通信方法。
（付記８）
受け付けた複数の処理要求のそれぞれを振り分ける第１振分部と、
前記第１振分部により振り分けられた前記複数の処理要求のそれぞれをさらに振り分ける複数の第２振分部と、
前記複数の第２振分部のいずれかにより振り分けられた前記複数の処理要求のそれぞれに対する応答を行う複数の処理装置と、
を備え、
前記複数の処理装置のうち第１処理装置は、前記複数の第２振分部のうちのいずれかの第２振分部により振り分けられた第１処理要求に応じて、該第１処理装置と該処理要求の要求元との間で第１コネクションを確立し、
前記複数の処理装置のうち第２処理装置は、前記要求元以外からの指示に応じて、確立済みの前記第１コネクションの一部を用いて、前記要求元と通信を行う
ことを特徴とする負荷分散システム。
（付記９）
前記第２処理装置は、前記要求元以外からの指示に応じて、前記第１処理要求を前記第１処理装置へ振り分けた前記第２振分部及び前記第１振分部を介して、確立済みの前記第１コネクションの一部を用いて、前記要求元と通信を行う
ことを特徴とする付記８に記載の負荷分散システム。
（付記１０）
前記第２処理装置は、前記要求元以外からの指示から前記要求元を特定する要求元情報を取得し、該要求元情報に基づいて、前記複数の第２振分部に対して、該要求元と確立済みの前記第１コネクションを有するかを問い合わせ、問い合わせの結果に応じて、該要求元と確立済みの前記第１コネクションを有する第２振分部を介して、確立済みの前記第１コネクションの一部を用いて、該要求元と通信を行う
ことを特徴とする付記８に記載の負荷分散システム。
（付記１１）
前記複数の第２振分部のそれぞれは、前記第２処理装置からの前記問い合わせに応じて、該要求元と確立済みの前記第１コネクションを有するかを判定し、該確立済みの該第１コネクションを有する場合、該第２振分部自身と前記複数の処理装置のそれぞれとの間の複数の第２コネクションのうち使用されていない第２コネクションを選択し、選択した該第２コネクションと前記確立済みの前記第１コネクションの一部とを関連付ける
ことを特徴とする付記１０に記載の負荷分散システム。
（付記１２）
前記要求元と確立済みの前記第１コネクションを有する前記第２振分部は、選択された前記第２コネクションを介して前記第２処理装置から前記要求元宛の要求情報を取得し、該要求情報から通信サービスを一意に識別するサービス識別情報を抽出し、抽出した該サービス識別情報を前記選択された第２コネクションを識別する第２コネクション識別情報と関係付けたコネクション管理情報を保持し、該要求情報を該要求元へ送信する
ことを特徴とする付記１１に記載の負荷分散システム。
（付記１３）
前記複数の第２振分部のそれぞれは、前記第１振分部により振り分けられた通信情報を取得し、該通信情報から前記サービス識別情報を抽出し、前記コネクション管理情報から、抽出した該サービス識別情報と一致する該サービス識別情報を有する第２コネクション識別情報を取得し、取得した該第２コネクション識別情報に対応する第２コネクションを介して、前記通信情報を前記第２処理装置へ送信する
ことを特徴とする付記１２に記載の負荷分散システム。
（付記１４）
前記複数の第２振分部のそれぞれは、該第２振分部自身と前記複数の処理装置のそれぞれとの間の第２コネクションを識別する第２コネクション識別情報と、該第２コネクションが使用されているかを示す使用状態情報と、該第２コネクションを使用している第３コネクションであって該第２振分部自身と前記第１振分部との間の該第３コネクションを識別する第３コネクション識別情報と、前記第２処理装置と前記要求元との間の通信サービスを一意に識別するサービス識別情報と、前記要求元を特定する要求元特定情報と、が関係付けられたコネクション管理情報を保持する
ことを特徴とする付記８に記載の負荷分散システム。
【符号の説明】
【０１１８】
１      負荷分散システム
２      第１振分部
３（３−１）      第２振分部
４      処理装置
４−１  第１処理装置
４−２  第２処理装置
１１    分散制御システム
１２    プロセッサ（Ｐ，Ｐ１，Ｐ２）
１３    ディスパッチャ（Ｄ）
１４    ロードバランサ（Ｂ）
１５    クライアント（Ｃ）
２１    ＴＣＰコネクション管理テーブル
３１    分散基盤システム
３２    サーバ（Ｐ（Ｐ１、Ｐ２））
３３    ディスパッチャ（Ｄ）
３４    ロードバランサ（Ｂ）
３５    クライアント（Ｃ）
４１    ＴＣＰコネクション管理テーブル
５１    インタフェース装置
５２    ＣＰＵ
５３    メモリ
５４    ディスク
５５    バス
６１    ポリシー実行サーバ（ＰＣＥＦ）
６２    ポリシー制御サーバ（ＰＣＲＦ）
６３    ポリシー情報データベース（ＳＰＲ）
【図１】
2018007183.tif 000003
【図２】
2018007183.tif 000004
【図３】
2018007183.tif 000005
【図４】
2018007183.tif 000006
【図５】
2018007183.tif 000007
【図６】
2018007183.tif 000008
【図７】
2018007183.tif 000009
【図８】
2018007183.tif 000010
【図９】
2018007183.tif 000011
【図１０】
2018007183.tif 000012
【図１１】
2018007183.tif 000013
【図１２】
2018007183.tif 000014
【図１３】
2018007183.tif 000015
【図１４Ａ】
2018007183.tif 000016
【図１４Ｂ】
2018007183.tif 000017
【図１５】
2018007183.tif 000018
【図１６】
2018007183.tif 000019
【図１７】
2018007183.tif 000020