JP6241215B2 - 処理振分け方法及び処理振分けプログラム並びに処理振分けシステム - Google Patents

処理振分け方法及び処理振分けプログラム並びに処理振分けシステム Download PDF

Info

Publication number
JP6241215B2
JP6241215B2 JP2013232810A JP2013232810A JP6241215B2 JP 6241215 B2 JP6241215 B2 JP 6241215B2 JP 2013232810 A JP2013232810 A JP 2013232810A JP 2013232810 A JP2013232810 A JP 2013232810A JP 6241215 B2 JP6241215 B2 JP 6241215B2
Authority
JP
Japan
Prior art keywords
application
address
server
information
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013232810A
Other languages
English (en)
Other versions
JP2015095012A (ja
Inventor
邦之 畠山
邦之 畠山
孝輔 桑原
孝輔 桑原
学 中嶋
学 中嶋
武 龍頭
武 龍頭
慶一 代田
慶一 代田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013232810A priority Critical patent/JP6241215B2/ja
Publication of JP2015095012A publication Critical patent/JP2015095012A/ja
Application granted granted Critical
Publication of JP6241215B2 publication Critical patent/JP6241215B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、処理振分け方法及び処理振分けプログラム並びに処理振分けシステムに関する。
分散処理システムでは、端末からの要求に基づいてデータ処理を行うにあたり、端末からの要求を例えば各サーバの負荷状態に応じて振分けて処理を実行している。分散処理システムを構築する場合、サーバ側を通信のあて先、端末側を通信の送信元とし、その間に配置される分散処理制御装置のそれぞれにおいてIP(Internet Protocol)アドレスを
割り当てて通信を制御している。そこで、分散処理システムを構築する各コンピュータの間で正しい通信が行えるように、IPアドレスの定義や、分散に関する定義を作成する必要がある。例えば、従来の分散処理システムでは、仮想的な計算機ノードのIPアドレスである仮想IPアドレスと、実ノードのIPアドレスである実IPアドレスとを関連付けたIP管理テーブルを作成し、端末からの要求を仮想IPアドレスと関連付けられた複数の実IPアドレスを有するアプリケーションに振分けている。
ここで、分散処理システムのシステム構成に変更が生じた場合、関連する定義を変更する必要がある。この場合、システム管理者は、サーバ上で動作するアプリケーションや、分散管理装置、端末で使用するIPアドレスの管理を行い、アプリケーションを追加するときなどには、手動で各装置の定義変更を行っていた。
特開2007−249984号公報
ここで、分散処理システムでは、分散処理を行わずに、1台の情報処理装置上でアプリケーションが動作する態様も存在し、1つのシステムで実行されるアプリケーションの中に、分散処理を行うアプリケーションと分散処理を行わないアプリケーションとが混在する場合がある。システムを構成する複数の情報処理装置の中で、分散処理を行うアプリケーションと分散処理を行わないアプリケーションとが混在する情報処理装置が存在する場合、当該情報処理装置が取得すべきIPアドレスの数は、分散処理を行うアプリケーションの数により変動する。
ここで、各情報処理装置で動作するアプリケーションの数については、管理情報から取得可能である。その一方で、分散処理を行うアプリケーションの数は、分散管理装置側では一元的に管理されていない。このために、分散処理を行うアプリケーションの数が不明な状態で、分散管理装置が全てのアプリケーションが利用可能になるように個別のIPアドレスを1つずつ割り当てると、アプリケーションの数の増加とともに、使用するIPアドレスの数が増加する。その結果、アプリケーションの増加により、分散処理システムが使用可能なIPアドレスが枯渇する可能性がある。また、分散処理システムにおいては、分散処理を行う情報処理装置の数が運用中に増減することが考えられる。このようにシステム構成が変更された場合でも、IPアドレスの枯渇を防止し、必要なIPアドレスを各情報処理装置に割り当てることが必要になる。
1つの側面では、本発明は、複数の情報処理装置を用いて分散処理を実現するシステムにおいて、各情報処理装置に割り当てるアドレスの管理を適切に行うことを目的とする。
実施形態の一観点によれば、複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた複数の前記個別アドレスに対し、1つの特定のアドレスを関連付けて登録し、1つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数のアプリケーションに対して1つのアドレスを付与し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する、ことを特徴とする処理振分け方法が提供される。
また、実施形態の一観点によれば、複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた複数の前記個別アドレスに対し、1つ特定のアドレスを関連付けて登録し、1つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数のアプリケーションに対して1つのアドレスを付与し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する処理をコンピュータに実行させることを特徴とする処理振分けプログラムが提供される。
さらに、実施形態の一観点によれば、複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出する抽出部と、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに対して個別アドレスを割り当てると共に、複数の前記個別アドレスに対して1つの特定のアドレスを割り当て、1つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数のアプリケーションに対して1つのアドレスを付与する割り当て部と、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する分散処理部と、を含むことを特徴とする処理振分けシステムが提供される。
情報処理装置に対して割り当てるアドレスの管理を適切に行うことができる。
図1は、本発明の第1の実施の形態に係る分散処理システムのシステム構成の一例を示すブロック図である。 図2は、本発明の第1の実施の形態に係る分散処理のシステム構成の一例を模式的に示す図である。 図3は、本発明の第1の実施の形態に係る分散処理システムの処理の一例を示すフローチャートである。 図4は、本発明の第1の実施の形態に係る分散処理システムのIPアドレス登録処理の一例を示すフローチャートである。 図5は、本発明の第1の実施の形態に係る分散処理システムのIPプールの構成の一例を示す図である。 図6は、本発明の第1の実施の形態に係る分散処理システムのサーバ登録処理の一例を示すフローチャートである。 図7は、本発明の第1の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。 図8は、本発明の第1の実施の形態に係る分散処理システムのサーバの情報取得処理の一例を示すフローチャートである。 図9は、本発明の第1の実施の形態に係る分散処理システムのサーバの情報取得処理の一例を模式的に示す図である。 図10は、本発明の第1の実施の形態に係る分散処理システムのIPアドレスの割り当て処理の一例を示すフローチャートである。 図11は、本発明の第1の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。 図12は、本発明の第1の実施の形態に係る分散処理システムのIP関係テーブルの構成の一例を示す図である。 図13は、本発明の第1の実施の形態に係る分散処理システムの定義作成及び配信処理の一例を示すフローチャートである。 図14は、本発明の第1の実施の形態に係る分散処理システムのサーバ定義情報の構成の一例を示す図である。 図15は、本発明の第1の実施の形態に係る分散処理システムのシステム構成変更時のサーバの情報取得処理の一例を示すフローチャートである。 図16Aは、本発明の第1の実施の形態に係る分散処理システムのサーバ定義情報の構成の一例を示す図である。 図16Bは、本発明の第1の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。 図17は、本発明の第1の実施の形態に係る分散処理システムのシステム構成変更時のIPアドレス割り当て処理の一例を示すフローチャートである。 図18Aは、本発明の第1の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。 図18Bは、本発明の第1の実施の形態に係る分散処理システムのIP関係テーブルの構成の一例を示す図である。 図19は、本発明の第1の実施の形態に係る分散処理システムのシステム構成変更時の更新時の定義作成及び配信処理の一例を示すフローチャートである。 図20Aは、本発明の第1の実施の形態に係る分散処理システムのサーバ定義情報の構成の一例を示す図である。 図20Bは、本発明の第1の実施の形態に係る分散処理のシステム構成を一例を模式的に示す図である。 図21は、本発明の第2の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせの一例を示す図である。 図22は、本発明の第2の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせと、分散対象の判定結果の一例を示す図である。 図23は、本発明の第2の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせと、分散対象の判定結果の具体例を示す図である。 図24は、本発明の第2の実施の形態に係る分散処理システムのアプリ定義パターンの組み合わせと、分散対象の判定結果の具体例を示す図である。 図25は、本発明の第2の実施の形態に係る分散処理システムのサーバ管理テーブルの構成の一例を示す図である。 図26Aは、本発明の第2の実施の形態に係る分散処理システムのIPアドレス割り当て処理の一例を示すフローチャートである。(その1) 図26Bは、本発明の第2の実施の形態に係る分散処理システムのIPアドレス割り当て処理の一例を示すフローチャートである。(その2) 図26Cは、本発明の第2の実施の形態に係る分散処理システムのIPアドレス割り当て処理の一例を示すフローチャートである。(その3) 図27Aは、本発明の第2の実施の形態に係る分散処理システムの同一アプリケーションの有無の判定処理の一例を示すフローチャートである。(その1) 図27Bは、本発明の第2の実施の形態に係る分散処理システムの同一アプリケーションの有無の判定処理の一例を示すフローチャートである。(その2) 図28は、本発明の第2の実施の形態に係る分散処理システムのIPアドレスの割り当て処理の一例を示すフローチャートである。 図29は、本発明の第2の実施の形態に係る分散処理システムの仮想IP管理テーブルの構成の一例を示す図である。 図30は、本発明の第2の実施の形態に係る分散処理のシステム構成の一例を模式的に示す図である。
発明の目的及び利点は、請求の範囲に具体的に記載された構成要素及び組み合わせによって実現され達成される。
前述の一般的な説明及び以下の詳細な説明は、典型例及び説明のためのものであって、本発明を限定するためのものではない。
(第1の実施の形態)
第1の実施の形態について図面を参照して詳細に説明する。
図1に示すように、分散処理システム1(処理振分けシステム)は、分散処理制御装置2と、分散処理制御装置2に接続された複数のサーバ4(情報処理装置)と、分散処理制御装置2を介してサーバ4に処理を要求する端末5と、を含んで構成されている。
分散処理制御装置2は、CPU(Central Processing Unit)を有する制御部11と、RAM(Random Access Memory)などのメモリ12と、サーバ4や端末5と通信を行う通信制御装置13と、キーボードなどの入力装置14と、モニタなどの出力装置15と、HDD(Hard disk drive)などの記憶装置16とがバス接続されたコンピュータである。
サーバ4は、少なくとも1つのアプリケーションを実行可能なコンピュータであり、アプリケーションの追加や削除に応じて変化する定義を分散処理制御装置2から受け取り、更新する定義反映部4Aを有する。
また、端末5は、ユーザが操作し、サーバ4に対して処理要求などを行うコンピュータである。
次に、図2を参照して分散処理のシステム構成を模式的に示す。
分散処理制御装置2は、通信制御領域21と、分散制御領域22とに機能分割される。
通信制御領域21は、予め定められた接続規格に則って通信を行い、各サーバ4と各端末5との間の通信を制御する処理を制御する。例えば、通信制御領域21では、通信定義78によって、端末5側で使用されるアプリケーション名と、サーバ4毎に割り当てられたIPアドレスの対応が図られる。
ここで、通信制御領域21で使用されるIPアドレス、例えば「IP101」は、各サーバ4にインストールされているアプリケーション、例えば、「apl1」などを代表するアドレスとして仮想的に割り当てられたもので、以下においては仮想IPアドレス(特定のアドレス)という。また、「apl1g」は、例えば、分散処理システム1で共通して使用されるアプリケーションの名称である。ユーザは、端末5から「apl1g」などのアプリケーションの名称を特定し、分散処理制御装置2に対して処理を要求する。これに対して、通信制御領域21では、通信定義78に則って、アプリケーション名を仮想IPアドレスに変換する。
分散制御領域22は、端末5からの要求を各サーバ4に振分ける処理を制御する。分散制御領域22では、分散定義情報77によって、仮想IPアドレスと、実IPアドレス(個別アドレス、以下単にIPアドレスという)とを関連付ける。分散制御領域22では、通信制御領域21においてアプリケーション名に対応する仮想IPアドレスをサーバ4毎に割り当てられたIPアドレスに変換することによって、端末5からの要求をサーバ4に伝送する。また、サーバ4からのレスポンスを通信制御領域21を通して端末5に伝送する。
ここで、分散制御領域22では、ユーザ側の1つの処理要求に対して分散処理が可能な複数のアプリケーションに対応付けられた複数のIPアドレスを1つの仮想IPアドレスに関連付けて管理している。そして、各サーバ4の負荷状態が略均一になるように、端末5と通信するサーバ4のIPアドレスを選択する。
また、図1に示すように、分散処理制御装置2の制御部11は、分散制御システム1のプログラム(処理振分けプログラム)を実行させることによって、抽出部31と、割り当て部32と、対応データ作成部33と、定義反映部34と、分散処理部35とに機能分割される。
抽出部31は、アプリケーションに付与されたアプリケーション名などの識別子情報を用いて、分散対象のアプリケーションと、分散対象でない特定振分け対象のアプリケーションとを分別する。
割り当て部32は、複数のサーバ4や分散処理制御装置2に対してIPアドレスを割り当てる。IPアドレスには、実IPアドレスと仮想IPアドレスが含まれる。
対応データ作成部33は、実IPアドレスと仮想IPアドレスを関連付けるデータを作成する。
定義反映部34は、各サーバ4や通信制御領域21、分散制御領域22で使用する各種定義を作成し、必要に応じて各種定義を更新し、各制御領域21,22やサーバ4に反映させる。
分散処理部35は、分散制御領域22の処理によって、各サーバ4における処理の負荷が均等化されるように、端末5からの要求を分散する分散処理を制御する。
次に、分散処理システム1における処理について説明する。
最初に、図3に、初期設定として実行される処理の概略を示す。まず、ステップS001で初期定義を作成する。以降は、ステップS002でIPアドレス登録処理を実行し、ステップS003でサーバ登録処理をする。さらに、ステップS004で対応データ作成部33がサーバ情報取得処理を実行し、ステップS005で抽出部31及び割り当て部32がIPアドレス割り当て処理を行う。さらに、ステップS006では、定義反映部34が定義作成及び配信処理を実行する。
ステップS001の初期定義の作成では、システム管理者が、サーバ4毎にアプリケーションを登録する。ここで登録される情報は、例えば、サーバ名と、アプリケーションを特定する情報(識別子情報)とがある。識別子情報には、アプリケーション名として使用される「アプリ名」と、複数のサーバ4で共通して使用されるアプリケーションの名前として登録される「GPNAME」とがある。
続いて、ステップS002のIPアドレス登録処理の詳細について、図4のフローチャートを参照して説明する。IPアドレスの登録処理は、構築するシステム内で利用可能なIPアドレスの情報を登録する処理である。
最初に、ステップS101で、システム管理者が、入力情報としてIPアドレスの使用用途を特定するIP用途と、IPアドレスを入力する。これに基づいて、ステップS102で、対応データ作成部33がIP用途とIPアドレスを関連付けたIPプールを作成する。
ここで、図5にIPプールの一例を示す。IPプール41は、IP用途情報42と、サーバ名情報43と、IPアドレス情報44とが関連付けられた構成を有する。IP用途情報42は、IPアドレスを使用する用途を示す。IP用途には、例えば、サーバ4に割り当てられるIPアドレスとして使用することを示す「サーバ用」と、仮想IPアドレスとして使用することを示す「仮想IP用」とがある。また、サーバ名情報43には、サーバ4をユニークに特定する情報、例えば、サーバ名が割り当てられる。このIPプール41では、3つのサーバ4を用いてシステムを構築する例が示されており、各サーバ4には1つずつ「GS1」、「GS2」、「GS3」のサーバ名が割り当てられている。さらに、IPアドレス情報44は、例えば、IP11からIP19、IP21〜IP29などのIPアドレスが割り当てられる。ここで、IPプール41の一行目のデータは、IP用途がサーバ用で、具体的にはGS1と名づけられたサーバ4に対して、IP11〜IP19が割り当てられることが定義されている。即ち、IPプール41によれば、サーバ名「GS1」のサーバ4では、アプリケーション毎に処理を振分けるために使用するIPアドレスとして、「IP11〜IP19」を割り当てることができる。
次に、ステップS003のサーバ登録処理の詳細について、図6のフローチャートを参照して説明する。ここでは、管理対象となるサーバ4毎に、関連する情報を登録する。
ステップS201で、1つ目のサーバ4のサーバ名「GS1」と、サーバ管理IPアドレス「IP01」を入力する。続くステップS202で、2つ目のサーバ4のサーバ名「GS2」と、サーバ管理IPアドレス「IP02」を入力する。さらに、ステップS203で、3つ目のサーバ4のサーバ名「GS3」と、サーバ管理IPアドレス「IP03」を入力する。ここまでの処理は、サーバ4の数に応じて実行される。サーバ数が2の場合には、2つのステップが実行される。サーバ数が4つ以上のときは、同様の処理が4つ以上実行される。
この後、ステップS204からステップS206のループ処理によって、サーバ4の数だけ、サーバ管理テーブルを作成する。サーバ管理テーブルは、サーバ4の情報を管理するために使用される。ここで、図7にサーバ管理テーブルの一例を示す。サーバ管理テーブル51(51A〜51C)は、サーバ4毎に作成され、共通ヘッダ52と、サーバ名情報53と、サーバ管理IP情報54と、アプリ数情報55と、アプリ情報56とを有する。例えば、1つ目のサーバ管理テーブル51Aのサーバ名情報53には、サーバ名「GS1」が格納される。サーバ管理IP情報54には、サーバ管理IP「IP01」が格納される。即ち、1つ目のサーバ管理テーブル51Aは、サーバ名「GS1」のサーバ4を管理するために作成され、このサーバ4を特定するIPアドレスとして「IP01」が割り当てられたことがわかる。なお、これらの情報は、図6のステップS201で、サーバ管理者によって入力された情報である。
次に、ステップS004のサーバの情報取得処理の詳細について図8のフローチャートを参照して説明する。この処理では、管理対象として登録されたサーバ4から、アプリケーションの情報を取得する。具体的には、サーバ管理テーブル51内のアプリ数情報55及びアプリ情報56にデータを格納する。
ステップS301からの処理で、先頭のサーバ管理テーブル51から1つずつデータ更新を行う。具体的には、ステップS302で、対応データ作成部33が、対象となるサーバ4にネットワーク接続、例えばTelnet接続する。そして、ステップS303で、対象となるサーバ4からアプリケーションの情報(アプリ定義情報)を取得し、続くステップS305で対応データ作成部33がサーバ管理テーブル51の情報を更新する。この後、ステップS306でネットワーク接続を切断する。以降は、全てのサーバ管理テーブル51の更新が終了するまで、前記の処理を繰り返す。
ここで、図9にサーバの情報取得処理の具体例を模式的に示す。サーバ定義情報61A,61B,61Cは、各サーバ4が保有するもので、アプリ定義情報を有する。サーバ定義情報61A,61B,61Cは、ステップS001の初期定義で作成されたデータであり、アプリ名とGPNAMEが関連付けられたデータがアプリケーションの数だけ配列されたリストである。ここで、サーバ定義情報61A〜61Cは、サーバ4毎に作成されている。例えば、サーバ定義情報61Aは、サーバ名「GS1」のサーバ4のアプリケーションに関する定義である。サーバ定義情報61Aの1行目のデータでは、アプリ名「apl1」と、GPNAME「apl1g」とが関連付けられており、このアプリ名及びGPNAMEを有するアプリケーションがサーバ名「GS1」のサーバ4にインストールされていることがわかる。
そして、サーバ定義情報61A〜61Cを参照することによって、分散処理制御装置2が管理するサーバ管理テーブル51のアプリ数情報55と、アプリ情報56の名称情報57A及びGPNAME情報57Bのそれぞれにデータが格納される。例えば、1つ目のサーバ管理テーブル51Aは、アプリ数情報55に「2」が格納される。これは、対応するサーバ定義情報61Aのリストが2行で、2つのアプリケーションが定義されているためである。
これに伴って、サーバ管理テーブル51Aの1つ目のアプリ情報56Aの名称情報57Aには、アプリ名「apl1」が格納される。GPNAME情報57Bには、GPNAME「apl1g」が格納される。また、2つ目のアプリ情報56Bの名称情報57Aには、アプリ名「apl2」が格納される。GPNAME情報57Bには、GPNAME「apl2g」が格納される。このサーバ管理テーブル51Aでは、アプリ数が「2」なので2つのアプリ情報56A,56Bが作成される。ここで、2つ目のサーバ管理テーブル51Bは、アプリ数が「3」なので、3つのアプリ情報56A,56B,56Cが作成される。
次に、ステップS005のIPアドレスの割り当て処理の詳細について、図10のフローチャートを参照して説明する。この処理では、サーバ4毎にIPアドレス及び仮想IPアドレスが割り当てられる。
最初に、ステップS401で、先頭のサーバ管理テーブル51Aから1つずつデータ更新を行う。具体的には、ステップS403で、割り当て部32が、IPプール41からアプリケーション用のIPアドレスを取得する。続いて、ステップS404でサーバ管理テーブル51Aにアプリケーション毎のIPアドレスを設定する。
ここで、ステップS405で、GPNAME情報57Bに対応する仮想IPアドレスが割り当て済みであれば、ステップS407に進んで、次のサーバ管理テーブル52Bの処理を実行する。一方、ステップS405で、GPNAME情報57Bに対応する仮想IPアドレスが割り当て済みでなければ、ステップS406に進み、IPプール41から仮想IPアドレス用のIPアドレスを取得する。このとき、割り当て部32は、GPNAME情報57Bが一致するアプリケーションに対しては、同じ仮想IPアドレスを割り当てる。GPNAME情報57Bが一致するか否かは、抽出部31によって判定される。この後、ステップS407に進む。
そして、全てのサーバ管理テーブル51A〜51CにおいてIPアドレスの割り当てが終了したら、ステップS408に進み、割り当て部32がIP関係テーブルを作成する。IP関係テーブルは、アプリケーション毎及びサーバ4毎にIPアドレスを管理するために作成される。
ここで、図11に一例を示すように、例えば、1つ目のサーバ管理テーブル51Aでは、1つ目のアプリ情報56AのIPアドレス情報57CにIPアドレス「IP11」が格納される。2つ目のアプリ情報56BのIPアドレス情報57CにIPアドレス「IP12」が格納される。
また、図12に示すように、IP関係テーブル71は、アプリケーション名(アプリ名)の情報72と、サーバ名の情報73とに対して、IPアドレスを配列した構成を有し、さらに仮想IP情報74が付加されることによって、IPアドレスがアプリケーション毎及びサーバ4毎に仮想IPアドレスと関連付けられる。
例えば、IP関係テーブル71の1行目のデータは、アプリ名「apl1」のアプリケーションが、サーバ名「GS1」及びサーバ名「GS2」のサーバ4にインストールされており、サーバ名「GS1」のサーバ4では、IPアドレス「IP11」が割り当てられていることが示されている。また、サーバ名「GS2」のサーバ4では、IPアドレス「IP21」が割り当てられていることが示されている。
さらに、アプリ名「apl1」に対しては、仮想IPアドレス「IP101」も割り当てられている。即ち、仮想IPアドレス「IP101」によってグループ化されるアプリケーションは、アプリ名「apl1」として登録されたものであり、かつサーバ名「GS1」と「GS2」のサーバ4のそれぞれで実行可能であることがわかる。
これは、図11に示す1つ目のサーバ管理テーブル51Aの1つ目のアプリ情報56AのGPNAMEが「apl1g」であり、2つ目のサーバ管理テーブル51Bの1つ目のアプリ情報56AのGPNAMEが「apl1g」で、2つのアプリケーションが同じGPNAMEを持っているためである。
また、例えば、2つ目のアプリケーション「apl2」は、3つのサーバ4上では順番にIP12、IP22、IP31が割り当てられており、分散処理制御装置2上では仮想IP102が割り当てられている。即ち、仮想IPアドレス「IP102」によって代表されるアプリケーションは、アプリ名が「apl2」であり、3つのサーバ4のそれぞれで実行可能であることがわかる。
これは、図11に示す1つ目のサーバ管理テーブル51Aの2つ目のアプリ情報56BのGPNAMEと、2つ目のサーバ管理テーブル51Bの2つ目のアプリ情報56BのGPNAMEと、3つ目のサーバ管理テーブル51Cの1つ目のアプリ情報56BのGPNAMEとが、共に「apl2g」で一致しているためである。
次に、ステップS006の定義作成及び配信処理の詳細について図13のフローチャートを参照して説明する。この処理では、サーバ管理テーブル51及びIP関係テーブル71を参照し、図9に示すようなサーバ定義情報61A〜61Cや、図2に示すような分散処理制御装置2におけるIPアドレスの割り当てを定める分散処理定義情報77及び通信定義情報78を作成し、関連するコンピュータに配信する。
最初に、ステップS501で、IP関係テーブル71から、定義反映部34が、分散処理制御装置2の記憶装置16に保存されているサーバ定義情報61A〜61Cと、分散処理定義情報77及び通信定義情報78を更新する。
続いて、ステップS502で先頭のサーバ管理テーブル51Aから1つずつデータ更新を行う。具体的には、ステップS504で、定義反映部34が対象となるサーバ4にネットワーク接続、例えばTelnet接続する。そして、ステップS505で、定義反映部34がサーバ定義情報61A〜61Cの内容を送信し、対応するサーバ4の定義反映部4Aがサーバ定義情報61A〜61Cの内容を反映させる。この後、ステップS506でネットワーク接続を切断する。以降は、全てのサーバ定義情報61A〜61Cを対応するサーバ4に配信するまで、前記の処理を繰り返す。全てのサーバ定義情報61A〜61Cを対応するサーバ4に配信したら、ステップS509に進んで分散定義情報77を分散処理制御装置2の分散制御領域22に反映させる。続くステップS511では、通信定義情報78を分散処理制御装置2の通信制御領域21に反映させる。
例えば、図14に示すように、定義反映部34は、サーバ定義情報61A〜61Cとして、アプリケーションの定義を行うアプリ定義情報75A、75B、75Cに加えて、IPアドレスを定義するIP定義情報76A、76B、76Cを作成する。アプリ定義情報75A〜75Cは、ステップS001で作成された情報と同様である。また、IP定義情報76A〜76Cは、IPアドレスを配列したリストである。
また、図2にイメージを模式的に示すように、サーバ定義情報61A〜61Cによって、各サーバ4において各アプリケーションとIPアドレスの関連付けが行われる。また、分散定義情報77によって、分散処理制御装置2の分散制御領域22においてサーバ4毎に割り当てられたIPアドレスと、仮想IPアドレスの関連付けが行われる。さらに、通信定義情報78によって、分散処理制御装置2の通信制御領域21において仮想IPアドレスとアプリケーション名との関連付けが行われる。
以上の処理によって、端末5からアクセス可能なアプリケーションを登録し、かつ分散処理が可能になるようにIPアドレスの割り当てと、関連付けが行われる。例えば、ユーザが端末5からアプリケーション名「apl1g」に特定して処理の要求を行った場合、分散処理制御装置2の分散処理部35は、通信制御領域21でGPNAME名「apl1g」に関連付けられた仮想IPアドレス「IP101」を取得する。これに伴って、分散制御領域22では、仮想IPアドレス「IP101」に関連付けられたアプリケーションのIPアドレス「IP11」、「IP21」を取得する。そして、分散処理部35は、2つのIPアドレス「IP11」、「IP21」における負荷が分散されるように、いずれかのIPアドレス「IP11」、「IP21」を選択する。例えば、IPアドレス「IP11」が選択された場合には、対応するサーバ名「GS1」のサーバ4のアプリ名「apl1」のアプリケーションが、ユーザの要求に応じて処理を行う。
ここで、分散処理システム1を運営しているときに、システム構成を変更する必要が生じることがある。システム構成の変更は、例えば、新規アプリケーションの追加や、既存のアプリケーションの追加、アプリケーションの削除、サーバ4の追加、サーバ4の削除がある。これらの場合には、前記の各処理と同様の処理を行うことによって、システム構成の変更を反映させることによって、分散制御を継続させる。
以下、システム構成の変更時の処理の一例として、新規のアプリケーションを追加する場合を例にして説明する。この場合には、図3のステップS004のサーバの情報取得処理と、ステップS005のIPアドレス割り当て処理、ステップS006で定義作成及び配信処理が実行される。
図15を参照してシステム構成変更時のサーバの情報取得処理について説明する。まず、ステップ301で、先頭のサーバ管理テーブル51から1つずつデータ更新を行う。具体的には、ステップS302で、対応データ作成部33が、対象となるサーバ4にネットワーク接続する。そして、ステップS303で、対象となるサーバ4のサーバ定義情報61A〜61Cのアプリ定義情報75A〜75Cを取得する。サーバ定義情報61A〜61Cのアプリ定義情報75A〜75Cは、新規のアプリケーションを追加したときに、システム管理者によって更新されているので、ステップS304でアプリ定義情報75A〜75Cに変更があれば、ステップS305に進んで、サーバ管理テーブル51の情報を更新する。アプリ定義情報75A〜75Cに変更がなければ、ステップS306に進み、ネットワーク接続を切断する。以降は、全てのサーバ管理テーブル51の更新が終了するまで、前記の処理を繰り返す。
一例を示すと、図16Aのサーバ名「GS1」のサーバ4のサーバ定義情報61Aのアプリ定義情報75Aの3行目に、アプリ名「APL4」で定義されるアプリケーションが新規に追加されている。ここで、「APL4」は、GPNAMEが「APL4G」であることが定義されている。
これに伴い、図16Bに示すように、対応するサーバ管理テーブル51Aのアプリ数情報55が「2」から「3」に変更になる。さらに、アプリ情報56に3つ目のアプリ情報56Cが追加され、3つ目のアプリ情報56Cの名称情報57Aに「apl4」が格納され、GPNAME情報57Bに「apl4g」が格納される。
同様に、図16Aのサーバ名「GS3」のサーバ4のサーバ定義情報61Cのアプリ定義情報75Cにアプリ名「APL4」で定義されるアプリケーションが新規に追加されている。このために、図16Bに示すように、対応するサーバ管理テーブル51Aのアプリ数情報55と、アプリ情報56のデータが前記と同様に更新される。なお、サーバ名「GS2」のサーバ4のサーバ定義情報61Bには変更がないので、対応するサーバ管理テーブル51Bは更新されない。
続いて、図17を参照して、システム構成変更時のIP割り当て処理について説明する。まず、ステップS401で、先頭のサーバ管理テーブル51Aから1つずつデータ更新を行う。具体的には、ステップS402で、割り当て部32は、分散処理を行うために使用するIPアドレスが既にアプリケーションに割り当てられているか調べる。IPアドレスが割り当て済であれば、ステップS405に進む。一方、IPアドレスが割り当て済でなければ、ステップS403に進み、IPプール41からアプリケーション用のIPアドレスを取得する。続いて、サーバ管理テーブル51にアプリケーション毎のIPアドレスを設定する。以降の処理は、前記と同様である。
前記の例では、図18Aに示すように、1つ目のサーバ管理テーブル51Aの3つ目のアプリ情報56CのIPアドレス情報57CにIPアドレス「IP13」が格納される。同様に、3つ目のサーバ管理テーブル51Cの3つ目のアプリ情報56CのIPアドレス情報57CにIPアドレス「IP33」が格納される。これに対して、2つ目のサーバ管理テーブル51Bは、更新されない。
さらに、これに対応して、図18Bに示すように、IP関係テーブル71にアプリケーション名の情報72として、「apl4」が追加され、対応するサーバ名の情報73に、「IP13」、「IP33」が格納される。また、仮想IP情報74に、「IP13」及び「IP33」に対応する仮想IPアドレスとして「IP104」が格納される。
次に、図19を参照して、システム構成変更時の更新時の定義作成及び配信処理について説明する。最初に、ステップS501で、定義反映部34が、IP関係テーブル71から、サーバ定義情報61A〜61Cと、分散定義情報77と、通信定義情報78とを作成する。
続いて、ステップS502で先頭のサーバ管理テーブル51Aから1つずつデータ更新を行う。具体的には、ステップS503で、定義の変更があった場合に、ステップS504に進む。一方、定義の変更がない場合には、ステップS507に進んで次のサーバ管理テーブル51の処理を行う。
全てのサーバ管理テーブル51の情報をサーバ4に配信したら、ステップS508で定義の変更があった場合のみ、ステップS509に進んで分散処理制御装置2に分散定義情報77を反映させる。さらに、ステップS510で定義の変更があった場合のみ、ステップS511に進んで分散処理制御装置2に通信定義情報78を反映させる。
例えば、図20Aに示すように、1つ目のサーバ定義情報61Aと、3つ目のサーバ定義情報61Cに変更があり、2つ目のサーバ定義情報61Bには変更がなかった場合、IP定義情報76Aと、IP定義情報76Cが対応するサーバ4に配信される。各IP定義情報76A,76Cは、IPアドレス「IP13」や「IP33」がリストに追加されている。
また、図20Bにイメージを模式的に示すように、サーバ定義情報61A〜61Cによって、サーバ名「GS1」のサーバ4において、「apl4」と「IP13」の関連付けが行われる。また、サーバ名「GS3」のサーバ4において、「apl4」と「IP33」の関連付けが行われる。
さらに、分散定義情報77によって、「IP13」及び「IP33」と仮想IPアドレス「IP104」との関連付けが行われる。さらに、通信定義情報78によって仮想IPアドレス「IP104」とアプリ名「apl4」の関連付けが行われる。この結果、分散処理部35によって、アプリ名「apl4」のアプリケーションの分散制御が可能になる。
なお、システム構成の変更が、サーバ4の追加や削除であった場合には、図3に示すステップS003の処理によってサーバ4を追加、又は削除する。さらに、以降の処理を実行する。
以上、説明したように、この分散処理システム1では、識別子情報として、GPNAMEを使用して仮想IPアドレスを管理し、分散処理対象のアプリケーションをグループ化して分散制御を行う。これによって、1つのアプリケーションを複数のサーバ4上に配置した場合でも、端末4からは接続先を1つのコンピュータとして認識させることが可能になる。また、仮想IPアドレスで複数のサーバ4のアプリケーションを関連付けることにより、IPアドレスを効率良く管理することが可能になる。
ここで、アプリケーションの追加や削除などが生じたときには、変更のあったサーバ4に対し、変更に応じてIPアドレスや仮想IPアドレスを割り当てる。さらに、システム変更に伴ってIPアドレスが追加されたときには、その情報を対応するサーバ4にフィードバックする。この結果、システム管理者が各コンピュータの情報の整合性を手動で調整する必要が無くなり、システム構成の変更に迅速、かつ確実に対応することが可能になる。さらに、複数のサーバ4においてGPNAMEが一致する複数のアプリケーションを特定する情報として個別アドレスを割り当てるようにしたので、システム構成の変更時にIPアドレスを効率良く割り当てることが可能になる。
(第2の実施の形態)
第2の実施の形態について図面を参照して詳細に説明する。なお、第1の実施の形態と同じ構成要素には同一の符号を付している。また、第1の実施の形態と重複する説明は省略する。
この実施の形態では、IPアドレスの割り当て処理において、アプリケーションを特定する情報(識別子情報)のバリエーションを複数有する場合について説明する。ここで、アプリケーションを定義する情報のバリエーションとしては、アプリ名及びGPNAMEに加えて、ACB名がある。ACB名は、アプリケーションがネットワークに対してオープンにする名前であって、例えば、プログラム名がこれに相当する。
サーバ4上のアプリ定義情報の3つの識別子情報を元に、抽出部31が複数のサーバ4で定義されているアプリケーションを分散処理対象であるか、特定のサーバ4のみで実行される特定振分けアプリケーションであるかを判断する。そして、必要に応じてサーバ4毎にIPアドレスや仮想IPを割り当てる。
複数のサーバ4において、同一のアプリケーションであるかの判断と、分散処理対象のアプリケーションであるかの判断とは、以下の判断手順に従う。
1)GPNAMEが一致する
2)GPNAMEが定義されていない場合、ACB名が一致する
3)GPNAMEもACB名も定義されていない場合、アプリ名が一致する
判断手順の優先度の一番目にGPNAMEを使用するのは、GPNAMEが端末5から見られるサーバ4に共通して使用される名前であり、端末5から複数のサーバ4を意識することなく通信するために一意的な宛先名となり、分散処理対象のアプリケーション(同一のアプリケーション)と判断するための基準としては、最も信頼性が高い情報だからである。
また、ACB名は、アプリケーションがネットワークに対してオープンにする名前であり、同一のプログラムには同じ名前が使用される。このために、GPNAMEが取得できない場合に、2番目に信頼性が高い情報であると考えられるからである。
識別子情報の定義がある場合と、識別子情報の定義がない場合の組み合わせとしては4パターンが考えられる。図21にアプリ定義パターンの組み合わせパターンP1〜P4を示す。パターンP1は、アプリ名、GPNAME、及びACB名の全ての定義がある場合である。パターンP2は、アプリ名及びGPNAMEが定義ありで、ACB名が定義なしの場合である。パターンP3は、アプリ名が定義あり、GPNAMEが定義なし、ACB名が定義ありの場合である。パターンP4は、アプリ名が定義ありで、GPNAME及びACB名が定義なしの場合である。
このことから、図22に示すように、パターンP1及びパターンP2では、GPNAMEが一致の場合は分散処理対象のアプリケーションであり、不一致の場合は特定振分けアプリケーションと判断する。
パターンP3では、ACB名が一致の場合は分散処理対象のアプリケーションであり、不一致の場合は特定振分けアプリケーションと判断する。
パターンP4では、アプリ名が一致の場合は分散処理対象のアプリケーションであり、不一致の場合は特定振分けアプリケーションと判断する。
アプリケーションを定義する情報による上記の判断について、具体例を用いて説明する。例えば、図23(a)に示すパターンP1の例では、サーバ名「GS1」のサーバ4のアプリ名「apl11」と、サーバ名「GS2」のサーバ4のアプリ名「apl21」は、GPNAMEが共に「apl1g」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「GS1」のサーバ4のアプリ名「apl12」は、他のサーバ(この場合は「GS2」サーバ4)に、同一のGPNAMEを有するアプリケーションがないので、特定振分けアプリケーションと判断する。
例えば、図23(b)に示すパターンP2の例では、サーバ名「GS1」のサーバ4のACB名が登録されていない。しかしながら、判断の優先順位が高いGPNAMEは登録されている。この場合は、サーバ名「GS1」のサーバ4のアプリ名「apl11」と、サーバ名「GS2」のサーバ4のアプリ名「apl1」のGPNAMEが共に「apl1g」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「GS1」のサーバ4のアプリ名「apl2」は、他のサーバに、同一のGPNAMEで登録されたアプリケーションがないので、特定振分けアプリケーションと判断する。
例えば、図24(a)に示すパターンP3の例では、サーバ名「GS1」のサーバ4のGPNAMEが登録されていない。この場合は、サーバ名「GS1」のサーバ4のアプリ名「apl1」と、サーバ名「GS2」のサーバ4のアプリ名「apl1」のACB名が共に「aplacb1」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「GS1」のサーバ4のアプリ名「apl2」は、他のサーバに、同一のACB名で登録されたアプリケーションがないので、特定振分けアプリケーションと判断する。
例えば、図24(b)に示すパターンP4の例では、サーバ名「GS1」のサーバ4のGPNAME及びACB名が登録されていない。この場合は、サーバ名「GS1」のサーバ4のアプリ名「apl1」と、サーバ名「GS2」のサーバ4のアプリ名「apl1」のアプリ名が共に「apl1」なので、同一のアプリケーション、即ち分散処理対象のアプリケーションと判断する。一方、サーバ名「GS1」のサーバ4のアプリ名「apl12」は、他のサーバに、同一のアプリ名で登録されたアプリケーションがないので、特定振分けアプリケーションと判断する。
次に、複数の識別子情報に基づいて分散処理対象のアプリケーションを判別する場合のサーバ管理テーブルの構成について図25を参照して説明する。
サーバ管理テーブル51は、アプリ情報56に、SLB−アプリフラグ81Aと、SLB−GPNMフラグ81Bと、SLB−ACBフラグ81Cが追加される。SLB−アプリフラグ81Aは、アプリ名が一致したアプリケーションに対してONがセットされる。SLB−GPNMフラグ81Bは、GPNAMEが一致したアプリケーションに対してONがセットされる。SLB−ACBフラグ81Cは、ACB名が一致したアプリケーションに対してONがセットされる。いずれのフラグ81A〜81CもON以外の場合はOFFにセットされる。
続いて、複数の識別子情報に基づいて分散処理対象のアプリケーションを判別する場合のIPアドレス割り当て処理について図26A〜図26Cのフローチャートを用いて説明する。
最初に、図26AのステップS601で先頭のサーバ管理テーブル51から1つずつ選択し、ステップS602で各サーバ管理テーブル51のアプリ情報56を1つずつ選択する。
ステップS603で、抽出部31が分散処理対象のアプリケーションであるか調べる。ここでは、いずれかのフラグ81A〜81Cが既にONになっていた場合には、分散処理対象のアプリケーションであると判断し、ステップS605に進む。一方、いずれのフラグ81A〜81CにもONが設定されていない場合には、ステップS604に進み、抽出部31が、同一アプリケーションの有無の判定処理を行い、フラグ81A〜81Cを設定する。この処理の詳細は、後に説明する。そして、この後、ステップS605に進む。
ステップS605で、アプリケーション毎のIPアドレスが割り当て済であれば、端子Aから進む図26BのステップS609に進む。一方、アプリケーション毎にIPアドレスが割り当てられていなければ、ステップS606で分散処理対象のアプリケーションであれば、ステップS607に進み、割り当て部32が、IPプール41からIPアドレスを選択し、サーバ4毎に分散処理に使用するIPアドレスを割り当てる。この後、端子Aから図26BのステップS609に進む。
また、ステップS606で、抽出部31が分散処理対象のアプリケーションであると判断しなかったときには、ステップS608に進み、割り当て部32がIPアドレスの割り当て処理を行う。この処理の詳細には後に説明する。そして、この後、端子Aから図26BのステップS609に進む。
図26BのステップS609以降の処理では、フラグ81A〜81Cのステータスによって場合分けが行われる。まず、ステップS609でSLB−GPNMフラグ81BがONであれば、ステップS610でGPNAMEに対応した仮想IPアドレスが割り当て済の場合、ステップS620に進み、次のアプリ情報56について処理を開始する。
一方、ステップS610で、仮想IPアドレスが割り当てられていない場合には、割り当て部32がIPプール41から仮想IPアドレスを取得して割り当てる。この場合、割り当て部32は、仮想IPアドレスをGPNAMEに関連付けたIP管理テーブルを作成する。IP管理テーブルの構成は、後に説明する。
また、ステップS609でSLB−GPNMフラグ81BがOFFであった場合には、ステップS612に進む。ここでは、SLB−ACBフラグ81CがONであれば、ステップS613に進む。ステップS613で、ACB名に対応した仮想IPアドレスが割り当て済ならば、ステップS620に進み、次のアプリ情報56について処理を開始する。
一方、ステップS613で、仮想IPアドレスが割り当てられていない場合には、ステップS614において、IPプール41から仮想IPアドレスを取得して割り当てる。この場合、割り当て部32は、仮想IPアドレスをACB名に関連付けたIP管理テーブルを作成する。
ここで、ステップS612でSLB−ACBフラグ81CがOFFであった場合には、端子Bから図26CのステップS615に進む。ステップS615では、SLB−アプリフラグ81AがONであれば、ステップS616に進む。ステップS616で、アプリケーション名に対応した仮想IPアドレスが割り当て済であれば、端子Cから図26BのステップS620に進み、次のアプリ情報56について処理を開始する。
一方、ステップS616で、仮想IPアドレスが割り当てられていない場合には、ステップS617に進んで、IPプール41から取得した仮想IPアドレスを割り当てる。この場合、割り当て部32は、仮想IPアドレスをアプリケーション名に関連付けたIP管理テーブルを作成する。
ステップS615で、SLB−アプリフラグ81AがOFFであった場合には、ステップS618に進む。ここでは、特定振分けアプリIPに対応した仮想IPアドレスが割り当て済であれば、端子Cから図26BのステップS620に進み、次のアプリ情報56について処理を開始する。
一方、ステップS618で、仮想IPアドレスが割り当てられていない場合には、ステップS619に進み、IPプール41から取得した仮想IPアドレスを割り当てる。例えば、仮想IPアドレスは、同じサーバ4内では、複数の特定振分けアプリケーションに対して、1つ付与される。そして、割り当て部32は、仮想IPアドレスを特定振分けアプリIPに関連付けたIP管理テーブルを作成する。
そして、ステップS620及びステップS621のループで、全てのサーバ管理テーブル及びアプリ情報について前記の処理を実行したら、ここでの処理を終了する。
ここで、ステップS604の同一アプリケーションの有無の判定処理の詳細について、図27A及び図27Bのフローチャートを参照して説明する。
まず、図27AのステップS701で先頭のサーバ管理テーブル51から1つずつ選択し、抽出部31が入力元のサーバ管理テーブル51と一致するか調べる。一致する場合には、ステップS712に進み、次のサーバ管理テーブル51を選択する。
一方、一致しない場合には、ステップS703で、各サーバ管理テーブル51のアプリ情報56を1つずつ選択する。ステップS704で、入力元のアプリ情報56にGPNAME情報があり、かつステップS705でGPNAMEが一致している場合には、ステップS706に進み、抽出部31が入力元のアプリ情報56と、比較先アプリ情報56のSLB−GPNMフラグ81BをONに設定し、ここでの処理を終了する。
これに対して、ステップS704でGPNAME情報が登録されていなかった場合には、端子Dから図27BのステップS707に進む。ステップS707で入力元のアプリ情報56にACB名情報81Cが存在し、かつステップS708でACB名が一致していれば、ステップS709に進み、抽出部31が入力元のアプリ情報56と、比較先アプリ情報56のSLB−ACBフラグ81CをONに設定する。この後、端子Fから図27Aに進み、ここでの処理を終了する。
さらに、図27BのステップS707で入力元のアプリ情報にACB名が無かった場合には、ステップS710に進む。そして、アプリ名が一致する場合には、ステップS713に進み、抽出部31が、入力元のアプリ情報56と、比較先アプリ情報56のSLB−アプリフラグ81AをONに設定する。この後、端子Fから図27Aに進み、ここでの処理を終了する。
また、図27AのステップS705と、図27BのS708及びS710でNoの場合には、ステップS711で次のアプリ情報を選択する。そして、全てのアプリ情報について前記の処理を実行したら、ステップS712で次のサーバ管理テーブル51を選択する。
続いて、ステップS608のIPアドレスの割り当て処理の詳細について、図28のフローチャートを参照して説明する。
ステップS801で最初のアプリ情報56から1つずつ選択して処理を行う。まず、ステップS802で入力元と検索先のアプリ名が一致する場合には、ステップS805に進んで次のアプリ情報56を選択する。また、ステップS802でアプリ名が一致しないが、ステップS803で検索先アプリが分散処理対象のアプリケーションであった場合には、ステップS805に進んで次のアプリ情報56を選択する。さらに、ステップS803で、分散処理対象のアプリケーションではないが、ステップS804で検索先アプリのアプリIPが割り当て済でなければ、ステップS805に進んで次のアプリ情報56を選択する。一方、ステップS804で検索先アプリケーションのアプリIPが割り当て済であったならば、ステップS806に進み、割り当て部32が、検索先アプリのアプリIPを入力元アプリのIPアドレスとして設定する。この後、ステップS807に進む。
ステップS807は、ステップS801からステップS805のループが終了したときにも実行される。ステップS807で、入力元のアプリケーションのIPアドレスが割り当て済であれば、ここでの処理を終了する。一方、IPアドレスが割り当て済でなければ、ステップS808で、割り当て部32が、IPプール41から入力元のアプリケーションに対するIPアドレスを割り当て、この後にここでの処理を終了する。
なお、前記の各処理によって割り当てられた仮想IPアドレスは、仮想IP管理テーブルによって管理される。図29に一例を示すように、仮想IP管理テーブル91は、識別子情報92と、仮想IP情報93を関連付けた構成を有する。識別子情報92には、例えば、GPNAMEや、ACB名、アプリ名、特定振分けアプリケーションの名前が格納される。仮想IP情報93は、仮想IPアドレスが格納される。例えば、1行目には、識別子情報92のGPNAMEが「GPNAME1」であるアプリケーションに対して、仮想IPアドレス「IP−A1」が割り当てられたことが示されている。
また、以上の処理によって割り当てられたIPアドレスのイメージを図30に示す。この分散システム1では、2つのサーバ4が分散処理制御装置2に接続されている。
1つ目の「GS1」のサーバ4は、分散処理対象アプリケーション01、分散処理対象アプリケーション02、特定振分けアプリケーションXA、特定振分けアプリケーションXBがインストールされている。そして、IPアドレスは、分散処理対象アプリケーション01に「IP11」、分散処理対象アプリケーション02に「IP12」、2つの特定振分けアプリケーションXA,XBに「IP−X1」が割り当てられている。
2つ目の「GS2」のサーバ4は、分散処理対象アプリケーション01、分散処理対象アプリケーション02、特定振分けアプリケーションYC、特定振分けアプリケーションYDがインストールされている。そして、IPアドレスは、分散処理対象アプリケーション01に「IP21」、分散処理対象アプリケーション02に「IP22」、2つの特定振分けアプリケーションYC,YDに「IP−Y1」が割り当てられている。
分散処理制御装置2の分散定義77では、サーバ4側のIPアドレス「IP11」、「IP21」と、仮想IPアドレス「IP101」が関連付けられている。また、サーバ4側のIPアドレス「IP−X1」と、仮想IPアドレス「IP−X01」が関連付けられている。
サーバ4側のIPアドレス「IP12」、「IP22」と、仮想IPアドレス「IP102」が関連付けられている。また、サーバ4側のIPアドレス「IP−Y1」と、仮想IPアドレス「IP−Y01」が関連付けられている。
分散処理制御装置2の通信定義78では、仮想IPアドレス「IP101」と、GPNAME「アプリ01」が関連付けられている。仮想IPアドレス「IP−X01」と、GPNAME「アプリXA」と「アプリXB」が関連付けられている。また、仮想IPアドレス「IP102」と、GPNAME「アプリ02」が関連付けられている。さらに、仮想IPアドレス「IP−Y01」と、GPNAME「アプリYC」と「アプリYD」が関連付けられている。
従来では、各サーバにおいて、特定振分けアプリケーションXA,XB,YC,YDのそれぞれにIPアドレスが1つずつ割り当てられる。これに対応して、仮想IPアドレスも1つずつ割り当てられる。このために、従来の方法では、IPアドレスが多数必要であった。これに対して、図30に示す実施例では、分散処理対象のアプリケーションは、個別にIPアドレスを付与して分散制御を可能にすると共に、特定振分けアプリケーションはサーバ4毎にまとめてIPアドレスを割り当てるので、IPアドレスの割り当て数を削減でき、IPアドレスの枯渇を防止できる。
この実施の形態では、複数の識別子情報を用いて仮想IPアドレスを管理し、複数のアプリケーションをグループ化する。複数の識別子情報のいずれかが一致すれば、それらのアプリケーションを分散処理対象と判定することが可能になるので、複数のアプリケーションのグループ化をより確実に行える。
ここで、複数のアプリケーションをグループ化するときは、情報の精度が高い識別子情報を優先的に選択して判定処理を行うようにしたので、複数のアプリケーションのグループ化の精度を高めることができる。
さらに、いずれの識別子情報も一致しない場合には、同じサーバ4のアプリケーションに対して1つの仮想IPアドレスを割り当てるようにしたので、IPアドレスの管理が容易になると共に、IPアドレスの枯渇を防止できる。
ここで挙げた全ての例及び条件的表現は、発明者が技術促進に貢献した発明及び概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例及び条件に限定することなく解釈するものであり、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない。本発明の実施形態を詳細に説明したが、本発明の精神及び範囲から逸脱することなく、それに対して種々の変更、置換及び変形を施すことができる。
以下に、前記の実施の形態の特徴を付記する。
(付記1) 複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、1つの特定のアドレスを関連付けて登録し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する、ことを特徴とする処理振分け方法。
(付記2) 前記識別子情報は、少なくとも、アプリケーション名または、プログラム名を含み、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする付記1に記載の処理振分け方法。
(付記3) 1つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数の前記アプリケーションに対して1つの前記特定のアドレスを付与することを特徴とする付記1又は付記2に記載の処理振分け方法。
(付記4) 複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた前記個別アドレスに対し、1つ特定のアドレスを関連付けて登録し、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する処理をコンピュータに実行させることを特徴とする処理振分けプログラム。
(付記5) 前記識別子情報は、少なくともアプリケーション名または、プログラム名を含み、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする付記4に記載の処理振分けプログラム。
(付記6) 複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出する抽出部と、抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに対して個別アドレスを割り当てると共に、複数の前記個別アドレスに対して特定のアドレスを割り当てる割り当て部と、前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する分散処理部と、を含むことを特徴とする処理振分けシステム。
(付記7) 前記識別子情報は、少なくともアプリケーション名または、プログラム名を含み、前記抽出部は、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする付記6に記載の処理振分けシステム。
1 分散処理システム
2 分散処理制御装置
4 サーバ(情報処理装置)
31 抽出部
32 割り当て部
33 対応データ作成部
34 定義反映部
35 分散処理部
51A〜51C サーバ管理テーブル
56A 名称情報(識別子情報)
56B GPNAME情報(識別子情報)
56D ACB名情報(識別子情報)
61A〜61C サーバ側定義情報
77 分散定義情報
78 通信定義情報

