(57)【特許請求の範囲】
【請求項１】
それぞれタイプの異なる複数の基本システムの特徴を定義したテンプレート情報を記憶するテンプレート情報記憶手段と、実分散システムに導入するノードが組み込まれる基本システムを一意に識別する名称、その基本システムのタイプ、その基本システムに導入するノード数、ノードが接続されるサブネットに関する情報を含む構成情報を１以上記憶する構成情報記憶手段と、サブネット毎にそのサブネットに属するＩＰアドレスの払い出しを行うＩＰアドレス情報管理手段と、前記テンプレート情報および前記構成情報を入力して解析し、前記ＩＰアドレス情報管理手段から必要なＩＰアドレスを取得しながら、仮想的な分散システムの情報を生成し、生成した仮想的な分散システムの情報を記憶手段に保存する管理制御手段とを備えたことを特徴とするＩＰアドレス管理システム。
【請求項２】
前記テンプレート情報は、その基本システムを構成するノードが接続するサブネット毎にサブネットの用途とロードバランサの有無あるいは個数を含み、前記構成情報に含まれるノードが接続されるサブネットに関する情報は、接続先サブネット毎に、そのサブネットを一意に識別するための識別名、サブネットマスクおよび当該ノードが提供するサービス用に割当てるＩＰアドレスの個数を含むことを特徴とする請求項１記載のＩＰアドレス管理システム。
【請求項３】
前記仮想的な分散システムの情報は、ノード、サブネット、ロードバランサ、ＩＰアドレス毎のデータ構造体であるオブジェクトの集合として生成され、各オブジェクトは自オブジェクトに関する属性値および他のオブジェクトとの関連を示す属性値を持つことを特徴とする請求項２記載のＩＰアドレス管理システム。
【請求項４】
前記管理制御手段は、生成した仮想的な分散システムの情報から、ＩＰアドレスとホスト名との対応関係を示すＨＯＳＴＳファイルを生成する手段を備えることを特徴とする請求項１、２または３記載のＩＰアドレス管理システム。
【請求項５】
前記管理制御手段は、生成した仮想的な分散システムの情報から、ロードバランサの負荷分散ＩＰアドレスと負荷分散の対象となるノード側のＩＰアドレスとの対応関係を示すロードバランサ設定ファイルを生成する手段を備えることを特徴とする請求項１、２または３記載のＩＰアドレス管理システム。
【請求項６】
コンピュータを、利用者端末からの指示に従って、それぞれタイプの異なる複数の基本システムの特徴を定義したテンプレート情報を生成してテンプレート情報記憶手段に保存するテンプレート情報定義手段、利用者端末からの指示に従って、実分散システムに導入するノードが組み込まれる基本システムを一意に識別する名称、その基本システムのタイプ、その基本システムに導入するノード数、ノードが接続されるサブネットに関する情報を含む構成情報を１以上含んで構成される構成情報を生成して構成情報記憶手段に保存する構成情報定義手段、サブネット毎にそのサブネットに属するＩＰアドレスの払い出しを行うＩＰアドレス情報管理手段、前記テンプレート情報および前記構成情報を入力して解析し、前記ＩＰアドレス情報管理手段から必要なＩＰアドレスを取得しながら、仮想的な分散システムの情報を生成し、生成した仮想的な分散システムの情報を記憶手段に保存する管理制御手段、として機能させるＩＰアドレス管理プログラム。
【請求項７】
前記テンプレート情報は、その基本システムを構成するノードが接続するサブネット毎にサブネットの用途とロードバランサの有無あるいは個数を含み、前記構成情報に含まれるノードが接続されるサブネットに関する情報は、接続先サブネット毎に、そのサブネットを一意に識別するための識別名、サブネットマスクおよび当該ノードが提供するサービス用に割当てるＩＰアドレスの個数を含むことを特徴とする請求項６記載のＩＰアドレス管理プログラム。
【請求項８】
前記仮想的な分散システムの情報は、ノード、サブネット、ロードバランサ、ＩＰアドレス毎のデータ構造体であるオブジェクトの集合として生成され、各オブジェクトは自オブジェクトに関する属性値および他のオブジェクトとの関連を示す属性値を持つことを特徴とする請求項７記載のＩＰアドレス管理プログラム。
【請求項９】
前記管理制御手段は、生成した仮想的な分散システムの情報から、ＩＰアドレスとホスト名との対応関係を示すＨＯＳＴＳファイルを生成する手段を備えることを特徴とする請求項６、７または８記載のＩＰアドレス管理プログラム。
【請求項１０】
前記管理制御手段は、生成した仮想的な分散システムの情報から、ロードバランサの負荷分散ＩＰアドレスと負荷分散の対象となるノード側のＩＰアドレスとの対応関係を示すロードバランサ設定ファイルを生成する手段を備えることを特徴とする請求項６、７または８記載のＩＰアドレス管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は大規模分散システムにおけるＩＰアドレスの管理技術に関し、特にＩＰアドレスの割当てやＨＯＳＴＳファイルの生成などの作業を支援するＩＰアドレス管理システムに関する。
【０００２】
【従来の技術】
通信プロトコルにＴＣＰ／ＩＰを採用したＬＡＮ等を用いて大規模な分散システムを新規に構築する場合、あるいは既に構築されているシステムを拡張する場合、分散システムを構成するノード等に対してＩＰアドレスを割り当てる必要がある。また、文字列からなるホスト名を用いた通信を行いたい場合、ＩＰアドレスとホスト名との対応表であるＨＯＳＴＳファイルを生成し、各ホストに設定する必要がある。更に、ロードバランサを使って負荷分散を行う場合、ロードバランサに割り当てたＶＩＰ（Ｖｉｒｔｕａｌ  ＩＰ）アドレスと負荷分散の対象となるノードのＩＰアドレス（対象ＩＰアドレス）との対応表であるロードバランサ設定ファイルを作成し、このファイルに基づいてロードバランサに対象ＩＰアドレス等を設定する必要がある。
【０００３】
これらの作業は分散システムの規模が大きくなればなるほど作業量が増大するため、従来より作業者を支援するシステムが幾つか提案されている。例えば、後述する特許文献１には、システム管理ホスト上で或るホストの「ホスト名：ＩＰアドレス」の情報を更新すると、システム管理ホスト上のＩＰアドレス構成情報を自動更新すると同時に、全てのホスト上の定義情報（ＨＯＳＴＳファイル）を同報的に更新することにより、分散システム拡張時におけるＨＯＳＴＳファイルの更新作業を支援するシステムが開示されている。ＨＯＳＴＳファイルの更新作業を支援するシステムは、後述する特許文献２にも開示されている。
【０００４】
【特許文献１】
特開平１１−７４９０１号公報
【特許文献２】
特開２００１−２０３６９９号公報
【０００５】
【発明が解決しようとする課題】
特許文献１および２に記載される従来技術によれば、各ホスト上のＨＯＳＴＳファイルの更新作業を自動化することができる。しかし、各ホストの保有するＨＯＳＴＳファイルをどのように更新するかの更新元の情報、つまり、おおもとのＨＯＳＴＳファイルの生成は作業者自身の手作業に任されているのが現状である。ＨＯＳＴＳファイルを人手によって全て作成するには、各ノードに重複しないようにＩＰアドレスを割振る必要があり、冗長化構成によって信頼性を高めたクラスタシステムなどの複雑なシステムでは、システム内に複数のノードが存在し、各ノード毎にＩＰアドレスが必要になる上、各ノードが提供するサービスの数に比例した数のＩＰアドレスが必要である。従って、各ノードへのＩＰアドレスの割振り作業だけでも相当な作業量になり、誤りなくＩＰアドレスを割振ることは容易でない。若し、重複したＩＰアドレスを異なる複数のノードに割振ってしまうと、正確な通信が行えない。同様の問題は、ロードバランサ設定ファイルの生成についても生じる。
【０００６】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、大規模分散システムの新規構築あるいは拡張時におけるＩＰアドレスの割当て作業を簡便に行えるＩＰアドレス管理システムを提供することにある。
【０００７】
本発明の別の目的は、大規模分散システムの新規構築あるいは拡張時におけるＨＯＳＴＳファイルの生成作業を簡便に行えるＩＰアドレス管理システムを提供することにある。
【０００８】
本発明の更に別の目的は、ロードバランサによって負荷分散を行う大規模分散システムの新規構築あるいは拡張時におけるロードバランサ設定ファイルの生成作業を簡便に行えるＩＰアドレス管理システムを提供することにある。
【０００９】
【課題を解決するための手段】
本発明のＩＰアドレス管理システムは、それぞれタイプの異なる複数の基本システムの特徴（例えば、その基本システムを構成するノードが接続するサブネット毎の、サブネットの用途とロードバランサの有無あるいは個数）を定義したテンプレート情報を記憶するテンプレート情報記憶手段と、実分散システムに導入するノードが組み込まれる基本システムを一意に識別する名称、その基本システムのタイプ、その基本システムに設置するノード数、ノードが接続されるサブネットに関する情報（例えば、接続先サブネット毎の、そのサブネットを一意に識別するための識別名、サブネットマスクおよび当該ノードが提供するサービス用に割当てるＩＰアドレスの個数）を含む構成情報を１以上記憶する構成情報記憶手段と、サブネット毎にそのサブネットに属するＩＰアドレスの払い出しを行うＩＰアドレス情報管理手段と、前記テンプレート情報および前記構成情報を入力して解析し、前記ＩＰアドレス情報管理手段から必要なＩＰアドレスを取得しながら、仮想的な分散システムの情報を生成し、生成した仮想的な分散システムの情報を記憶手段に保存する管理制御手段とを備えている。
【００１０】
ここで、前記仮想的な分散システムの情報は、ノード、サブネット、ロードバランサ、ＩＰアドレス毎のデータ構造体であるオブジェクトの集合として生成され、各オブジェクトは自オブジェクトに関する属性値および他のオブジェクトとの関連を示す属性値を持つものであって良い。
【００１１】
また本発明のＩＰアドレス管理システムにおける前記管理制御手段は、生成した仮想的な分散システムの情報から、ＩＰアドレスとホスト名との対応関係を示すＨＯＳＴＳファイルを生成する手段を備えることを特徴とする。
【００１２】
また本発明のＩＰアドレス管理システムにおける前記管理制御手段は、生成した仮想的な分散システムの情報から、ロードバランサの負荷分散ＩＰアドレスと負荷分散の対象となるノード側のＩＰアドレスとの対応関係を示すロードバランサ設定ファイルを生成する手段を備えることを特徴とする。
【００１３】
【作用】
本発明のＩＰアドレス管理システムにあっては、テンプレート情報記憶手段が、それぞれタイプの異なる複数の基本システムの特徴を定義したテンプレート情報を記憶し、構成情報記憶手段が、実分散システムに導入するノードが組み込まれる基本システムを一意に識別する名称、その基本システムのタイプ、その基本システムに設置するノード数、ノードが接続されるサブネットに関する情報を含む構成情報を１以上記憶しており、管理制御手段が、テンプレート情報および構成情報を入力して解析し、サブネット毎にそのサブネットに属するＩＰアドレスの払い出しを行うＩＰアドレス情報管理手段から必要なＩＰアドレスを取得しながら、仮想的な分散システムの情報を生成して記憶手段に保存し、また仮想的な分散システムの情報からＨＯＳＴＳファイルとロードバランサ設定ファイルとを自動生成する。
【００１４】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１を参照すると、本発明の実施の形態にかかるＩＰアドレス管理システムは、処理装置１、記憶装置２、利用者端末３および記録媒体４から構成されている。処理装置１は、テンプレート情報定義部１１、構成情報定義部１２、管理制御部１３およびＩＰアドレス情報管理部１４を含む。記憶装置２は、テンプレート情報ファイル２１、構成情報ファイル２２、作業用ファイル２３、ＨＯＳＴＳファイル２４およびロードバランサ設定ファイル２５を記憶する。利用者端末３は、キーボードやマウス等の入力装置３１および液晶ディスプレイやプリンタ等の出力装置３２を含む。
【００１６】
記憶装置２は、例えばコンピュータの外部記憶装置（磁気ディスク等）で実現され、処理装置１は、例えばコンピュータの中央処理装置および主記憶で実現される。記録媒体４は、磁気ディスクやＣＤ−ＲＯＭ等のコンピュータ可読記録媒体であり、ＩＰアドレス管理プログラムを記録する。この記録媒体４に記録されたＩＰアドレス管理プログラムは、処理装置１を構成するコンピュータの中央処理装置に読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に前述したテンプレート情報定義部１１、構成情報定義部１２、管理制御部１３およびＩＰアドレス情報管理部１４の各機能部を実現する。
【００１７】
テンプレート情報定義部１１は、システム管理者等の利用者から利用者端末３を通じて入力されるデータに従って、大規模分散システムを構成する単位システムの特徴を、タイプの異なる単位システム毎に定義したテンプレート情報を作成する手段である。作成されたテンプレート情報は、テンプレート情報ファイル２１に記録される。図２〜図６にそれぞれ異なるタイプの単位システムの一例を示し、図７にテンプレート情報の一例を示す。
【００１８】
図２〜図６に示す５種類の単位システムのうち、図２〜図５はクラスタシステムであり、図６は非クラスタシステムである。また、図２〜図５のクラスタシステムのうち、図２〜図４はロードバランサを使用した負荷分散型クラスタであり、図５は共有ディスクタイプあるいはデータミラータイプなどと呼ばれるクラスタである。以下、各タイプの基本システムの特徴について説明する。
【００１９】
図２の基本システムは、ノード（サーバやコンピュータ）が、メンテナンス用サブネット、業務１系サブネット、業務０系サブネットの合計３つのサブネットに接続され、業務１系サブネットおよび業務０系サブネットのそれぞれが二重化されたロードバランサ（ＬＢ）によって冗長化されている。ここで、業務１系、業務０系とは、信頼性を高めるために業務系を二重化した場合のそれぞれの系を意味する。従って、図２の基本システムは、ロードバランサも二重化されているので、合計四重化されていることになる。図２には、ノードは１個しか図示していないが、一般に２以上のノードが接続される。接続するノード数は、後述するように構成情報で利用者が指定する。２以上のノードのそれぞれは、全て同じ業務１系サブネット、業務０系サブネットに接続され、二重化されたロードバランサによって各ノードの負荷が分散される。以下、図２の基本システムのタイプをタイプＡと呼ぶ。
【００２０】
タイプＡのテンプレート情報には、図７の１行目に示すように、タイプ名にＡが定義され、単位ノード数は未定義である（図中の−の記号は未定義であることを示す）。また、接続サブネットの情報として、接続サブネット１、接続サブネット２、接続サブネット３の３つのサブネットについて、用途とロードバランサ（ＬＢ）の数が定義される。接続サブネット４、接続サブネット５は未定義である。
【００２１】
図３の基本システムは、ノード（サーバやコンピュータ）が、メンテナンス用サブネット、業務１系サブネット、業務０系サブネット、外部サブネット（インターネットのサブネット）の合計４つのサブネットに接続され、外部サブネットが二重化されたロードバランサ（ＬＢ）によって冗長化されている。ロードバランサによって冗長化されない業務１系サブネット、業務０系サブネットとの接続は一般にＬ３（レベル３）スイッチで行われる。図３には、ノードは１個しか図示していないが、一般に２以上のノードが接続される。接続するノード数は後述するように構成情報で利用者が指定する。２以上のノードのそれぞれは、全て同じ業務１系サブネット、業務０系サブネット、外部サブネットに接続される。二重化されたロードバランサを持つ外部サブネットでは、インターネットから流入するリクエストが負荷分散のために各ノードに分散される。以下、図３の基本システムのタイプをタイプＢと呼ぶ。
【００２２】
タイプＢのテンプレート情報には、図７の２行目に示すように、タイプ名にＢが定義され、単位ノード数は未定義である。また、接続サブネットの情報として、接続サブネット１、接続サブネット２、接続サブネット３、接続サブネット４の４つのサブネットについて、用途とロードバランサ（ＬＢ）の数が定義される。接続サブネット５は未定義である。
【００２３】
図４の基本システムは、ノード（サーバやコンピュータ）が、メンテナンス用サブネット、業務１系サブネット、業務０系サブネット、２つの外部サブネット（インターネットのサブネット）の合計５つのサブネットに接続され、業務１系サブネットおよび業務０系サブネットのそれぞれが二重化されたロードバランサ（ＬＢ）によって冗長化されている。２つの外部サブネットに接続するのは、外部接続を冗長化して信頼性を高めるためである。図４には、ノードは１個しか図示していないが、一般に２以上のノードが接続される。接続するノード数は後述するように構成情報で利用者が指定する。２以上のノードのそれぞれは、全て同じ業務１系サブネット、業務０系サブネット、外部サブネットに接続される。以下、図４の基本システムのタイプをタイプＣと呼ぶ。
【００２４】
タイプＣのテンプレート情報には、図７の３行目に示すように、タイプ名にＣが定義され、単位ノード数は未定義である。また、接続サブネットの情報として、接続サブネット１、接続サブネット２、接続サブネット３、接続サブネット４、接続サブネット５の５つのサブネットについて、用途とロードバランサ（ＬＢ）の数が定義される。
【００２５】
図５の基本システムは、２つのノード（サーバやコンピュータ）のそれぞれが、メンテナンス用サブネット、業務１系サブネット、業務０系サブネットの合計３つのサブネットに接続されている。以下、図５の基本システムのタイプをタイプＤと呼ぶ。
【００２６】
タイプＤのテンプレート情報には、図７の４行目に示すように、タイプ名にＤが定義され、単位ノード数に２が定義される。また、接続サブネットの情報として、接続サブネット１、接続サブネット２、接続サブネット３の３つのサブネットについて、用途とロードバランサ（ＬＢ）の数（この場合は全て０）が定義される。
【００２７】
図６の基本システムは、単一のノード（サーバやコンピュータ）が、メンテナンス用サブネット、業務１系サブネット、業務０系サブネットの合計３つのサブネットに接続されている。以下、図６の基本システムのタイプをタイプＥと呼ぶ。
【００２８】
タイプＥのテンプレート情報には、図７の５行目に示すように、タイプ名にＥが定義され、単位ノード数に１が定義される。また、接続サブネットの情報として、接続サブネット１、接続サブネット２、接続サブネット３の３つのサブネットについて、用途とロードバランサ（ＬＢ）の数（この場合は全て０）が定義される。
【００２９】
以上のような各タイプ毎のテンプレート情報は、システム管理者等が利用者端末３からテンプレート情報定義部１１を起動し、このテンプレート情報定義部１１の制御の下に作成して、テンプレート情報ファイル２１に記憶しておく。テンプレート情報定義部１１は、例えば各種のテキストエディタで実現することが可能である。
【００３０】
ここで、各タイプの基本システムにおいて、ノードおよびロードバランサに割り当てる必要があるＩＰアドレスについて説明する。
【００３１】
先ず、タイプの種類にかかわらず、メンテナンス用サブネットに対しては各ノードに１つのＩＰアドレスを割り当てる。このＩＰアドレスを以下、メンテナンス用ＩＰアドレスと呼び、ＩＰmと表記する。図２〜図６では、黒丸●がＩＰmである。次に、ロードバランサを使用するタイプでは、１つのロードバランサ毎に、そのロードバランサが正常に動作しているか否かを定期的に通信して監視するためのヘルスチェック用のＩＰアドレスを１つ割り当てる。このＩＰアドレスを以下、ヘルスチェック用ＩＰアドレスと呼び、ＩＰhと表記する。図２〜図４では、白三角△がＩＰhである。また、ロードバランサを使用するタイプでは、負荷分散ＩＰアドレスであるＶＩＰを、ノードが提供するサービスの種類数分だけ割り当てる。このＶＩＰを以下、ＩＰvと表記する。図２〜図４では、白丸○がＩＰvである。
【００３２】
メンテナンス用ＩＰアドレスＩＰm、ヘルスチェック用ＩＰアドレスＩＰh、負荷分散ＩＰアドレス（ＶＩＰ）ＩＰv以外に、ノードに割当てるＩＰアドレスを以下、ノード用ＩＰアドレスと呼び、ＩＰnと表記する。図２〜図６では、白四角□がＩＰnである。このノード用ＩＰアドレスの個数はロードバランサを持つタイプと持たないタイプとで相違する。ロードバランサを持つタイプでは、サブネット毎にロードバランサのＶＩＰに１対１に対応する個数だけ設けられる。ロードバランサを持たないタイプでは、サブネット当り１個である。なお、図５のタイプＤでは、更に稼動系のノードと待機系のノードとの間で移動するＩＰアドレスがサブネット当り１個設けられる。
【００３３】
以上のようなノードおよびロードバランサへのＩＰアドレスの割当規則は、本実施の形態では、管理制御部１３内に組み込んであるが、テンプレート情報の一部として定義するようにしても良い。
【００３４】
再び図１を参照すると、構成情報定義部１２は、利用者から利用者端末３を通じて入力されるデータに従って、新規構築あるいは拡張する大規模分散システムに導入するノードに関連する各種の情報を定義した構成情報を作成する手段である。ノードに関連する各種の情報には、当該ノードを含む基本システムを一意に識別する名称、その基本システムのタイプ、ノード数、ノードが接続されるサブネットに関する情報が含まれる。作成された構成情報は、構成情報ファイル２２に記録される。
【００３５】
図８を参照すると、構成情報は、日付、システム名、タイプ名、ノード数およびサブネット情報の５項目で構成される。日付には、構成情報を追加した日時が設定される。システム名には導入するノードで構成する基本システムの名前が設定され、タイプ名にはその基本システムのタイプが設定される。ノード数は設置するノードの数である。例えば、１行目の構成情報は、その追加日時が２００２年９月１１日であり、基本システム名が「Ａ−１」であり、その基本システムのタイプがＡ（図２）であり、追加するノード数が２であることを示している。また、２行目の構成情報は、その追加日時が２００２年９月１１日であり、基本システム名が「Ｂ−１」であり、その基本システムのタイプがＢ（図３）であり、追加するノード数が２であることを示している。利用者が指定する基本システム名は、システムで一意な値であれば何でも良い。
【００３６】
各構成情報におけるサブネット情報には、ノードが接続されるサブネットに関する情報として、例えば図９（ａ）に示すように、接続サブネット毎に、接続先のサブネットを一意に識別するための名前、サブネットマスクおよびＩＰ割当数が設定される。ここで、ＩＰ割当数は、ノード用ＩＰアドレスのうちノードが提供するサービス用のＩＰアドレスの個数である。
【００３７】
図８の１行目の構成情報におけるサブネット情報には、例えば、図９（ｂ）に示すように、メンテナンス用のサブネットに関する情報として、そのサブネットの名前「ＭＳ−１」、サブネットマスク「ＭＳ−１Ｍ」、ＩＰ割当数＝１が設定され、業務１系用のサブネットに関する情報として、そのサブネットの名前「Ｇ１Ｓ−１」、サブネットマスク「Ｇ１Ｓ−１Ｍ」、ＩＰ割当数＝３が設定され、業務０系用のサブネットに関する情報として、そのサブネットの名前「Ｇ０Ｓ−１」、サブネットマスク「Ｇ０Ｓ−１Ｍ」、ＩＰ割当数＝３が設定される。また、図８の２行目の構成情報におけるサブネット情報には、例えば、図９（ｃ）に示すように、メンテナンス用のサブネットに関する情報として、そのサブネットの名前「ＭＳ−２」、サブネットマスク「ＭＳ−２Ｍ」、ＩＰ割当数＝１が設定され、業務１系用のサブネットに関する情報として、そのサブネットの名前「Ｇ１Ｓ−２」、サブネットマスク「Ｇ１Ｓ−２Ｍ」、ＩＰ割当数＝１が設定され、業務０系用のサブネットに関する情報として、そのサブネットの名前「Ｇ０Ｓ−２」、サブネットマスク「Ｇ０Ｓ−２Ｍ」、ＩＰ割当数＝１が設定され、外部接続用のサブネットに関する情報として、そのサブネットの名前「ＩＳ−１」、サブネットマスク「ＩＳ−１Ｍ」、ＩＰ割当数＝２が設定される。なお、サブネットマスク「ＭＳ−１Ｍ」等は説明の便宜上、記号化しており、実際には、「１９２．１６８．１．０／２４」と言った具体的な値が設定される。異なるサブネットには異なるサブネットマスクを設定する必要がある。また、利用者が指定するサブネット名は、システムで一意な値なら何でも良い。
【００３８】
以上のような各構成情報は、システム管理者等が利用者端末３から構成情報定義部１２を起動し、この構成情報定義部１２の制御の下に作成して、構成情報ファイル２２に記憶しておく。構成情報定義部１２は、例えば各種のテキストエディタで実現することが可能である。
【００３９】
次にＩＰアドレス情報管理部１４について説明する。ＩＰアドレス情報管理部１４は、サブネット毎に、そのサブネットに属するＩＰアドレスを払い出す機能を持つ。図１０にＩＰアドレス情報管理部１４が備えるＩＰアドレス管理用のテーブルを示す。ＩＰアドレス情報管理部１４は、このテーブルを使用して、システムで使用可能な全てのサブネットマスク毎に払い出し済みＩＰアドレスを管理する。ＩＰアドレス情報管理部１４は、管理制御部１３から、サブネットマスクを指定したＩＰアドレスの取得要求を受信すると、指定されたサブネットマスクに属するＩＰアドレスのうち、未だ払い出していないＩＰアドレスを探して、要求元の管理制御部１３に払い出す。
【００４０】
次に管理制御部１３について説明する。管理制御部１３は、システム管理者等から利用者端末３を通じて起動されると、テンプレート情報ファイル２１および構成情報ファイル２２を入力して解析し、ＩＰアドレス情報管理部１４から必要なＩＰアドレスを取得しながら、仮想的な分散システムの情報を生成して作業用ファイル２３に保存し、また、この仮想的な分散システムの情報から最終的にＨＯＳＴＳファイル２４およびロードバランサ設定ファイル２５を生成して、記憶装置２に出力する。ここで、仮想的な分散システムとは、ノードを表すオブジェクト、サブネットを表すオブジェクト、ロードバランサを表すオブジェクト、取得したＩＰアドレスを表すオブジェクトによって、実際の分散システムと同様な構成の分散システムを生成したものを意味する。オブジェクトは、一種のデータ構造体であり、各種の属性を持つ。属性には、オブジェクト名称やＩＰアドレス値などの自オブジェクトに関する属性と、他のオブジェクトとの関連性を示す属性とがある。以下、管理制御部１３の機能の詳細を図１１および図１２のフローチャートを参照して説明する。
【００４１】
管理制御部１３は、利用者端末３からの指示で起動されると、構成情報ファイル２２を入力し、先ず１つ目の構成情報に注目する（Ｓ１０１）。次に、注目中の構成情報における一つ目のノードに注目し（Ｓ１０２）、そのノードのオブジェクトを生成する（Ｓ１０３）。ノードのオブジェクト名は、システムで一意な値であれば何でも良い。ここでは、システム名に通番を連結したものを使用する。例えば図８の１行目の構成情報における１つ目のノードには、「Ａ−１−１」の名前を付ける。
【００４２】
次に、注目中のノードの１つ目のサブネットに注目し（Ｓ１０４）、そのサブネットのオブジェクトが既に生成済みか否かを、今までに生成された仮想分散システムを調べて判定する（Ｓ１０５）。サブネットのオブジェクトが未だ生成されていないときは、そのサブネットのオブジェクトを生成する（Ｓ１０６）。サブネットのオブジェクト名は、システムで一意な値であれば何でも良い。ここでは、構成情報にて利用者が指定したサブネット名を使用する。この後、当該サブネットに関して、ステップＳ１０７〜Ｓ１１５の処理を実行する。他方、当該サブネットのオブジェクトが既に生成済みであれば、ステップＳ１０６をスキップして、ステップＳ１０７〜Ｓ１１５の処理を実行する。
【００４３】
ステップＳ１０７では、注目中サブネットがロードバランサを持つかどうかを判定する。これは、注目中構成情報におけるタイプ名と同じタイプ名を持つテンプレート情報（図７）の注目中サブネットのロードバランサ（ＬＢ）数を調べることで判定する。ロードバランサ数が０でロードバランサを持たないサブネットであれば、ステップＳ１１４へと処理を進める。ロードバランサ数が０で無ければ、ロードバランサのオブジェクトが既に生成済みかどうかを、今までに生成された仮想的な分散システムを調べて判定する（Ｓ１０８）。ロードバランサのオブジェクトが既に生成済みであれば、ステップＳ１１４へと処理を進める。
【００４４】
ロードバランサのオブジェクトが未だ生成されていないときは、ステップＳ１０７で調べたロードバランサの数だけのロードバランサのオブジェクトを生成する（Ｓ１０９）。ロードバランサのオブジェクト名は、システムで一意な値であれば何でも良い。ここでは、例えば注目中のサブネットの名前に通番を連結したものを使用する。例えば、注目中サブネット名が「Ｇ１Ｓ−１」であれば、１つ目のロードバランサ名を「Ｇ１Ｓ−１−１」、２つ目のロードバランサ名を「Ｇ１Ｓ−１−２」とする。次に、ロードバランサ１個当りに１個必要なヘルスチェック用ＩＰアドレスＩＰhをＩＰアドレス情報管理部１４から取得する（Ｓ１１０）。このときＩＰアドレス情報管理部１４に指定するサブネットマスクは、注目中サブネットのサブネットマスクとして構成情報中で利用者が指定したものを使う。次に、取得したヘルスチェック用ＩＰのオブジェクトを生成する（Ｓ１１１）。ヘルスチェック用ＩＰのオブジェクト名はシステムで一意な値であれば何でも良い。ここでは、ロードバランサのオブジェクト名に通番を連結したものを使用する。次に、負荷分散ＩＰアドレス（ＶＩＰ）ＩＰvをＩＰアドレス情報管理部１４から取得する（Ｓ１１２）。取得するＩＰvの数は注目中サブネットの情報中で利用者が指定した「ＩＰ割当数」に等しい。このときＩＰアドレス情報管理部１４に指定するサブネットマスクは、注目中サブネットのサブネットマスクとして利用者が指定したものを使う。次に、取得した負荷分散ＩＰアドレスＩＰvのオブジェクトを生成する（Ｓ１１３）。ＩＰvのオブジェクト名は、システムで一意であれば何でも良い。ここでは、注目中サブネットに存在するロードバランサのオブジェクト名を連結したものに更に通番を連結したものを使用する。そして、ステップＳ１１４へと処理を進める。
【００４５】
ステップＳ１１４では、ノード用ＩＰアドレスＩＰnをＩＰアドレス情報管理部１４から取得する。取得するＩＰnの個数は、注目中サブネットがロードバランサを持つ場合は、注目中サブネットに生成した負荷分散ＩＰアドレスＩＰvと同じ数であり、注目中サブネットがロードバランサを持たない場合、１個である。但し、タイプＤにかかるサブネットの場合は移動するＩＰアドレスを２つのノード間で１個必要になるため、この２つのノードの一方を処理する際に１つだけ余分に取得しておく。ノード用ＩＰアドレスＩＰnを取得すると、そのオブジェクトを生成する（Ｓ１１５）。ＩＰnのオブジェクト名は、システムで一意な値であれば何でも良い。ここでは、注目中ノードのオブジェクト名と注目中サブネットのオブジェクト名とを連結したものに更に通番を連結したものを使用する。また、後のロードバランサ設定ファイルの作成を容易にするために、ロードバランサを持つサブネットの場合、ＩＰnのオブジェクトの属性値の１つに、対応する負荷分散ＩＰアドレスＩＰvのオブジェクト名を設定しておく。
【００４６】
注目中サブネットについて以上の処理を終えると、注目中のノードに次に接続されるサブネットが存在するか否かを注目中構成情報のサブネット情報から調べ（Ｓ１１６）、次のサブネットがあれば、次のサブネットに注目を移し（Ｓ１１７）、ステップＳ１０５に戻って上述したと同様の処理を繰り返す。次のサブネットが無ければ、注目中の構成情報に次のノードが存在するか否かを調べ（Ｓ１１８）、存在すれば、次のノードに注目を移し（Ｓ１１９）、ステップＳ１０３に戻って上述したと同様の処理を繰り返す。次のノードが無ければ、構成情報ファイル２２に次の構成情報が存在するか否かを調べ（Ｓ１１２０）、存在すれば、次の構成情報に注目を移し（Ｓ１２１）、無ければ、図１２のステップＳ１３１へと処理を進める。ステップＳ１３１へ進む時点では、仮想的な分散システムの生成が完了していることになる。
【００４７】
ステップＳ１３１では、生成した仮想分散システムの情報を作業用ファイル２３に保存する。次に、仮想分散システムの情報からＨＯＳＴＳファイル２４を生成し、記憶装置２に保存する（Ｓ１３２）。具体的には、仮想分散システムの情報中からＩＰアドレスのオブジェクトを全て検索し、そのオブジェクトに設定されているＩＰアドレス値とそのオブジェクトのオブジェクト名との対を、ＩＰアドレスとホスト名の対として抽出して、ＨＯＳＴＳファイル２４へ出力する。
【００４８】
次に、仮想分散システムの情報からロードバランサ設定ファイル２５を生成し、記憶装置２に保存する（Ｓ１３３）。具体的には、仮想分散システムの情報中から、ロードバランサのオブジェクトを全て検索し、そのオブジェクトに設定されているＩＰアドレス値とそのオブジェクト名との対を、ＶＩＰアドレスとロードバランサ名の対として抽出する。更に、ＶＩＰアドレスとロードバランサ名の対毎に、そのロードバランサ名を属性値に持つノード側のＩＰアドレスのオブジェクトを検索し、そのオブジェクトに設定されているＩＰアドレス値とそのＩＰアドレスが設けられているノードのオブジェクト名との対を、対象ＩＰアドレスとノード名の対として抽出し、ＶＩＰアドレスとロードバランサ名の対と組にしてロードバランサ設定ファイル２５に出力する。
【００４９】
図１３に、図８の１行目の構成情報を処理した際に生成される仮想分散システムの概要を示す。図１１の処理の流れに従って、先ず、オブジェクト名「Ａ−１−１」を持つノードのオブジェクトが生成される（Ｓ１０３）。次に、オブジェクト名「ＭＳ−１」を持つメンテナンス用サブネットのオブジェクトが生成され（Ｓ１０６）、当該サブネットにはロードバランサが存在しないのでステップＳ１０８〜Ｓ１１３はスキップされ、当該サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ａ−１−１−ＭＳ−１」を持つメンテナンス用ＩＰアドレスのオブジェクトが生成される（Ｓ１１５）。
【００５０】
次に、オブジェクト名「Ｇ１Ｓ−１」を持つ業務１系サブネットのオブジェクトが生成され（Ｓ１０６）、当該サブネットはロードバランサを有しており、未だそのオブジェクトが生成されていないので、オブジェクト名「Ｇ１Ｓ−１−１」、「Ｇ１Ｓ−１−２」を持つ２個のロードバランサのオブジェクトが生成される（Ｓ１０９）。次に、当該サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ｇ１Ｓ−１−１−１」、「Ｇ１Ｓ−１−１−２」を持つ２個のヘルスチェック用ＩＰアドレスのオブジェクトが生成される（Ｓ１１１）。次に、そのサブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ｇ１Ｓ−１−１−Ｇ１Ｓ−１−２−１」、「Ｇ１Ｓ−１−１−Ｇ１Ｓ−１−２−２」、「Ｇ１Ｓ−１−１−Ｇ１Ｓ−１−２−３」を持つ３個の負荷分散ＩＰアドレス（ＶＩＰ）のオブジェクトが生成される（Ｓ１１３）。次に、業務１系サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ａ−１−１−Ｇ１Ｓ−１−１」、「Ａ−１−１−Ｇ１Ｓ−１−２」、「Ａ−１−１−Ｇ１Ｓ−１−３」を持つノード側ＩＰアドレスのオブジェクトが生成される（Ｓ１１５）。
【００５１】
次に、オブジェクト名「Ｇ０Ｓ−１」を持つ業務０系サブネットのオブジェクトが生成され（Ｓ１０６）、当該サブネットはロードバランサを有しており、未だそのオブジェクトが生成されていないので、オブジェクト名「Ｇ０Ｓ−１−１」、「Ｇ０Ｓ−１−２」を持つ２個のロードバランサのオブジェクトが生成される（Ｓ１０９）。次に、当該サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ｇ０Ｓ−１−１−１」、「Ｇ０Ｓ−１−１−２」を持つ２個のヘルスチェック用ＩＰアドレスのオブジェクトが生成される（Ｓ１１１）。次に、そのサブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ｇ０Ｓ−１−１−Ｇ０Ｓ−１−２−１」、「Ｇ０Ｓ−１−１−Ｇ０Ｓ−１−２−２」、「Ｇ０Ｓ−１−１−Ｇ０Ｓ−１−２−３」を持つ３個の負荷分散ＩＰアドレス（ＶＩＰ）のオブジェクトが生成される（Ｓ１１３）。次に、業務０系サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ａ−１−１−Ｇ０Ｓ−１−１」、「Ａ−１−１−Ｇ０Ｓ−１−２」、「Ａ−１−１−Ｇ０Ｓ−１−３」を持つノード側ＩＰアドレスのオブジェクトが生成される（Ｓ１１５）。
【００５２】
次に、オブジェクト名「Ａ−１−２」を持つノードのオブジェクトが生成される（Ｓ１０３）。次に、オブジェクト名「ＭＳ−１」を持つメンテナンス用サブネットのオブジェクトが既に生成されており、また、当該サブネットにはロードバランサが存在しないのでステップＳ１０６、Ｓ１０８〜Ｓ１１３はスキップされ、当該サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ａ−１−２−ＭＳ−１」を持つメンテナンス用ＩＰアドレスのオブジェクトが生成される（Ｓ１１５）。
【００５３】
次に、オブジェクト名「Ｇ１Ｓ−１」を持つ業務１系サブネットのオブジェクトが既に生成されており、また、オブジェクト名「Ｇ１Ｓ−１−１」、「Ｇ１Ｓ−１−２」を持つ２個のロードバランサのオブジェクトが既に生成されているので、ステップＳ１０９〜Ｓ１１３はスキップされ、業務１系サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ａ−１−２−Ｇ１Ｓ−１−１」、「Ａ−１−２−Ｇ１Ｓ−１−２」、「Ａ−１−２−Ｇ１Ｓ−１−３」を持つノード側ＩＰアドレスのオブジェクトが生成される（Ｓ１１５）。
【００５４】
次に、オブジェクト名「Ｇ０Ｓ−１」を持つ業務０系サブネットのオブジェクトおよびオブジェクト名「Ｇ０Ｓ−１−１」、「Ｇ０Ｓ−１−２」を持つ２個のロードバランサのオブジェクトが既に生成されているので、業務０系サブネットに属するＩＰアドレスを持ち、オブジェクト名として「Ａ−１−２−Ｇ０Ｓ−１−１」、「Ａ−１−２−Ｇ０Ｓ−１−２」、「Ａ−１−２−Ｇ０Ｓ−１−３」を持つノード側ＩＰアドレスのオブジェクトが生成される（Ｓ１１５）。
【００５５】
図１４にＨＯＳＴＳファイル２４の内容例を示す。同図に示すように、ＨＯＳＴＳファイル２４は、各ＩＰアドレスとホスト名との対応関係を保持する。こうして作成されたＨＯＳＴＳファイル２４は、構築された実際の分散システムにおける各ノードにファイル転送等によって配布され、各ノード側のＨＯＳＴＳファイルが設定される。
【００５６】
図１５にロードバランサ設定ファイル２５の内容例を示す。同図に示すように、ロードバランサ設定ファイル２５は、ロードバランサ名およびＶＩＰアドレスと、ノード名および対象ＩＰアドレスとの対応関係を保持する。こうして作成されたロードバランサ設定ファイル２５の内容に基づき、構築された実際の分散システムにおけるロードバランサの設定作業が行われる。
【００５７】
以上の説明では、新規構築時の動作を説明したが、拡張時には、それまでに生成されて作業用ファイル２３に保存されている仮想分散システムに対して、追加された構成情報に基づく各種オブジェクトの追加が行われ、仮想分散システムが拡張される。この際の処理は図１１と同じである。但し、ステップＳ１０１において注目する１つ目の構成情報は、図８の構成情報ファイル２２における構成情報のうち、システム管理者等が利用者端末３から指定した追加日付の最初の構成情報である。また、ステップＳ１３２、Ｓ１３３では、ＨＯＳＴＳファイル２４およびロードバランサ設定ファイル２５の更新が行われる。
【００５８】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、図２〜図６に示した基本システムのタイプはあくまでも一例であり、本発明が対象とする分散システムで使用するクラスタシステム等のタイプが図２〜図６のタイプに限定されるものではない。また、図７のテンプレート情報では、各サブネット毎にロードバランサの個数を定義したが、ロードバランサを使用する場合には常に２台にするといった前提がある場合、ロードバランサの個数に代えて、ロードバランサの有無を定義するようにしても良い。
【００５９】
【発明の効果】
以上説明したように本発明によれば、大規模分散システムの新規構築あるいは拡張時におけるＩＰアドレスの割当て作業、ＨＯＳＴＳファイルの生成作業、ロードバランサ設定ファイルの生成作業を軽減することができる。その理由は、予めテンプレート情報を定義しておけば、新規構築あるいは拡張する実分散システムに応じた構成情報を作成して管理制御手段を起動するだけで、実分散システムと同様な仮想的な分散システムの情報が生成され、その過程において必要なＩＰアドレスがＩＰアドレス情報管理手段から取得されるからであり、また、生成された仮想的な分散システムの情報からＨＯＳＴＳファイルおよびロードバランサ設定ファイルが自動生成されるからである。
【００６０】
また、タイプの異なる複数の基本システムの特徴（その基本システムを構成するノードが接続するサブネット毎の、サブネットの用途やロードバランサの有無あるいは個数）をテンプレート情報に定義してあるため、個々の構成情報では、導入するノードが組み込まれる基本システムのタイプを指定するだけで、そのノードが接続するサブネットの数やロードバランサの有無を指定する必要がない。更に、１つの構成情報で複数のノードを指定できる。このため、構成情報の作成が簡単になり、利用者の作業量がより一層軽減される効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかるＩＰアドレス管理システムのブロック図である。
【図２】タイプＡの基本システムの説明図である。
【図３】タイプＢの基本システムの説明図である。
【図４】タイプＣの基本システムの説明図である。
【図５】タイプＤの基本システムの説明図である。
【図６】タイプＥの基本システムの説明図である。
【図７】テンプレート情報の内容例を示す図である。
【図８】構成情報の内容例を示す図である。
【図９】構成情報中のサブネット情報の内容例を示す図である。
【図１０】ＩＰアドレス情報管理部の管理テーブルの内容例を示す図である。
【図１１】管理制御部の処理例を示すフローチャートである。
【図１２】管理制御部の処理例を示すフローチャートである。
【図１３】仮想的な分散システムの情報の説明図である。
【図１４】ＨＯＳＴＳファイルの内容例を示す図である。
【図１５】ロードバランサ設定ファイルの内容例を示す図である。
【符号の説明】
１…処理装置
２…記憶装置
３…利用者端末
４…記録媒体
１１…テンプレート情報定義部
１２…構成情報定義部
１３…管理制御部
１４…ＩＰアドレス情報管理部
２１…テンプレート情報ファイル
２２…構成情報ファイル
２３…作業用ファイル
２４…ＨＯＳＴＳファイル
２５…ロードバランサ設定ファイル
【図１】
0003719429.tif 000002
【図２】
0003719429.tif 000003
【図３】
0003719429.tif 000004
【図４】
0003719429.tif 000005
【図５】
0003719429.tif 000006
【図６】
0003719429.tif 000007
【図７】
0003719429.tif 000008
【図８】
0003719429.tif 000009
【図９】
0003719429.tif 000010
【図１０】
0003719429.tif 000011
【図１１】
0003719429.tif 000012
【図１２】
0003719429.tif 000013
【図１３】
0003719429.tif 000014
【図１４】
0003719429.tif 000015
【図１５】
0003719429.tif 000016