(57)【要約】【課題】複数のサーバから構成される分散を実現するシステムにおいて、ＩＰアドレスの管理を効率化し、構成変更に迅速に対応できるようにする。【解決手段】分散処理システム１は、複数のサーバ４と分散処理制御装置２とを含んで構築されている。分散処理制御装置２は、複数のサーバ４に配備された複数のアプリケーションから識別子情報が一致するアプリケーションを抽出して個別アドレスを割り当てると共に、識別子情報が同じアプリケーションが利用する個別アドレスを特定のアドレスを使用してグループ化する。分散処理制御装置２は、特定のアドレス宛ての処理要求を特定のアドレスと関連付けて登録されたいずれかの個別アドレスに対応するアプリケーションに振分けて送信する。【選択図】図２
2015095012.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、
抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、
前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、１つの特定のアドレスを関連付けて登録し、
前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する、
ことを特徴とする処理振分け方法。
【請求項２】
前記識別子情報は、少なくとも、アプリケーション名または、プログラム名を含み、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする請求項１に記載の分散処理システムの管理方法。
【請求項３】
１つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数の前記アプリケーションに対して１つの前記特定のアドレスを付与することを特徴とする請求項１又は請求項２に記載の処理振分け方法。
【請求項４】
複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、
抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、
前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、１つ特定のアドレスを関連付けて登録し、
前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する処理をコンピュータに実行させることを特徴とする処理振分けプログラム。
【請求項５】
複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出する抽出部と、
抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに対して個別アドレスを割り当てると共に、複数の前記個別アドレスに対して特定のアドレスを割り当てる割り当て部と、
前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する分散処理部と、
を含むことを特徴とする処理振分けシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理振分け方法及び処理振分けプログラム並びに処理振分けシステムに関する。
【背景技術】
【０００２】
分散処理システムでは、端末からの要求に基づいてデータ処理を行うにあたり、端末からの要求を例えば各サーバの負荷状態に応じて振分けて処理を実行している。分散処理システムを構築する場合、サーバ側を通信のあて先、端末側を通信の送信元とし、その間に配置される分散処理制御装置のそれぞれにおいてＩＰ（Internet Protocol）アドレスを
割り当てて通信を制御している。そこで、分散処理システムを構築する各コンピュータの間で正しい通信が行えるように、ＩＰアドレスの定義や、分散に関する定義を作成する必要がある。例えば、従来の分散処理システムでは、仮想的な計算機ノードのＩＰアドレスである仮想ＩＰアドレスと、実ノードのＩＰアドレスである実ＩＰアドレスとを関連付けたＩＰ管理テーブルを作成し、端末からの要求を仮想ＩＰアドレスと関連付けられた複数の実ＩＰアドレスを有するアプリケーションに振分けている。
【０００３】
ここで、分散処理システムのシステム構成に変更が生じた場合、関連する定義を変更する必要がある。この場合、システム管理者は、サーバ上で動作するアプリケーションや、分散管理装置、端末で使用するＩＰアドレスの管理を行い、アプリケーションを追加するときなどには、手動で各装置の定義変更を行っていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２４９９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、分散処理システムでは、分散処理を行わずに、１台の情報処理装置上でアプリケーションが動作する態様も存在し、１つのシステムで実行されるアプリケーションの中に、分散処理を行うアプリケーションと分散処理を行わないアプリケーションとが混在する場合がある。システムを構成する複数の情報処理装置の中で、分散処理を行うアプリケーションと分散処理を行わないアプリケーションとが混在する情報処理装置が存在する場合、当該情報処理装置が取得すべきＩＰアドレスの数は、分散処理を行うアプリケーションの数により変動する。
【０００６】
ここで、各情報処理装置で動作するアプリケーションの数については、管理情報から取得可能である。その一方で、分散処理を行うアプリケーションの数は、分散管理装置側では一元的に管理されていない。このために、分散処理を行うアプリケーションの数が不明な状態で、分散管理装置が全てのアプリケーションが利用可能になるように個別のＩＰアドレスを１つずつ割り当てると、アプリケーションの数の増加とともに、使用するＩＰアドレスの数が増加する。その結果、アプリケーションの増加により、分散処理システムが使用可能なＩＰアドレスが枯渇する可能性がある。また、分散処理システムにおいては、分散処理を行う情報処理装置の数が運用中に増減することが考えられる。このようにシステム構成が変更された場合でも、ＩＰアドレスの枯渇を防止し、必要なＩＰアドレスを各情報処理装置に割り当てることが必要になる。
１つの側面では、本発明は、複数の情報処理装置を用いて分散処理を実現するシステムにおいて、各情報処理装置に割り当てるアドレスの管理を適切に行うことを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の一観点によれば、複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、１つの特定のアドレスを関連付けて登録し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する、ことを特徴とする処理振分け方法が提供される。
【０００８】
また、実施形態の一観点によれば、複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、１つ特定のアドレスを関連付けて登録し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する処理をコンピュータに実行させることを特徴とする処理振分けプログラムが提供される。
【０００９】
さらに、実施形態の一観点によれば、複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出する抽出部と、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに対して個別アドレスを割り当てると共に、複数の前記個別アドレスに対して特定のアドレスを割り当てる割り当て部と、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する分散処理部と、を含むことを特徴とする処理振分けシステムが提供される。
【発明の効果】
【００１０】
情報処理装置に対して割り当てるアドレスの管理を適切に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の第１の実施の形態に係る分散処理システムのシステム構成の一例を示すブロック図である。
【図２】図２は、本発明の第１の実施の形態に係る分散処理のシステム構成の一例を模式的に示す図である。
【図３】図３は、本発明の第１の実施の形態に係る分散処理システムの処理の一例を示すフローチャートである。
【図４】図４は、本発明の第１の実施の形態に係る分散処理システムのＩＰアドレス登録処理の一例を示すフローチャートである。
【図５】図５は、本発明の第１の実施の形態に係る分散処理システムのＩＰプールの構成の一例を示す図である。
【図６】図６は、本発明の第１の実施の形態に係る分散処理システムのサーバ登録処理の一例を示すフローチャートである。
【図７】図７は、本発明の第１の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。
【図８】図８は、本発明の第１の実施の形態に係る分散処理システムのサーバの情報取得処理の一例を示すフローチャートである。
【図９】図９は、本発明の第１の実施の形態に係る分散処理システムのサーバの情報取得処理の一例を模式的に示す図である。
【図１０】図１０は、本発明の第１の実施の形態に係る分散処理システムのＩＰアドレスの割り当て処理の一例を示すフローチャートである。
【図１１】図１１は、本発明の第１の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。
【図１２】図１２は、本発明の第１の実施の形態に係る分散処理システムのＩＰ関係テーブルの構成の一例を示す図である。
【図１３】図１３は、本発明の第１の実施の形態に係る分散処理システムの定義作成及び配信処理の一例を示すフローチャートである。
【図１４】図１４は、本発明の第１の実施の形態に係る分散処理システムのサーバ定義情報の構成の一例を示す図である。
【図１５】図１５は、本発明の第１の実施の形態に係る分散処理システムのシステム構成変更時のサーバの情報取得処理の一例を示すフローチャートである。
【図１６Ａ】図１６Ａは、本発明の第１の実施の形態に係る分散処理システムのサーバ定義情報の構成の一例を示す図である。
【図１６Ｂ】図１６Ｂは、本発明の第１の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。
【図１７】図１７は、本発明の第１の実施の形態に係る分散処理システムのシステム構成変更時のＩＰアドレス割り当て処理の一例を示すフローチャートである。
【図１８Ａ】図１８Ａは、本発明の第１の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。
【図１８Ｂ】図１８Ｂは、本発明の第１の実施の形態に係る分散処理システムのＩＰ関係テーブルの構成の一例を示す図である。
【図１９】図１９は、本発明の第１の実施の形態に係る分散処理システムのシステム構成変更時の更新時の定義作成及び配信処理の一例を示すフローチャートである。
【図２０Ａ】図２０Ａは、本発明の第１の実施の形態に係る分散処理システムのサーバ定義情報の構成の一例を示す図である。
【図２０Ｂ】図２０Ｂは、本発明の第１の実施の形態に係る分散処理のシステム構成を一例を模式的に示す図である。
【図２１】図２１は、本発明の第２の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせの一例を示す図である。
【図２２】図２２は、本発明の第２の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせと、分散対象の判定結果の一例を示す図である。
【図２３】図２３は、本発明の第２の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせと、分散対象の判定結果の具体例を示す図である。
【図２４】図２４は、本発明の第２の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせと、分散対象の判定結果の具体例を示す図である。
【図２５】図２５は、本発明の第２の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。
【図２６Ａ】図２６Ａは、本発明の第２の実施の形態に係る分散処理システムのＩＰアドレス割り当て処理の一例を示すフローチャートである。（その１）
【図２６Ｂ】図２６Ｂは、本発明の第２の実施の形態に係る分散処理システムのＩＰアドレス割り当て処理の一例を示すフローチャートである。（その２）
【図２６Ｃ】図２６Ｃは、本発明の第２の実施の形態に係る分散処理システムのＩＰアドレス割り当て処理の一例を示すフローチャートである。（その３）
【図２７Ａ】図２７Ａは、本発明の第２の実施の形態に係る分散処理システムの同一アプリケーションの有無の判定処理の一例を示すフローチャートである。（その１）
【図２７Ｂ】図２７Ｂは、本発明の第２の実施の形態に係る分散処理システムの同一アプリケーションの有無の判定処理の一例を示すフローチャートである。（その２）
【図２８】図２８は、本発明の第２の実施の形態に係る分散処理システムのＩＰアドレスの割り当て処理の一例を示すフローチャートである。
【図２９】図２９は、本発明の第２の実施の形態に係る分散処理システムの仮想ＩＰ管理テーブルの構成の一例を示す図である。
【図３０】図３０は、本発明の第２の実施の形態に係る分散処理のシステム構成の一例を模式的に示す図である。
【発明を実施するための形態】
【００１２】
発明の目的及び利点は、請求の範囲に具体的に記載された構成要素及び組み合わせによって実現され達成される。
前述の一般的な説明及び以下の詳細な説明は、典型例及び説明のためのものであって、本発明を限定するためのものではない。
【００１３】
（第１の実施の形態）
第１の実施の形態について図面を参照して詳細に説明する。
図１に示すように、分散処理システム１（処理振分けシステム）は、分散処理制御装置２と、分散処理制御装置２に接続された複数のサーバ４（情報処理装置）と、分散処理制御装置２を介してサーバ４に処理を要求する端末５と、を含んで構成されている。
【００１４】
分散処理制御装置２は、ＣＰＵ（Central Processing Unit）を有する制御部１１と、ＲＡＭ（Random Access Memory）などのメモリ１２と、サーバ４や端末５と通信を行う通信制御装置１３と、キーボードなどの入力装置１４と、モニタなどの出力装置１５と、ＨＤＤ（Hard disk drive）などの記憶装置１６とがバス接続されたコンピュータである。
【００１５】
サーバ４は、少なくとも１つのアプリケーションを実行可能なコンピュータであり、アプリケーションの追加や削除に応じて変化する定義を分散処理制御装置２から受け取り、更新する定義反映部４Ａを有する。
また、端末５は、ユーザが操作し、サーバ４に対して処理要求などを行うコンピュータである。
【００１６】
次に、図２を参照して分散処理のシステム構成を模式的に示す。
分散処理制御装置２は、通信制御領域２１と、分散制御領域２２とに機能分割される。
通信制御領域２１は、予め定められた接続規格に則って通信を行い、各サーバ４と各端末５との間の通信を制御する処理を制御する。例えば、通信制御領域２１では、通信定義７８によって、端末５側で使用されるアプリケーション名と、サーバ４毎に割り当てられたＩＰアドレスの対応が図られる。
【００１７】
ここで、通信制御領域２１で使用されるＩＰアドレス、例えば「ＩＰ１０１」は、各サーバ４にインストールされているアプリケーション、例えば、「ａｐｌ１」などを代表するアドレスとして仮想的に割り当てられたもので、以下においては仮想ＩＰアドレス（特定のアドレス）という。また、「ａｐｌ１ｇ」は、例えば、分散処理システム１で共通して使用されるアプリケーションの名称である。ユーザは、端末５から「ａｐｌ１ｇ」などのアプリケーションの名称を特定し、分散処理制御装置２に対して処理を要求する。これに対して、通信制御領域２１では、通信定義７８に則って、アプリケーション名を仮想ＩＰアドレスに変換する。
【００１８】
分散制御領域２２は、端末５からの要求を各サーバ４に振分ける処理を制御する。分散制御領域２２では、分散定義情報７７によって、仮想ＩＰアドレスと、実ＩＰアドレス（個別アドレス、以下単にＩＰアドレスという）とを関連付ける。分散制御領域２２では、通信制御領域２１においてアプリケーション名に対応する仮想ＩＰアドレスをサーバ４毎に割り当てられたＩＰアドレスに変換することによって、端末５からの要求をサーバ４に伝送する。また、サーバ４からのレスポンスを通信制御領域２１を通して端末５に伝送する。
【００１９】
ここで、分散制御領域２２では、ユーザ側の１つの処理要求に対して分散処理が可能な複数のアプリケーションに対応付けられた複数のＩＰアドレスを１つの仮想ＩＰアドレスに関連付けて管理している。そして、各サーバ４の負荷状態が略均一になるように、端末５と通信するサーバ４のＩＰアドレスを選択する。
【００２０】
また、図１に示すように、分散処理制御装置２の制御部１１は、分散制御システム１のプログラム（処理振分けプログラム）を実行させることによって、抽出部３１と、割り当て部３２と、対応データ作成部３３と、定義反映部３４と、分散処理部３５とに機能分割される。
抽出部３１は、アプリケーションに付与されたアプリケーション名などの識別子情報を用いて、分散対象のアプリケーションと、分散対象でない特定振分け対象のアプリケーションとを分別する。
割り当て部３２は、複数のサーバ４や分散処理制御装置２に対してＩＰアドレスを割り当てる。ＩＰアドレスには、実ＩＰアドレスと仮想ＩＰアドレスが含まれる。
対応データ作成部３３は、実ＩＰアドレスと仮想ＩＰアドレスを関連付けるデータを作成する。
定義反映部３４は、各サーバ４や通信制御領域２１、分散制御領域２２で使用する各種定義を作成し、必要に応じて各種定義を更新し、各制御領域２１，２２やサーバ４に反映させる。
分散処理部３５は、分散制御領域２２の処理によって、各サーバ４における処理の負荷が均等化されるように、端末５からの要求を分散する分散処理を制御する。
【００２１】
次に、分散処理システム１における処理について説明する。
最初に、図３に、初期設定として実行される処理の概略を示す。まず、ステップＳ００１で初期定義を作成する。以降は、ステップＳ００２でＩＰアドレス登録処理を実行し、ステップＳ００３でサーバ登録処理をする。さらに、ステップＳ００４で対応データ作成部３３がサーバ情報取得処理を実行し、ステップＳ００５で抽出部３１及び割り当て部３２がＩＰアドレス割り当て処理を行う。さらに、ステップＳ００６では、定義反映部３４が定義作成及び配信処理を実行する。
【００２２】
ステップＳ００１の初期定義の作成では、システム管理者が、サーバ４毎にアプリケーションを登録する。ここで登録される情報は、例えば、サーバ名と、アプリケーションを特定する情報（識別子情報）とがある。識別子情報には、アプリケーション名として使用される「アプリ名」と、複数のサーバ４で共通して使用されるアプリケーションの名前として登録される「ＧＰＮＡＭＥ」とがある。
【００２３】
続いて、ステップＳ００２のＩＰアドレス登録処理の詳細について、図４のフローチャートを参照して説明する。ＩＰアドレスの登録処理は、構築するシステム内で利用可能なＩＰアドレスの情報を登録する処理である。
最初に、ステップＳ１０１で、システム管理者が、入力情報としてＩＰアドレスの使用用途を特定するＩＰ用途と、ＩＰアドレスを入力する。これに基づいて、ステップＳ１０２で、対応データ作成部３３がＩＰ用途とＩＰアドレスを関連付けたＩＰプールを作成する。
【００２４】
ここで、図５にＩＰプールの一例を示す。ＩＰプール４１は、ＩＰ用途情報４２と、サーバ名情報４３と、ＩＰアドレス情報４４とが関連付けられた構成を有する。ＩＰ用途情報４２は、ＩＰアドレスを使用する用途を示す。ＩＰ用途には、例えば、サーバ４に割り当てられるＩＰアドレスとして使用することを示す「サーバ用」と、仮想ＩＰアドレスとして使用することを示す「仮想ＩＰ用」とがある。また、サーバ名情報４３には、サーバ４をユニークに特定する情報、例えば、サーバ名が割り当てられる。このＩＰプール４１では、３つのサーバ４を用いてシステムを構築する例が示されており、各サーバ４には１つずつ「ＧＳ１」、「ＧＳ２」、「ＧＳ３」のサーバ名が割り当てられている。さらに、ＩＰアドレス情報４４は、例えば、ＩＰ１１からＩＰ１９、ＩＰ２１〜ＩＰ２９などのＩＰアドレスが割り当てられる。ここで、ＩＰプール４１の一行目のデータは、ＩＰ用途がサーバ用で、具体的にはＧＳ１と名づけられたサーバ４に対して、ＩＰ１１〜ＩＰ１９が割り当てられることが定義されている。即ち、ＩＰプール４１によれば、サーバ名「ＧＳ１」のサーバ４では、アプリケーション毎に処理を振分けるために使用するＩＰアドレスとして、「ＩＰ１１〜ＩＰ１９」を割り当てることができる。
【００２５】
次に、ステップＳ００３のサーバ登録処理の詳細について、図６のフローチャートを参照して説明する。ここでは、管理対象となるサーバ４毎に、関連する情報を登録する。
ステップＳ２０１で、１つ目のサーバ４のサーバ名「ＧＳ１」と、サーバ管理ＩＰアドレス「ＩＰ０１」を入力する。続くステップＳ２０２で、２つ目のサーバ４のサーバ名「ＧＳ２」と、サーバ管理ＩＰアドレス「ＩＰ０２」を入力する。さらに、ステップＳ２０３で、３つ目のサーバ４のサーバ名「ＧＳ３」と、サーバ管理ＩＰアドレス「ＩＰ０３」を入力する。ここまでの処理は、サーバ４の数に応じて実行される。サーバ数が２の場合には、２つのステップが実行される。サーバ数が４つ以上のときは、同様の処理が４つ以上実行される。
【００２６】
この後、ステップＳ２０４からステップＳ２０６のループ処理によって、サーバ４の数だけ、サーバ管理テーブルを作成する。サーバ管理テーブルは、サーバ４の情報を管理するために使用される。ここで、図７にサーバ管理テーブルの一例を示す。サーバ管理テーブル５１（５１Ａ〜５１Ｃ）は、サーバ４毎に作成され、共通ヘッダ５２と、サーバ名情報５３と、サーバ管理ＩＰ情報５４と、アプリ数情報５５と、アプリ情報５６とを有する。例えば、１つ目のサーバ管理テーブル５１Ａのサーバ名情報５３には、サーバ名「ＧＳ１」が格納される。サーバ管理ＩＰ情報５４には、サーバ管理ＩＰ「ＩＰ０１」が格納される。即ち、１つ目のサーバ管理テーブル５１Ａは、サーバ名「ＧＳ１」のサーバ４を管理するために作成され、このサーバ４を特定するＩＰアドレスとして「ＩＰ０１」が割り当てられたことがわかる。なお、これらの情報は、図６のステップＳ２０１で、サーバ管理者によって入力された情報である。
【００２７】
次に、ステップＳ００４のサーバの情報取得処理の詳細について図８のフローチャートを参照して説明する。この処理では、管理対象として登録されたサーバ４から、アプリケーションの情報を取得する。具体的には、サーバ管理テーブル５１内のアプリ数情報５５及びアプリ情報５６にデータを格納する。
【００２８】
ステップＳ３０１からの処理で、先頭のサーバ管理テーブル５１から１つずつデータ更新を行う。具体的には、ステップＳ３０２で、対応データ作成部３３が、対象となるサーバ４にネットワーク接続、例えばＴｅｌｎｅｔ接続する。そして、ステップＳ３０３で、対象となるサーバ４からアプリケーションの情報（アプリ定義情報）を取得し、続くステップＳ３０５で対応データ作成部３３がサーバ管理テーブル５１の情報を更新する。この後、ステップＳ３０６でネットワーク接続を切断する。以降は、全てのサーバ管理テーブル５１の更新が終了するまで、前記の処理を繰り返す。
【００２９】
ここで、図９にサーバの情報取得処理の具体例を模式的に示す。サーバ定義情報６１Ａ，６１Ｂ，６１Ｃは、各サーバ４が保有するもので、アプリ定義情報を有する。サーバ定義情報６１Ａ，６１Ｂ，６１Ｃは、ステップＳ００１の初期定義で作成されたデータであり、アプリ名とＧＰＮＡＭＥが関連付けられたデータがアプリケーションの数だけ配列されたリストである。ここで、サーバ定義情報６１Ａ〜６１Ｃは、サーバ４毎に作成されている。例えば、サーバ定義情報６１Ａは、サーバ名「ＧＳ１」のサーバ４のアプリケーションに関する定義である。サーバ定義情報６１Ａの１行目のデータでは、アプリ名「ａｐｌ１」と、ＧＰＮＡＭＥ「ａｐｌ１ｇ」とが関連付けられており、このアプリ名及びＧＰＮＡＭＥを有するアプリケーションがサーバ名「ＧＳ１」のサーバ４にインストールされていることがわかる。
【００３０】
そして、サーバ定義情報６１Ａ〜６１Ｃを参照することによって、分散処理制御装置２が管理するサーバ管理テーブル５１のアプリ数情報５５と、アプリ情報５６の名称情報５７Ａ及びＧＰＮＡＭＥ情報５７Ｂのそれぞれにデータが格納される。例えば、１つ目のサーバ管理テーブル５１Ａは、アプリ数情報５５に「２」が格納される。これは、対応するサーバ定義情報６１Ａのリストが２行で、２つのアプリケーションが定義されているためである。
【００３１】
これに伴って、サーバ管理テーブル５１Ａの１つ目のアプリ情報５６Ａの名称情報５７Ａには、アプリ名「ａｐｌ１」が格納される。ＧＰＮＡＭＥ情報５７Ｂには、ＧＰＮＡＭＥ「ａｐｌ１ｇ」が格納される。また、２つ目のアプリ情報５６Ｂの名称情報５７Ａには、アプリ名「ａｐｌ２」が格納される。ＧＰＮＡＭＥ情報５７Ｂには、ＧＰＮＡＭＥ「ａｐｌ２ｇ」が格納される。このサーバ管理テーブル５１Ａでは、アプリ数が「２」なので２つのアプリ情報５６Ａ，５６Ｂが作成される。ここで、２つ目のサーバ管理テーブル５１Ｂは、アプリ数が「３」なので、３つのアプリ情報５６Ａ，５６Ｂ，５６Ｃが作成される。
【００３２】
次に、ステップＳ００５のＩＰアドレスの割り当て処理の詳細について、図１０のフローチャートを参照して説明する。この処理では、サーバ４毎にＩＰアドレス及び仮想ＩＰアドレスが割り当てられる。
最初に、ステップＳ４０１で、先頭のサーバ管理テーブル５１Ａから１つずつデータ更新を行う。具体的には、ステップＳ４０３で、割り当て部３２が、ＩＰプール４１からアプリケーション用のＩＰアドレスを取得する。続いて、ステップＳ４０４でサーバ管理テーブル５１Ａにアプリケーション毎のＩＰアドレスを設定する。
【００３３】
ここで、ステップＳ４０５で、ＧＰＮＡＭＥ情報５７Ｂに対応する仮想ＩＰアドレスが割り当て済みであれば、ステップＳ４０７に進んで、次のサーバ管理テーブル５２Ｂの処理を実行する。一方、ステップＳ４０５で、ＧＰＮＡＭＥ情報５７Ｂに対応する仮想ＩＰアドレスが割り当て済みでなければ、ステップＳ４０６に進み、ＩＰプール４１から仮想ＩＰアドレス用のＩＰアドレスを取得する。このとき、割り当て部３２は、ＧＰＮＡＭＥ情報５７Ｂが一致するアプリケーションに対しては、同じ仮想ＩＰアドレスを割り当てる。ＧＰＮＡＭＥ情報５７Ｂが一致するか否かは、抽出部３１によって判定される。この後、ステップＳ４０７に進む。
【００３４】
そして、全てのサーバ管理テーブル５１Ａ〜５１ＣにおいてＩＰアドレスの割り当てが終了したら、ステップＳ４０８に進み、割り当て部３２がＩＰ関係テーブルを作成する。ＩＰ関係テーブルは、アプリケーション毎及びサーバ４毎にＩＰアドレスを管理するために作成される。
【００３５】
ここで、図１１に一例を示すように、例えば、１つ目のサーバ管理テーブル５１Ａでは、１つ目のアプリ情報５６ＡのＩＰアドレス情報５７ＣにＩＰアドレス「ＩＰ１１」が格納される。２つ目のアプリ情報５６ＢのＩＰアドレス情報５７ＣにＩＰアドレス「ＩＰ１２」が格納される。
【００３６】
また、図１２に示すように、ＩＰ関係テーブル７１は、アプリケーション名（アプリ名）の情報７２と、サーバ名の情報７３とに対して、ＩＰアドレスを配列した構成を有し、さらに仮想ＩＰ情報７４が付加されることによって、ＩＰアドレスがアプリケーション毎及びサーバ４毎に仮想ＩＰアドレスと関連付けられる。
【００３７】
例えば、ＩＰ関係テーブル７１の１行目のデータは、アプリ名「ａｐｌ１」のアプリケーションが、サーバ名「ＧＳ１」及びサーバ名「ＧＳ２」のサーバ４にインストールされており、サーバ名「ＧＳ１」のサーバ４では、ＩＰアドレス「ＩＰ１１」が割り当てられていることが示されている。また、サーバ名「ＧＳ２」のサーバ４では、ＩＰアドレス「ＩＰ２１」が割り当てられていることが示されている。
【００３８】
さらに、アプリ名「ａｐｌ１」に対しては、仮想ＩＰアドレス「ＩＰ１０１」も割り当てられている。即ち、仮想ＩＰアドレス「ＩＰ１０１」によってグループ化されるアプリケーションは、アプリ名「ａｐｌ１」として登録されたものであり、かつサーバ名「ＧＳ１」と「ＧＳ２」のサーバ４のそれぞれで実行可能であることがわかる。
【００３９】
これは、図１１に示す１つ目のサーバ管理テーブル５１Ａの１つ目のアプリ情報５６ＡのＧＰＮＡＭＥが「ａｐｌ１ｇ」であり、２つ目のサーバ管理テーブル５１Ｂの１つ目のアプリ情報５６ＡのＧＰＮＡＭＥが「ａｐｌ１ｇ」で、２つのアプリケーションが同じＧＰＮＡＭＥを持っているためである。
【００４０】
また、例えば、２つ目のアプリケーション「ａｐｌ２」は、３つのサーバ４上では順番にＩＰ１２、ＩＰ２２、ＩＰ３１が割り当てられており、分散処理制御装置２上では仮想ＩＰ１０２が割り当てられている。即ち、仮想ＩＰアドレス「ＩＰ１０２」によって代表されるアプリケーションは、アプリ名が「ａｐｌ２」であり、３つのサーバ４のそれぞれで実行可能であることがわかる。
【００４１】
これは、図１１に示す１つ目のサーバ管理テーブル５１Ａの２つ目のアプリ情報５６ＢのＧＰＮＡＭＥと、２つ目のサーバ管理テーブル５１Ｂの２つ目のアプリ情報５６ＢのＧＰＮＡＭＥと、３つ目のサーバ管理テーブル５１Ｃの１つ目のアプリ情報５６ＢのＧＰＮＡＭＥとが、共に「ａｐｌ２ｇ」で一致しているためである。
【００４２】
次に、ステップＳ００６の定義作成及び配信処理の詳細について図１３のフローチャートを参照して説明する。この処理では、サーバ管理テーブル５１及びＩＰ関係テーブル７１を参照し、図９に示すようなサーバ定義情報６１Ａ〜６１Ｃや、図２に示すような分散処理制御装置２におけるＩＰアドレスの割り当てを定める分散処理定義情報７７及び通信定義情報７８を作成し、関連するコンピュータに配信する。
【００４３】
最初に、ステップＳ５０１で、ＩＰ関係テーブル７１から、定義反映部３４が、分散処理制御装置２の記憶装置１６に保存されているサーバ定義情報６１Ａ〜６１Ｃと、分散処理定義情報７７及び通信定義情報７８を更新する。
続いて、ステップＳ５０２で先頭のサーバ管理テーブル５１Ａから１つずつデータ更新を行う。具体的には、ステップＳ５０４で、定義反映部３４が対象となるサーバ４にネットワーク接続、例えばＴｅｌｎｅｔ接続する。そして、ステップＳ５０５で、定義反映部３４がサーバ定義情報６１Ａ〜６１Ｃの内容を送信し、対応するサーバ４の定義反映部４Ａがサーバ定義情報６１Ａ〜６１Ｃの内容を反映させる。この後、ステップＳ５０６でネットワーク接続を切断する。以降は、全てのサーバ定義情報６１Ａ〜６１Ｃを対応するサーバ４に配信するまで、前記の処理を繰り返す。全てのサーバ定義情報６１Ａ〜６１Ｃを対応するサーバ４に配信したら、ステップＳ５０９に進んで分散定義情報７７を分散処理制御装置２の分散制御領域２２に反映させる。続くステップＳ５１１では、通信定義情報７８を分散処理制御装置２の通信制御領域２１に反映させる。
【００４４】
例えば、図１４に示すように、定義反映部３４は、サーバ定義情報６１Ａ〜６１Ｃとして、アプリケーションの定義を行うアプリ定義情報７５Ａ、７５Ｂ、７５Ｃに加えて、ＩＰアドレスを定義するＩＰ定義情報７６Ａ、７６Ｂ、７６Ｃを作成する。アプリ定義情報７５Ａ〜７５Ｃは、ステップＳ００１で作成された情報と同様である。また、ＩＰ定義情報７６Ａ〜７６Ｃは、ＩＰアドレスを配列したリストである。
【００４５】
また、図２にイメージを模式的に示すように、サーバ定義情報６１Ａ〜６１Ｃによって、各サーバ４において各アプリケーションとＩＰアドレスの関連付けが行われる。また、分散定義情報７７によって、分散処理制御装置２の分散制御領域２２においてサーバ４毎に割り当てられたＩＰアドレスと、仮想ＩＰアドレスの関連付けが行われる。さらに、通信定義情報７８によって、分散処理制御装置２の通信制御領域２１において仮想ＩＰアドレスとアプリケーション名との関連付けが行われる。
【００４６】
以上の処理によって、端末５からアクセス可能なアプリケーションを登録し、かつ分散処理が可能になるようにＩＰアドレスの割り当てと、関連付けが行われる。例えば、ユーザが端末５からアプリケーション名「ａｐｌ１ｇ」に特定して処理の要求を行った場合、分散処理制御装置２の分散処理部３５は、通信制御領域２１でＧＰＮＡＭＥ名「ａｐｌ１ｇ」に関連付けられた仮想ＩＰアドレス「ＩＰ１０１」を取得する。これに伴って、分散制御領域２２では、仮想ＩＰアドレス「ＩＰ１０１」に関連付けられたアプリケーションのＩＰアドレス「ＩＰ１１」、「ＩＰ２１」を取得する。そして、分散処理部３５は、２つのＩＰアドレス「ＩＰ１１」、「ＩＰ２１」における負荷が分散されるように、いずれかのＩＰアドレス「ＩＰ１１」、「ＩＰ２１」を選択する。例えば、ＩＰアドレス「ＩＰ１１」が選択された場合には、対応するサーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ１」のアプリケーションが、ユーザの要求に応じて処理を行う。
【００４７】
ここで、分散処理システム１を運営しているときに、システム構成を変更する必要が生じることがある。システム構成の変更は、例えば、新規アプリケーションの追加や、既存のアプリケーションの追加、アプリケーションの削除、サーバ４の追加、サーバ４の削除がある。これらの場合には、前記の各処理と同様の処理を行うことによって、システム構成の変更を反映させることによって、分散制御を継続させる。
【００４８】
以下、システム構成の変更時の処理の一例として、新規のアプリケーションを追加する場合を例にして説明する。この場合には、図３のステップＳ００４のサーバの情報取得処理と、ステップＳ００５のＩＰアドレス割り当て処理、ステップＳ００６で定義作成及び配信処理が実行される。
【００４９】
図１５を参照してシステム構成変更時のサーバの情報取得処理について説明する。まず、ステップ３０１で、先頭のサーバ管理テーブル５１から１つずつデータ更新を行う。具体的には、ステップＳ３０２で、対応データ作成部３３が、対象となるサーバ４にネットワーク接続する。そして、ステップＳ３０３で、対象となるサーバ４のサーバ定義情報６１Ａ〜６１Ｃのアプリ定義情報７５Ａ〜７５Ｃを取得する。サーバ定義情報６１Ａ〜６１Ｃのアプリ定義情報７５Ａ〜７５Ｃは、新規のアプリケーションを追加したときに、システム管理者によって更新されているので、ステップＳ３０４でアプリ定義情報７５Ａ〜７５Ｃに変更があれば、ステップＳ３０５に進んで、サーバ管理テーブル５１の情報を更新する。アプリ定義情報７５Ａ〜７５Ｃに変更がなければ、ステップＳ３０６に進み、ネットワーク接続を切断する。以降は、全てのサーバ管理テーブル５１の更新が終了するまで、前記の処理を繰り返す。
【００５０】
一例を示すと、図１６Ａのサーバ名「ＧＳ１」のサーバ４のサーバ定義情報６１Ａのアプリ定義情報７５Ａの３行目に、アプリ名「ＡＰＬ４」で定義されるアプリケーションが新規に追加されている。ここで、「ＡＰＬ４」は、ＧＰＮＡＭＥが「ＡＰＬ４Ｇ」であることが定義されている。
これに伴い、図１６Ｂに示すように、対応するサーバ管理テーブル５１Ａのアプリ数情報５５が「２」から「３」に変更になる。さらに、アプリ情報５６に３つ目のアプリ情報５６Ｃが追加され、３つ目のアプリ情報５６Ｃの名称情報５７Ａに「ａｐｌ４」が格納され、ＧＰＮＡＭＥ情報５７Ｂに「ａｐｌ４ｇ」が格納される。
【００５１】
同様に、図１６Ａのサーバ名「ＧＳ３」のサーバ４のサーバ定義情報６１Ｃのアプリ定義情報７５Ｃにアプリ名「ＡＰＬ４」で定義されるアプリケーションが新規に追加されている。このために、図１６Ｂに示すように、対応するサーバ管理テーブル５１Ａのアプリ数情報５５と、アプリ情報５６のデータが前記と同様に更新される。なお、サーバ名「ＧＳ２」のサーバ４のサーバ定義情報６１Ｂには変更がないので、対応するサーバ管理テーブル５１Ｂは更新されない。
【００５２】
続いて、図１７を参照して、システム構成変更時のＩＰ割り当て処理について説明する。まず、ステップＳ４０１で、先頭のサーバ管理テーブル５１Ａから１つずつデータ更新を行う。具体的には、ステップＳ４０２で、割り当て部３２は、分散処理を行うために使用するＩＰアドレスが既にアプリケーションに割り当てられているか調べる。ＩＰアドレスが割り当て済であれば、ステップＳ４０５に進む。一方、ＩＰアドレスが割り当て済でなければ、ステップＳ４０３に進み、ＩＰプール４１からアプリケーション用のＩＰアドレスを取得する。続いて、サーバ管理テーブル５１にアプリケーション毎のＩＰアドレスを設定する。以降の処理は、前記と同様である。
【００５３】
前記の例では、図１８Ａに示すように、１つ目のサーバ管理テーブル５１Ａの３つ目のアプリ情報５６ＣのＩＰアドレス情報５７ＣにＩＰアドレス「ＩＰ１３」が格納される。同様に、３つ目のサーバ管理テーブル５１Ｃの３つ目のアプリ情報５６ＣのＩＰアドレス情報５７ＣにＩＰアドレス「ＩＰ３３」が格納される。これに対して、２つ目のサーバ管理テーブル５１Ｂは、更新されない。
【００５４】
さらに、これに対応して、図１８Ｂに示すように、ＩＰ関係テーブル７１にアプリケーション名の情報７２として、「ａｐｌ４」が追加され、対応するサーバ名の情報７３に、「ＩＰ１３」、「ＩＰ３３」が格納される。また、仮想ＩＰ情報７４に、「ＩＰ１３」及び「ＩＰ３３」に対応する仮想ＩＰアドレスとして「ＩＰ１０４」が格納される。
【００５５】
次に、図１９を参照して、システム構成変更時の更新時の定義作成及び配信処理について説明する。最初に、ステップＳ５０１で、定義反映部３４が、ＩＰ関係テーブル７１から、サーバ定義情報６１Ａ〜６１Ｃと、分散定義情報７７と、通信定義情報７８とを作成する。
続いて、ステップＳ５０２で先頭のサーバ管理テーブル５１Ａから１つずつデータ更新を行う。具体的には、ステップＳ５０３で、定義の変更があった場合に、ステップＳ５０４に進む。一方、定義の変更がない場合には、ステップＳ５０７に進んで次のサーバ管理テーブル５１の処理を行う。
【００５６】
全てのサーバ管理テーブル５１の情報をサーバ４に配信したら、ステップＳ５０８で定義の変更があった場合のみ、ステップＳ５０９に進んで分散処理制御装置２に分散定義情報７７を反映させる。さらに、ステップＳ５１０で定義の変更があった場合のみ、ステップＳ５１１に進んで分散処理制御装置２に通信定義情報７８を反映させる。
【００５７】
例えば、図２０Ａに示すように、１つ目のサーバ定義情報６１Ａと、３つ目のサーバ定義情報６１Ｃに変更があり、２つ目のサーバ定義情報６１Ｂには変更がなかった場合、ＩＰ定義情報７６Ａと、ＩＰ定義情報７６Ｃが対応するサーバ４に配信される。各ＩＰ定義情報７６Ａ，７６Ｃは、ＩＰアドレス「ＩＰ１３」や「ＩＰ３３」がリストに追加されている。
【００５８】
また、図２０Ｂにイメージを模式的に示すように、サーバ定義情報６１Ａ〜６１Ｃによって、サーバ名「ＧＳ１」のサーバ４において、「ａｐｌ４」と「ＩＰ１３」の関連付けが行われる。また、サーバ名「ＧＳ３」のサーバ４において、「ａｐｌ４」と「ＩＰ３３」の関連付けが行われる。
さらに、分散定義情報７７によって、「ＩＰ１３」及び「ＩＰ３３」と仮想ＩＰアドレス「ＩＰ１０４」との関連付けが行われる。さらに、通信定義情報７８によって仮想ＩＰアドレス「ＩＰ１０４」とアプリ名「ａｐｌ４」の関連付けが行われる。この結果、分散処理部３５によって、アプリ名「ａｐｌ４」のアプリケーションの分散制御が可能になる。
【００５９】
なお、システム構成の変更が、サーバ４の追加や削除であった場合には、図３に示すステップＳ００３の処理によってサーバ４を追加、又は削除する。さらに、以降の処理を実行する。
【００６０】
以上、説明したように、この分散処理システム１では、識別子情報として、ＧＰＮＡＭＥを使用して仮想ＩＰアドレスを管理し、分散処理対象のアプリケーションをグループ化して分散制御を行う。これによって、１つのアプリケーションを複数のサーバ４上に配置した場合でも、端末４からは接続先を１つのコンピュータとして認識させることが可能になる。また、仮想ＩＰアドレスで複数のサーバ４のアプリケーションを関連付けることにより、ＩＰアドレスを効率良く管理することが可能になる。
【００６１】
ここで、アプリケーションの追加や削除などが生じたときには、変更のあったサーバ４に対し、変更に応じてＩＰアドレスや仮想ＩＰアドレスを割り当てる。さらに、システム変更に伴ってＩＰアドレスが追加されたときには、その情報を対応するサーバ４にフィードバックする。この結果、システム管理者が各コンピュータの情報の整合性を手動で調整する必要が無くなり、システム構成の変更に迅速、かつ確実に対応することが可能になる。さらに、複数のサーバ４においてＧＰＮＡＭＥが一致する複数のアプリケーションを特定する情報として個別アドレスを割り当てるようにしたので、システム構成の変更時にＩＰアドレスを効率良く割り当てることが可能になる。
【００６２】
（第２の実施の形態）
第２の実施の形態について図面を参照して詳細に説明する。なお、第１の実施の形態と同じ構成要素には同一の符号を付している。また、第１の実施の形態と重複する説明は省略する。
この実施の形態では、ＩＰアドレスの割り当て処理において、アプリケーションを特定する情報（識別子情報）のバリエーションを複数有する場合について説明する。ここで、アプリケーションを定義する情報のバリエーションとしては、アプリ名及びＧＰＮＡＭＥに加えて、ＡＣＢ名がある。ＡＣＢ名は、アプリケーションがネットワークに対してオープンにする名前であって、例えば、プログラム名がこれに相当する。
【００６３】
サーバ４上のアプリ定義情報の３つの識別子情報を元に、抽出部３１が複数のサーバ４で定義されているアプリケーションを分散処理対象であるか、特定のサーバ４のみで実行される特定振分けアプリケーションであるかを判断する。そして、必要に応じてサーバ４毎にＩＰアドレスや仮想ＩＰを割り当てる。
【００６４】
複数のサーバ４において、同一のアプリケーションであるかの判断と、分散処理対象のアプリケーションであるかの判断とは、以下の判断手順に従う。
１）ＧＰＮＡＭＥが一致する
２）ＧＰＮＡＭＥが定義されていない場合、ＡＣＢ名が一致する
３）ＧＰＮＡＭＥもＡＣＢ名も定義されていない場合、アプリ名が一致する
【００６５】
判断手順の優先度の一番目にＧＰＮＡＭＥを使用するのは、ＧＰＮＡＭＥが端末５から見られるサーバ４に共通して使用される名前であり、端末５から複数のサーバ４を意識することなく通信するために一意的な宛先名となり、分散処理対象のアプリケーション（同一のアプリケーション）と判断するための基準としては、最も信頼性が高い情報だからである。
また、ＡＣＢ名は、アプリケーションがネットワークに対してオープンにする名前であり、同一のプログラムには同じ名前が使用される。このために、ＧＰＮＡＭＥが取得できない場合に、２番目に信頼性が高い情報であると考えられるからである。
【００６６】
識別子情報の定義がある場合と、識別子情報の定義がない場合の組み合わせとしては４パターンが考えられる。図２１にアプリ定義パターンの組み合わせパターンＰ１〜Ｐ４を示す。パターンＰ１は、アプリ名、ＧＰＮＡＭＥ、及びＡＣＢ名の全ての定義がある場合である。パターンＰ２は、アプリ名及びＧＰＮＡＭＥが定義ありで、ＡＣＢ名が定義なしの場合である。パターンＰ３は、アプリ名が定義あり、ＧＰＮＡＭＥが定義なし、ＡＣＢ名が定義ありの場合である。パターンＰ４は、アプリ名が定義ありで、ＧＰＮＡＭＥ及びＡＣＢ名が定義なしの場合である。
【００６７】
このことから、図２２に示すように、パターンＰ１及びパターンＰ２では、ＧＰＮＡＭＥが一致の場合は分散処理対象のアプリケーションであり、不一致の場合は特定振分けアプリケーションと判断する。
パターンＰ３では、ＡＣＢ名が一致の場合は分散処理対象のアプリケーションであり、不一致の場合は特定振分けアプリケーションと判断する。
パターンＰ４では、アプリ名が一致の場合は分散処理対象のアプリケーションであり、不一致の場合は特定振分けアプリケーションと判断する。
【００６８】
アプリケーションを定義する情報による上記の判断について、具体例を用いて説明する。例えば、図２３（ａ）に示すパターンＰ１の例では、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ１１」と、サーバ名「ＧＳ２」のサーバ４のアプリ名「ａｐｌ２１」は、ＧＰＮＡＭＥが共に「ａｐｌ１ｇ」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ１２」は、他のサーバ（この場合は「ＧＳ２」サーバ４）に、同一のＧＰＮＡＭＥを有するアプリケーションがないので、特定振分けアプリケーションと判断する。
【００６９】
例えば、図２３（ｂ）に示すパターンＰ２の例では、サーバ名「ＧＳ１」のサーバ４のＡＣＢ名が登録されていない。しかしながら、判断の優先順位が高いＧＰＮＡＭＥは登録されている。この場合は、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ１１」と、サーバ名「ＧＳ２」のサーバ４のアプリ名「ａｐｌ１」のＧＰＮＡＭＥが共に「ａｐｌ１ｇ」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ２」は、他のサーバに、同一のＧＰＮＡＭＥで登録されたアプリケーションがないので、特定振分けアプリケーションと判断する。
【００７０】
例えば、図２４（ａ）に示すパターンＰ３の例では、サーバ名「ＧＳ１」のサーバ４のＧＰＮＡＭＥが登録されていない。この場合は、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ１」と、サーバ名「ＧＳ２」のサーバ４のアプリ名「ａｐｌ１」のＡＣＢ名が共に「ａｐｌａｃｂ１」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ２」は、他のサーバに、同一のＡＣＢ名で登録されたアプリケーションがないので、特定振分けアプリケーションと判断する。
【００７１】
例えば、図２４（ｂ）に示すパターンＰ４の例では、サーバ名「ＧＳ１」のサーバ４のＧＰＮＡＭＥ及びＡＣＢ名が登録されていない。この場合は、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ１」と、サーバ名「ＧＳ２」のサーバ４のアプリ名「ａｐｌ１」のアプリ名が共に「ａｐｌ１」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「ＧＳ１」のサーバ４のアプリ名「ａｐｌ１２」は、他のサーバに、同一のアプリ名で登録されたアプリケーションがないので、特定振分けアプリケーションと判断する。
【００７２】
次に、複数の識別子情報に基づいて分散処理対象のアプリケーションを判別する場合のサーバ管理テーブルの構成について図２５を参照して説明する。
サーバ管理テーブル５１は、アプリ情報５６に、ＳＬＢ−アプリフラグ８１Ａと、ＳＬＢ−ＧＰＮＭフラグ８１Ｂと、ＳＬＢ−ＡＣＢフラグ８１Ｃが追加される。ＳＬＢ−アプリフラグ８１Ａは、アプリ名が一致したアプリケーションに対してＯＮがセットされる。ＳＬＢ−ＧＰＮＭフラグ８１Ｂは、ＧＰＮＡＭＥが一致したアプリケーションに対してＯＮがセットされる。ＳＬＢ−ＡＣＢフラグ８１Ｃは、ＡＣＢ名が一致したアプリケーションに対してＯＮがセットされる。いずれのフラグ８１Ａ〜８１ＣもＯＮ以外の場合はＯＦＦにセットされる。
【００７３】
続いて、複数の識別子情報に基づいて分散処理対象のアプリケーションを判別する場合のＩＰアドレス割り当て処理について図２６Ａ〜図２６Ｃのフローチャートを用いて説明する。
最初に、図２６ＡのステップＳ６０１で先頭のサーバ管理テーブル５１から１つずつ選択し、ステップＳ６０２で各サーバ管理テーブル５１のアプリ情報５６を１つずつ選択する。
ステップＳ６０３で、抽出部３１が分散処理対象のアプリケーションであるか調べる。ここでは、いずれかのフラグ８１Ａ〜８１Ｃが既にＯＮになっていた場合には、分散処理対象のアプリケーションであると判断し、ステップＳ６０５に進む。一方、いずれのフラグ８１Ａ〜８１ＣにもＯＮが設定されていない場合には、ステップＳ６０４に進み、抽出部３１が、同一アプリケーションの有無の判定処理を行い、フラグ８１Ａ〜８１Ｃを設定する。この処理の詳細は、後に説明する。そして、この後、ステップＳ６０５に進む。
【００７４】
ステップＳ６０５で、アプリケーション毎のＩＰアドレスが割り当て済であれば、端子Ａから進む図２６ＢのステップＳ６０９に進む。一方、アプリケーション毎にＩＰアドレスが割り当てられていなければ、ステップＳ６０６で分散処理対象のアプリケーションであれば、ステップＳ６０７に進み、割り当て部３２が、ＩＰプール４１からＩＰアドレスを選択し、サーバ４毎に分散処理に使用するＩＰアドレスを割り当てる。この後、端子Ａから図２６ＢのステップＳ６０９に進む。
【００７５】
また、ステップＳ６０６で、抽出部３１が分散処理対象のアプリケーションであると判断しなかったときには、ステップＳ６０８に進み、割り当て部３２がＩＰアドレスの割り当て処理を行う。この処理の詳細には後に説明する。そして、この後、端子Ａから図２６ＢのステップＳ６０９に進む。
【００７６】
図２６ＢのステップＳ６０９以降の処理では、フラグ８１Ａ〜８１Ｃのステータスによって場合分けが行われる。まず、ステップＳ６０９でＳＬＢ−ＧＰＮＭフラグ８１ＢがＯＮであれば、ステップＳ６１０でＧＰＮＡＭＥに対応した仮想ＩＰアドレスが割り当て済の場合、ステップＳ６２０に進み、次のアプリ情報５６について処理を開始する。
一方、ステップＳ６１０で、仮想ＩＰアドレスが割り当てられていない場合には、割り当て部３２がＩＰプール４１から仮想ＩＰアドレスを取得して割り当てる。この場合、割り当て部３２は、仮想ＩＰアドレスをＧＰＮＡＭＥに関連付けたＩＰ管理テーブルを作成する。ＩＰ管理テーブルの構成は、後に説明する。
【００７７】
また、ステップＳ６０９でＳＬＢ−ＧＰＮＭフラグ８１ＢがＯＦＦであった場合には、ステップＳ６１２に進む。ここでは、ＳＬＢ−ＡＣＢフラグ８１ＣがＯＮであれば、ステップＳ６１３に進む。ステップＳ６１３で、ＡＣＢ名に対応した仮想ＩＰアドレスが割り当て済ならば、ステップＳ６２０に進み、次のアプリ情報５６について処理を開始する。
一方、ステップＳ６１３で、仮想ＩＰアドレスが割り当てられていない場合には、ステップＳ６１４において、ＩＰプール４１から仮想ＩＰアドレスを取得して割り当てる。この場合、割り当て部３２は、仮想ＩＰアドレスをＡＣＢ名に関連付けたＩＰ管理テーブルを作成する。
【００７８】
ここで、ステップＳ６１２でＳＬＢ−ＡＣＢフラグ８１ＣがＯＦＦであった場合には、端子Ｂから図２６ＣのステップＳ６１５に進む。ステップＳ６１５では、ＳＬＢ−アプリフラグ８１ＡがＯＮであれば、ステップＳ６１６に進む。ステップＳ６１６で、アプリケーション名に対応した仮想ＩＰアドレスが割り当て済であれば、端子Ｃから図２６ＢのステップＳ６２０に進み、次のアプリ情報５６について処理を開始する。
一方、ステップＳ６１６で、仮想ＩＰアドレスが割り当てられていない場合には、ステップＳ６１７に進んで、ＩＰプール４１から取得した仮想ＩＰアドレスを割り当てる。この場合、割り当て部３２は、仮想ＩＰアドレスをアプリケーション名に関連付けたＩＰ管理テーブルを作成する。
【００７９】
ステップＳ６１５で、ＳＬＢ−アプリフラグ８１ＡがＯＦＦであった場合には、ステップＳ６１８に進む。ここでは、特定振分けアプリＩＰに対応した仮想ＩＰアドレスが割り当て済であれば、端子Ｃから図２６ＢのステップＳ６２０に進み、次のアプリ情報５６について処理を開始する。
一方、ステップＳ６１８で、仮想ＩＰアドレスが割り当てられていない場合には、ステップＳ６１９に進み、ＩＰプール４１から取得した仮想ＩＰアドレスを割り当てる。例えば、仮想ＩＰアドレスは、同じサーバ４内では、複数の特定振分けアプリケーションに対して、１つ付与される。そして、割り当て部３２は、仮想ＩＰアドレスを特定振分けアプリＩＰに関連付けたＩＰ管理テーブルを作成する。
【００８０】
そして、ステップＳ６２０及びステップＳ６２１のループで、全てのサーバ管理テーブル及びアプリ情報について前記の処理を実行したら、ここでの処理を終了する。
【００８１】
ここで、ステップＳ６０４の同一アプリケーションの有無の判定処理の詳細について、図２７Ａ及び図２７Ｂのフローチャートを参照して説明する。
まず、図２７ＡのステップＳ７０１で先頭のサーバ管理テーブル５１から１つずつ選択し、抽出部３１が入力元のサーバ管理テーブル５１と一致するか調べる。一致する場合には、ステップＳ７１２に進み、次のサーバ管理テーブル５１を選択する。
一方、一致しない場合には、ステップＳ７０３で、各サーバ管理テーブル５１のアプリ情報５６を１つずつ選択する。ステップＳ７０４で、入力元のアプリ情報５６にＧＰＮＡＭＥ情報があり、かつステップＳ７０５でＧＰＮＡＭＥが一致している場合には、ステップＳ７０６に進み、抽出部３１が入力元のアプリ情報５６と、比較先アプリ情報５６のＳＬＢ−ＧＰＮＭフラグ８１ＢをＯＮに設定し、ここでの処理を終了する。
【００８２】
これに対して、ステップＳ７０４でＧＰＮＡＭＥ情報が登録されていなかった場合には、端子Ｄから図２７ＢのステップＳ７０７に進む。ステップＳ７０７で入力元のアプリ情報５６にＡＣＢ名情報８１Ｃが存在し、かつステップＳ７０８でＡＣＢ名が一致していれば、ステップＳ７０９に進み、抽出部３１が入力元のアプリ情報５６と、比較先アプリ情報５６のＳＬＢ−ＡＣＢフラグ８１ＣをＯＮに設定する。この後、端子Ｆから図２７Ａに進み、ここでの処理を終了する。
【００８３】
さらに、図２７ＢのステップＳ７０７で入力元のアプリ情報にＡＣＢ名が無かった場合には、ステップＳ７１０に進む。そして、アプリ名が一致する場合には、ステップＳ７１３に進み、抽出部３１が、入力元のアプリ情報５６と、比較先アプリ情報５６のＳＬＢ−アプリフラグ８１ＡをＯＮに設定する。この後、端子Ｆから図２７Ａに進み、ここでの処理を終了する。
【００８４】
また、図２７ＡのステップＳ７０５と、図２７ＢのＳ７０８及びＳ７１０でＮｏの場合には、ステップＳ７１１で次のアプリ情報を選択する。そして、全てのアプリ情報について前記の処理を実行したら、ステップＳ７１２で次のサーバ管理テーブル５１を選択する。
【００８５】
続いて、ステップＳ６０８のＩＰアドレスの割り当て処理の詳細について、図２８のフローチャートを参照して説明する。
ステップＳ８０１で最初のアプリ情報５６から１つずつ選択して処理を行う。まず、ステップＳ８０２で入力元と検索先のアプリ名が一致する場合には、ステップＳ８０５に進んで次のアプリ情報５６を選択する。また、ステップＳ８０２でアプリ名が一致しないが、ステップＳ８０３で検索先アプリが分散処理対象のアプリケーションであった場合には、ステップＳ８０５に進んで次のアプリ情報５６を選択する。さらに、ステップＳ８０３で、分散処理対象のアプリケーションではないが、ステップＳ８０４で検索先アプリのアプリＩＰが割り当て済でなければ、ステップＳ８０５に進んで次のアプリ情報５６を選択する。一方、ステップＳ８０４で検索先アプリケーションのアプリＩＰが割り当て済であったならば、ステップＳ８０６に進み、割り当て部３２が、検索先アプリのアプリＩＰを入力元アプリのＩＰアドレスとして設定する。この後、ステップＳ８０７に進む。
【００８６】
ステップＳ８０７は、ステップＳ８０１からステップＳ８０５のループが終了したときにも実行される。ステップＳ８０７で、入力元のアプリケーションのＩＰアドレスが割り当て済であれば、ここでの処理を終了する。一方、ＩＰアドレスが割り当て済でなければ、ステップＳ８０８で、割り当て部３２が、ＩＰプール４１から入力元のアプリケーションに対するＩＰアドレスを割り当て、この後にここでの処理を終了する。
【００８７】
なお、前記の各処理によって割り当てられた仮想ＩＰアドレスは、仮想ＩＰ管理テーブルによって管理される。図２９に一例を示すように、仮想ＩＰ管理テーブル９１は、識別子情報９２と、仮想ＩＰ情報９３を関連付けた構成を有する。識別子情報９２には、例えば、ＧＰＮＡＭＥや、ＡＣＢ名、アプリ名、特定振分けアプリケーションの名前が格納される。仮想ＩＰ情報９３は、仮想ＩＰアドレスが格納される。例えば、１行目には、識別子情報９２のＧＰＮＡＭＥが「ＧＰＮＡＭＥ１」であるアプリケーションに対して、仮想ＩＰアドレス「ＩＰ−Ａ１」が割り当てられたことが示されている。
【００８８】
また、以上の処理によって割り当てられたＩＰアドレスのイメージを図３０に示す。この分散システム１では、２つのサーバ４が分散処理制御装置２に接続されている。
１つ目の「ＧＳ１」のサーバ４は、分散処理対象アプリケーション０１、分散処理対象アプリケーション０２、特定振分けアプリケーションＸＡ、特定振分けアプリケーションＸＢがインストールされている。そして、ＩＰアドレスは、分散処理対象アプリケーション０１に「ＩＰ１１」、分散処理対象アプリケーション０２に「ＩＰ１２」、２つの特定振分けアプリケーションＸＡ，ＸＢに「ＩＰ−Ｘ１」が割り当てられている。
【００８９】
２つ目の「ＧＳ２」のサーバ４は、分散処理対象アプリケーション０１、分散処理対象アプリケーション０２、特定振分けアプリケーションＹＣ、特定振分けアプリケーションＹＤがインストールされている。そして、ＩＰアドレスは、分散処理対象アプリケーション０１に「ＩＰ２１」、分散処理対象アプリケーション０２に「ＩＰ２２」、２つの特定振分けアプリケーションＹＣ，ＹＤに「ＩＰ−Ｙ１」が割り当てられている。
【００９０】
分散処理制御装置２の分散定義７７では、サーバ４側のＩＰアドレス「ＩＰ１１」、「ＩＰ２１」と、仮想ＩＰアドレス「ＩＰ１０１」が関連付けられている。また、サーバ４側のＩＰアドレス「ＩＰ−Ｘ１」と、仮想ＩＰアドレス「ＩＰ−Ｘ０１」が関連付けられている。
サーバ４側のＩＰアドレス「ＩＰ１２」、「ＩＰ２２」と、仮想ＩＰアドレス「ＩＰ１０２」が関連付けられている。また、サーバ４側のＩＰアドレス「ＩＰ−Ｙ１」と、仮想ＩＰアドレス「ＩＰ−Ｙ０１」が関連付けられている。
【００９１】
分散処理制御装置２の通信定義７８では、仮想ＩＰアドレス「ＩＰ１０１」と、ＧＰＮＡＭＥ「アプリ０１」が関連付けられている。仮想ＩＰアドレス「ＩＰ−Ｘ０１」と、ＧＰＮＡＭＥ「アプリＸＡ」と「アプリＸＢ」が関連付けられている。また、仮想ＩＰアドレス「ＩＰ１０２」と、ＧＰＮＡＭＥ「アプリ０２」が関連付けられている。さらに、仮想ＩＰアドレス「ＩＰ−Ｙ０１」と、ＧＰＮＡＭＥ「アプリＹＣ」と「アプリＹＤ」が関連付けられている。
【００９２】
従来では、各サーバにおいて、特定振分けアプリケーションＸＡ，ＸＢ，ＹＣ，ＹＤのそれぞれにＩＰアドレスが１つずつ割り当てられる。これに対応して、仮想ＩＰアドレスも１つずつ割り当てられる。このために、従来の方法では、ＩＰアドレスが多数必要であった。これに対して、図３０に示す実施例では、分散処理対象のアプリケーションは、個別にＩＰアドレスを付与して分散制御を可能にすると共に、特定振分けアプリケーションはサーバ４毎にまとめてＩＰアドレスを割り当てるので、ＩＰアドレスの割り当て数を削減でき、ＩＰアドレスの枯渇を防止できる。
【００９３】
この実施の形態では、複数の識別子情報を用いて仮想ＩＰアドレスを管理し、複数のアプリケーションをグループ化する。複数の識別子情報のいずれかが一致すれば、それらのアプリケーションを分散処理対象と判定することが可能になるので、複数のアプリケーションのグループ化をより確実に行える。
ここで、複数のアプリケーションをグループ化するときは、情報の精度が高い識別子情報を優先的に選択して判定処理を行うようにしたので、複数のアプリケーションのグループ化の精度を高めることができる。
さらに、いずれの識別子情報も一致しない場合には、同じサーバ４のアプリケーションに対して１つの仮想ＩＰアドレスを割り当てるようにしたので、ＩＰアドレスの管理が容易になると共に、ＩＰアドレスの枯渇を防止できる。
【００９４】
ここで挙げた全ての例及び条件的表現は、発明者が技術促進に貢献した発明及び概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例及び条件に限定することなく解釈するものであり、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない。本発明の実施形態を詳細に説明したが、本発明の精神及び範囲から逸脱することなく、それに対して種々の変更、置換及び変形を施すことができる。
【００９５】
以下に、前記の実施の形態の特徴を付記する。
（付記１）  複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、１つの特定のアドレスを関連付けて登録し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する、ことを特徴とする処理振分け方法。
（付記２）  前記識別子情報は、少なくとも、アプリケーション名または、プログラム名を含み、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする付記１に記載の処理振分け方法。
（付記３）  １つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数の前記アプリケーションに対して１つの前記特定のアドレスを付与することを特徴とする付記１又は付記２に記載の処理振分け方法。
（付記４）  複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、１つ特定のアドレスを関連付けて登録し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する処理をコンピュータに実行させることを特徴とする処理振分けプログラム。
（付記５）  前記識別子情報は、少なくともアプリケーション名または、プログラム名を含み、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする付記４に記載の処理振分けプログラム。
（付記６）  複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出する抽出部と、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに対して個別アドレスを割り当てると共に、複数の前記個別アドレスに対して特定のアドレスを割り当てる割り当て部と、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する分散処理部と、を含むことを特徴とする処理振分けシステム。
（付記７）  前記識別子情報は、少なくともアプリケーション名または、プログラム名を含み、前記抽出部は、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする付記６に記載の処理振分けシステム。
【符号の説明】
【００９６】
１  分散処理システム
２  分散処理制御装置
４  サーバ（情報処理装置）
３１  抽出部
３２  割り当て部
３３  対応データ作成部
３４  定義反映部
３５  分散処理部
５１Ａ〜５１Ｃ  サーバ管理テーブル
５６Ａ  名称情報（識別子情報）
５６Ｂ  ＧＰＮＡＭＥ情報（識別子情報）
５６Ｄ  ＡＣＢ名情報（識別子情報）
６１Ａ〜６１Ｃ  サーバ側定義情報
７７  分散定義情報
７８  通信定義情報
【図１】
2015095012.tif 000003
【図２】
2015095012.tif 000004
【図３】
2015095012.tif 000005
【図４】
2015095012.tif 000006
【図５】
2015095012.tif 000007
【図６】
2015095012.tif 000008
【図７】
2015095012.tif 000009
【図８】
2015095012.tif 000010
【図９】
2015095012.tif 000011
【図１０】
2015095012.tif 000012
【図１１】
2015095012.tif 000013
【図１２】
2015095012.tif 000014
【図１３】
2015095012.tif 000015
【図１４】
2015095012.tif 000016
【図１５】
2015095012.tif 000017
【図１６Ａ】
2015095012.tif 000018
【図１６Ｂ】
2015095012.tif 000019
【図１７】
2015095012.tif 000020
【図１８Ａ】
2015095012.tif 000021
【図１８Ｂ】
2015095012.tif 000022
【図１９】
2015095012.tif 000023
【図２０Ａ】
2015095012.tif 000024
【図２０Ｂ】
2015095012.tif 000025
【図２１】
2015095012.tif 000026
【図２２】
2015095012.tif 000027
【図２３】
2015095012.tif 000028
【図２４】
2015095012.tif 000029
【図２５】
2015095012.tif 000030
【図２６Ａ】
2015095012.tif 000031
【図２６Ｂ】
2015095012.tif 000032
【図２６Ｃ】
2015095012.tif 000033
【図２７Ａ】
2015095012.tif 000034
【図２７Ｂ】
2015095012.tif 000035
【図２８】
2015095012.tif 000036
【図２９】
2015095012.tif 000037
【図３０】
2015095012.tif 000038