Claims (4)

  1. 複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、
    抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、
    前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた複数の前記個別アドレスに対し、1つの特定のアドレスを関連付けて登録し、
    1つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数のアプリケーションに対して1つのアドレスを付与し、
    前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する、
    ことを特徴とする処理振分け方法。
  2. 前記識別子情報は、少なくとも、アプリケーション名または、プログラム名を含み、いずれかの前記識別子情報が一致する複数の前記アプリケーションを、分散対象として抽出することを特徴とする請求項1に記載の分散処理システムの管理方法。
  3. 複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出し、
    抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに個別アドレスを割り当て、
    前記アプリケーション群に含まれるアプリケーションのそれぞれに割り当てた複数の前記個別アドレスに対し、1つ特定のアドレスを関連付けて登録し、
    1つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数のアプリケーションに対して1つのアドレスを付与し、
    前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する処理をコンピュータに実行させることを特徴とする処理振分けプログラム。
  4. 複数の情報処理装置それぞれに配備された複数のアプリケーションのうち、同じ識別子情報が付与されたアプリケーション群を抽出する抽出部と、
    抽出された前記アプリケーション群に含まれるアプリケーションそれぞれに対して個別アドレスを割り当てると共に、複数の前記個別アドレスに対して1つの特定のアドレスを割り当て、1つの情報処理装置に配置された複数のアプリケーションのうち、同じ識別子情報が付与されていない複数のアプリケーションに対して1つのアドレスを付与する割り当て部と、
    前記特定のアドレス宛ての処理要求を前記特定のアドレスと関連付けて登録されたいずれかの前記個別アドレスに対応するアプリケーションに振分けて送信する分散処理部と、
    を含むことを特徴とする処理振分けシステム。
JP2013232810A 2013-11-11 2013-11-11 処理振分け方法及び処理振分けプログラム並びに処理振分けシステム Active JP6241215B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013232810A JP6241215B2 (ja) 2013-11-11 2013-11-11 処理振分け方法及び処理振分けプログラム並びに処理振分けシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013232810A JP6241215B2 (ja) 2013-11-11 2013-11-11 処理振分け方法及び処理振分けプログラム並びに処理振分けシステム

Publications (2)

Publication Number Publication Date
JP2015095012A JP2015095012A (ja) 2015-05-18
JP6241215B2 true JP6241215B2 (ja) 2017-12-06

Family

ID=53197388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013232810A Active JP6241215B2 (ja) 2013-11-11 2013-11-11 処理振分け方法及び処理振分けプログラム並びに処理振分けシステム

Country Status (1)

Country Link
JP (1) JP6241215B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6912357B2 (ja) * 2017-11-13 2021-08-04 Toyo Tire株式会社 マスターバッチの製造方法、タイヤ用ゴム組成物の製造方法およびタイヤの製造方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3942617B2 (ja) * 2005-02-10 2007-07-11 株式会社日立製作所 分散処理システムの計算機資源管理方法
JP2010061283A (ja) * 2008-09-02 2010-03-18 Fujitsu Ltd ロードバランサ設定プログラム,ロードバランサ設定方法及びロードバランサ設定装置

Also Published As

Publication number Publication date
JP2015095012A (ja) 2015-05-18

Similar Documents

Publication Publication Date Title
CN107580083B (zh) 一种容器ip地址分配的方法和系统
JP6974218B2 (ja) ストレージシステム及びその動作方法
JP6993057B2 (ja) 動的ホストデバイスインスタンスモデル再構成を使用するプロバイダネットワークにおける容量管理
EP3668009A1 (en) Life cycle management method and device for network service
US11556369B2 (en) Virtual machine deployment method and OMM virtual machine
US10146519B2 (en) Generation and deployment of scripts for large scale processing framework services
US10333800B2 (en) Allocating physical nodes for processes in an execution plan
US9787761B2 (en) Allocating physical nodes for processes in an execution plan
US11397622B2 (en) Managed computing resource placement as a service for dedicated hosts
JP6374845B2 (ja) 計算機システム及びコンテナ管理方法
JP2013186654A (ja) ホスト提供システム及びホスト提供方法
JP5987181B2 (ja) 分散処理システム及び分散処理システムの管理方法
EP3531282A1 (en) Accelerator loading method and system, and accelerator loading apparatus
JP2018147301A (ja) 計算機システム及び処理の割当方法
JP6511025B2 (ja) リソース割当装置、リソース割当方法およびリソース割当プログラム
JP6241215B2 (ja) 処理振分け方法及び処理振分けプログラム並びに処理振分けシステム
JP2022078349A (ja) ネットワークシステムの制御方法および制御装置
JP6273880B2 (ja) 仮想マシン管理システム、仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
US20180150336A1 (en) Management system and control method
US10180830B2 (en) Information processing device, deployment method, and recording medium
KR20150137766A (ko) 가상머신 스택 생성 시스템 및 방법
US20230176908A1 (en) Systems, methods and computer program products for job management
JP6385304B2 (ja) 計算機資源提供サービスの管理装置
JP6422293B2 (ja) 通信システム
JP5811301B2 (ja) 仮想マシンの割当処理を行う情報処理装置及び仮想マシン割当方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171010

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171023

R150 Certificate of patent or registration of utility model

Ref document number: 6241215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150