(57)【要約】【課題】共有ファイル領域に保持されている様々なプログラムをＨＷ種別・ＯＳ種別が異なる計算機に実行させる場合のユーザの負担を軽減する。【解決手段】情報処理装置は、所定の共有ファイル領域にアクセス可能な複数の計算機の仕様情報を記憶するマップファイルにアクセス可能であり、前記マップファイルを参照して、前記所定の共有ファイル領域に保持されたプログラムの中から選択したプログラムを実行可能な仕様を有する計算機を判別し、該計算機に、前記プログラムの実行を指示する判別手段を備える。【選択図】図６
2010170214.tif 000002
【特許請求の範囲】
【請求項１】
所定の共有ファイル領域にアクセス可能な複数の計算機の仕様情報を記憶するマップファイルにアクセス可能であり、
前記マップファイルを参照して、前記所定の共有ファイル領域に保持されたプログラムの中から選択したプログラムを実行可能な仕様を有する計算機を判別し、該計算機に、前記プログラムの実行を指示する判別手段を備えた情報処理装置。
【請求項２】
前記各計算機から、各計算機のアドレスと、仕様情報とを取得して前記マップファイルに登録するマップ登録手段を備えた請求項１に記載の情報処理装置。
【請求項３】
前記マップファイルが、前記所定の共有ファイル領域に保持されている請求項１又は２に記載の情報処理装置。
【請求項４】
前記複数の計算機が、クラスタシステムを構成する計算ノードであり、クラスタシステムのフロントエンドノードとして機能する請求項１乃至３いずれか一に記載の情報処理装置。
【請求項５】
プログラムを保持する共有ファイル領域にアクセス可能な複数の計算機と、請求項１乃至３いずれか一に記載の情報処理装置とを含む情報システム。
【請求項６】
プログラムを保持する所定の共有ファイル領域にアクセス可能な複数の計算機と、請求項２に記載の情報処理装置とを含む情報システムであって、
前記情報処理装置が２以上配置され、一の情報処理装置のマップ登録手段が故障した場合に、他の情報処理装置のマップ登録手段が前記マップファイルへの登録を行う情報システム。
【請求項７】
複数の計算機がクラスタシステムを構成する計算ノードであり、
前記情報処理装置が、クラスタシステムのフロントエンドノードとして機能する請求項５又は６に記載の情報システム。
【請求項８】
所定の共有ファイル領域にアクセス可能な複数の計算機の仕様情報を記憶するマップファイルにアクセス可能なコンピュータに実行させるプログラムであって、
前記マップファイルを参照して、前記所定の共有ファイル領域に保持されたプログラムの中から選択したプログラムを実行可能な仕様を有する計算機を判別し、該計算機に、前記プログラムの実行を指示する判別処理を前記コンピュータに実行させるプログラム。
【請求項９】
所定の共有ファイル領域にアクセス可能な複数の計算機の仕様情報を記憶するマップファイルを作成するステップと、
前記マップファイルにアクセス可能なコンピュータが、前記マップファイルを参照して、前記所定の共有ファイル領域に保持されたプログラムの中から選択したプログラムを実行可能な仕様を有する計算機を判別するステップと、を含むプログラムを実行する計算機の決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報システム、プログラム及びプログラムを実行する計算機の決定方法に関し、特に、ハードウェア種別やオペレーティングシステム（ＯＳ）種別が異なる計算機のいずれかにプログラムの実行を指示する情報処理装置、情報システム、該情報処理装置に実行させるプログラム及びプログラムを実行する計算機の決定方法に関する。
【背景技術】
【０００２】
ＵＮＩＸ（登録商標）環境のクラスタシステムでは、各ノードのホームディレクトリを共有ファイルシステムとしてファイルの保存場所とすることが多い。
【０００３】
特許文献１に、ＵＮＩＸ（登録商標）プログラムの起動コマンドにマシン指定が行われている場合に、指定されたマシン上のデーモンプロセスに当該コマンドを渡す起動制御手段を備えたプログラム起動装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２３０９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、様々なハードウェア（ＨＷ）種別・ＯＳ種別の計算ノードが混在しているクラスタシステムにおいては、上記共有ファイル領域（共有ファイルシステム）上にも、様々なＨＷ種別・ＯＳ種別で動作するプログラムが混在することになる。
【０００６】
上記のような環境において、共有ファイル領域上に存在するプログラムを実行する場合、ユーザは、実行するプログラムがどのノード（コンピュータ）で動作可能なのかを確認する必要がある。ユーザは、必要なマシンにログインして実行したり、ｒｓｈコマンドを利用して当該プログラムを実行する必要があった。
【０００７】
特許文献１のプログラム起動装置を用いたとしても、ユーザは、プログラム起動コマンド中に、当該プログラムを実行可能なマシンを指定する必要があり、上記ユーザの負担は解消されていない。
【０００８】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記したプログラムの実行や実行ノードの判別にかかる負担を軽減することのできる情報処理装置、情報システム、プログラム及びプログラム実行ノードの決定方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の視点によれば、所定の共有ファイル領域にアクセス可能な複数の計算機の仕様情報を記憶するマップファイルにアクセス可能であり、前記マップファイルを参照して、前記所定の共有ファイル領域に保持されたプログラムの中から選択したプログラムを実行可能な仕様を有する計算機を判別し、該計算機に、前記プログラムの実行を指示する判別手段を備えた情報処理装置が提供される。
【００１０】
本発明の第２の視点によれば、プログラムを保持する共有ファイル領域にアクセス可能な複数の計算機と、上記した情報処理装置とを含む情報システムが提供される。
【００１１】
本発明の第３の視点によれば、所定の共有ファイル領域にアクセス可能な複数の計算機の仕様情報を記憶するマップファイルにアクセス可能なコンピュータに実行させるプログラムであって、前記マップファイルを参照して、前記所定の共有ファイル領域に保持されたプログラムの中から選択したプログラムを実行可能な仕様を有する計算機を判別し、該計算機に、前記プログラムの実行を指示する判別処理を前記コンピュータに実行させるプログラムが提供される。
【００１２】
本発明の第４の視点によれば、所定の共有ファイル領域にアクセス可能な複数の計算機の仕様情報を記憶するマップファイルを作成するステップと、前記マップファイルにアクセス可能なコンピュータが、前記マップファイルを参照して、前記所定の共有ファイル領域に保持されたプログラムの中から選択したプログラムを実行可能な仕様を有する計算機を判別するステップと、を含むプログラムを実行する計算機の決定方法が提供される。
【発明の効果】
【００１３】
本発明によれば、様々な仕様（ＨＷ種別・ＯＳ種別など）の計算機によって構成され、これら計算機の共有ファイル領域に存在するプログラムの実行にかかるユーザの負担や操作ミスを低減することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態の構成を表したブロック図である。
【図２】本発明の第１の実施形態の動作を説明するための図である。
【図３】本発明の第１の実施形態の動作を説明するための図である。
【図４】本発明の第２の実施形態の構成を表したブロック図である。
【図５】本発明の第２の実施形態の動作を説明するための図である。
【図６】本発明の第２の実施形態の動作を説明するための図である。
【図７】本発明の第３の実施形態の構成を表したブロック図である。
【図８】本発明の第３の実施形態の動作を説明するための図である。
【発明を実施するための形態】
【００１５】
始めに、本発明の概要について、科学技術計算を実行するクラスタシステムに適用した例を挙げて説明する。図１には、共有ファイルシステム２０１に接続され、科学技術計算を実行する複数の計算ノード（計算ノード１０２−１〜１０２−ｎ）によって構成されたクラスタシステムと、ユーザがログインするノード（フロントエンドノード１０１）と、により構成されるシステムが示されている。上記各計算ノードのＨＷ種別・ＯＳ種別等の仕様は統一されていないものとする。
【００１６】
マップファイル３０３には、計算ノードの仕様情報を記憶するマップ情報が登録されている。仕様情報を手掛かりに、必要な仕様を満たす計算ノードのアドレス（例えば、接続ＩＰアドレス等）を特定できるようになっているものとする。
【００１７】
フロントエンドノード１０１では、判別手段として機能する判別ルーチン３０１を含むプログラムが実行されている。判別ルーチン３０１は、実行するロードモジュール（以下、「ＬＭ」と記載する。）３０５から実行可能な仕様情報（ＨＷ種別・ＯＳ種別を含む）を読み取り、マップファイル３０３からＬＭ３０５を実行可能な計算ノード（例えば、計算ノード１０２−１）を選択し、計算ノード上に存在するＬＭ実行ルーチン３０４−１にＬＭ３０５の実行を指示する。
【００１８】
以上のように、判別ルーチン３０１がマップファイル３０３を参照してユーザから実行要求を受けたＬＭを実行可能な計算ノードを探し出して実行する構成としたため、ユーザはＬＭの実行ノードを意識することなく、ＬＭを実行することができる。
【００１９】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は本発明の第１の実施形態の構成を表したブロック図である。図１を参照すると、フロントエンドノード１０１と、多数のＨＷ種別・ＯＳ種別が異なる計算ノード１０２−１、計算ノード１０２−２、・・・、計算ノード１０２−ｎで構成されたクラスタシステムと、ストレージ装置等により構成された共有ファイルシステム２０１とがそれぞれ接続された構成が示されている。
【００２０】
フロントエンドノード１０１は、判別ルーチン３０１、マップ登録ルーチン３０２を含むプログラムが起動されたパーソナルコンピュータ等の情報処理装置（コンピュータ）である。また、フロントエンドノード１０１は、その補助記憶装置等に、マップファイル３０３を保持している。
【００２１】
判別ルーチン３０１は、フロントエンドノード１０１を構成する情報処理装置に、ユーザ４０１から共有ファイルシステム２０１上のＬＭ３０５の指定を受け付け、指定されたＬＭ３０５からＨＷ種別・ＯＳ種別を取得する処理と、マップファイル３０３を参照して、ＬＭ３０５を実行可能な計算ノードを選択する処理と、選択した計算ノードのＬＭ実行ルーチンにＬＭ３０５の実行を指示する処理とを実行させる。なお、ＨＷ種別・ＯＳ種別は、共有ファイルシステム２０１に保持されたロードモジュール情報（図示省略）等から取得してもよいし、ＬＭ３０５のヘッダ情報から計算ノードの識別情報等を取得する方法を用いてもよい。
【００２２】
マップ登録ルーチン３０２は、フロントエンドノード１０１を構成する情報処理装置に、計算ノード１０２−１〜１０２−ｎのＬＭ実行ルーチン３０４−１〜３０４−ｎから、計算ノードのＨＷ種別・ＯＳ種別・接続ＩＰアドレス等を対応付けたマップ情報を取得する処理と、取得したマップ情報をマップファイル３０３に登録する処理とを実行させる。
【００２３】
マップファイル３０３は、計算ノード毎に、ＨＷ種別・ＯＳ種別・接続ＩＰアドレス等を保持し、ＨＷ種別・ＯＳ種別をキーにして、求める計算ノードの接続ＩＰアドレスを割り出すことが可能となっている。
【００２４】
計算ノード１０２−１〜１０２−ｎは、ＬＭ実行ルーチン３０４−１〜３０４−ｎを含むプログラムが起動されたサーバコンピュータ等の情報処理装置である。本発明においては、すべての計算ノード１０２−１〜１０２−ｎが、同一のＨＷ種別・ＯＳ種別である必要はない。
【００２５】
共有ファイルシステム２０１は、一以上のＬＭが保持されたホームディレクトリを共有することによって構成され、フロントエンドノード１０１の判別ルーチン３０１を介して、所望のＬＭを選択することが可能となっている。なお、共有ファイルシステム２０１は、各計算ノード１０２−１〜１０２−ｎに接続されたローカルディスクを各計算ノード１０２−１〜１０２−ｎがそれぞれ共有することによって構成することもできる。
【００２６】
続いて、図１、図２、図３を参照して、本発明の第１の実施形態の動作について詳細に説明する。
【００２７】
まず、マップ登録ルーチン３０２が、所定のタイミングで、計算ノード１０２−１〜１０２−ｎに存在するＬＭ実行ルーチン３０４−１〜３０４−ｎからマップ情報を取得する（図２のＡ００１、Ａ００２およびＡ００３）。
【００２８】
さらに、マップ情報を受け取ったマップ登録ルーチン３０２は、マップファイル３０３に、取得したマップ情報を登録する（図２のＡ００４）。
【００２９】
次に、ユーザ４０１がフロントエンドノード１０１にログインし、判別ルーチン３０１に対して、実行するＬＭ３０５を指示する（図３のＡ００５）。
【００３０】
前記指示を受け付けた判別ルーチン３０１は、共有ファイルシステム２０１上にあるＬＭ３０５からＨＷ種別・ＯＳ種別を取得する（図３のＡ００６）。
【００３１】
次に、判別ルーチン３０１はＬＭ３０５から取得したＨＷ種別・ＯＳ種別をキーにマップファイル３０３から実行する計算ノードを選択する（図３のＡ００７）。ここでは、実行する計算ノードとして計算ノード１０２−１が選択されたものとする。
【００３２】
判別ルーチン３０１は選択した計算ノード１０２−１上に存在するＬＭ実行ルーチン３０４−１に対しＬＭ３０５の実行を指示する（図３のＡ００８）。
【００３３】
最後に、ＬＭ実行ルーチン３０４−１は、共有ファイルシステム２０１に存在するＬＭ３０５を計算ノード１０２−１上で実行する（図３のＡ００９）。実行結果は、判別ルーチン３０１に返される。
【００３４】
以上のとおり、本実施形態によれば、様々なＨＷ種別・ＯＳ種別で動作するＬＭが共有ファイルシステム２０１上に混在している環境で、特定のＬＭを実行する際に、当該ＬＭの実行可能なＨＷ種別・ＯＳ種別や実行する計算ノードを意識することなく、ＬＭを実行することが可能となる。
【００３５】
その理由は、フロントエンドノード１０１上に、予め各計算ノード１０２−１〜１０２−ｎのマップ情報を集めたマップファイルを作成し、実行要求を受けたＬＭからＨＷ種別・ＯＳ種別を取得して、実行する計算ノードを自動的に選択できるように構成したためである。
【００３６】
また、本実施形態では、マップファイルを自動的に作成する手段（マップ登録ルーチン３０２）を設けているため、クラスタ構成に変更が生じた場合等におけるマップファイルの更新等に要する管理者の負担も軽減されている。
【００３７】
［第２の実施形態］
続いて、第１の実施形態に変更を加えた本発明の第２の実施形態について図面を参照して詳細に説明する。図４は本発明の第２の実施形態の構成を表したブロック図である。
【００３８】
本発明の第１の実施形態との相違点は、フロントエンドノード１０１−２が追加されており、複数のフロントエンドノードで構成されている点と、マップファイル３０３は、これら複数のフロントエンドノードから参照可能となるように、共有ファイルシステム２０１上に配置されている点である。なお、マップ登録ルーチン３０２はフロントエンドノード１０１−１側にのみ配置されている。
【００３９】
フロントエンドノード１０１−１、１０１−２の判別ルーチン３０１−１、３０１−２は、共有ファイルシステム２０１側のマップファイル３０３を参照する点を除いて上記した第１の実施形態の判別ルーチン３０１と同様の処理を行う。計算ノート１０２−１〜１０２−ｎ等その他の構成は、上記した第１の実施形態と同様であるため説明を省略する。
【００４０】
続いて、図５、図６を参照して本実施形態の動作を詳細に説明する。まず、マップ登録ルーチン３０２が、所定のタイミングで、計算ノード１０２−１〜１０２−ｎに存在するＬＭ実行ルーチン３０４−１〜３０４−ｎからマップ情報を取得する（図５のＡ１０１、Ａ１０２およびＡ１０３）。
【００４１】
さらに、マップ情報を受け取ったマップ登録ルーチン３０２は、共有ファイルシステム２０１に保持されているマップファイル３０３に、取得したマップ情報を登録する（図５２のＡ１０４）。
【００４２】
次に、ユーザ４０１がフロントエンドノード１０１−１にログインし、判別ルーチン３０１−１に対して、実行するＬＭ３０５を指示する（図６のＡ１０５）。
【００４３】
前記指示を受け付けた判別ルーチン３０１−１は、共有ファイルシステム２０１上にあるＬＭ３０５からＨＷ種別・ＯＳ種別を取得する（図６のＡ１０６）。
【００４４】
次に、判別ルーチン３０１−１はＬＭ３０５から取得したＨＷ種別・ＯＳ種別をキーに共有ファイルシステム２０１に保持されているマップファイル３０３から実行する計算ノードを選択する（図６のＡ１０７）。ここでは、実行する計算ノードとして計算ノード１０２−１が選択されたものとする。
【００４５】
判別ルーチン３０１−１は選択した計算ノード１０２−１上に存在するＬＭ実行ルーチン３０４−１に対しＬＭ３０５の実行を指示する（図６のＡ１０８）。
【００４６】
最後に、ＬＭ実行ルーチン３０４−１は、共有ファイルシステム２０１に存在するＬＭ３０５を計算ノード１０２−１上で実行する（図６のＡ０９）。実行結果は、判別ルーチン３０１−１に返される。
【００４７】
なお、ユーザ４０１が、フロントエンドノード１０１−２にログインした場合も、上記図６のＡ１０５〜図６のＡ１０９に示した動作が行われる。
【００４８】
以上のとおり、本実施形態によれば、上記した第１の実施形態の効果に加えて、フロントエンドノードの負荷を分散することが可能であり、ログインするユーザが多くなった場合などに好適である。
【００４９】
［第３の実施形態］
続いて、第２の実施形態に変更を加えた本発明の第３の実施形態について図面を参照して詳細に説明する。図７は本発明の第３の実施形態の構成を表したブロック図である。
【００５０】
本発明の第２の実施形態との相違点は、フロントエンドノード１０１−２に、マップ登録ルーチン３０２−２が追加されている点である。マップ登録ルーチン３０２−１又はマップ登録ルーチン３０２−２のうち、いずれか一方がマップ登録先プライマリ（第１優先）として、他方がマップ登録先セカンダリ（第２優先）として設定してされているものとする。ここでは、マップ登録ルーチン３０２−１がその他の構成は、上記した第２の実施形態と同様であるため説明を省略する。
【００５１】
続いて、図８を参照して本実施形態の動作を詳細に説明する。以下の説明では、マップ登録ルーチン３０２−１がマップ登録先プライマリ（第１優先）として設定され、マップ登録ルーチン３０２−２がマップ登録先セカンダリ（第２優先）として設定されているものとする。
【００５２】
まず、マップ登録先プライマリ（第１優先）として設定されたマップ登録ルーチン３０２−１が、所定のタイミングで、計算ノード１０２−１〜１０２−ｎに存在するＬＭ実行ルーチン３０４−１〜３０４−ｎからマップ情報を取得する（図８のＡ２０１−１、Ａ２０２−１およびＡ２０３−１）。
【００５３】
ここで、ＬＭ実行ルーチン３０４−１〜３０４−ｎがマップ情報の送信に失敗した場合は、マップ登録先セカンダリとして設定されたマップ登録ルーチン３０２−２が、計算ノード１０２−１〜１０２−ｎに存在するＬＭ実行ルーチン３０４−１〜３０４−ｎからマップ情報を取得する（図８のＡ２０１−２、Ａ２０２−２およびＡ２０３−２）。
【００５４】
マップ情報を受け取ったマップ登録ルーチン３０２−１又はマップ登録ルーチン３０２−２は共有ファイルシステム２０１上に存在するマップファイル３０３にマップ情報を登録する（図８のＡ２０４−１およびＡ２０４−２）。
【００５５】
以降の動作は、上記した第２の実施形態（図６）と同様であるため説明を省略する。
【００５６】
以上のとおり、本実施形態では、フロントエンドノード１０１−１、フロントエンドノード１０１−２上にマップ登録ルーチン３０２−１、マップ登録ルーチン３０２−２が配置されているため、障害等により、マップ登録先プライマリに設定されたフロントエンドノードがマップ情報を取得できなかった場合であっても、マップ登録先セカンダリに設定されたフロントエンドノードがマップ情報の登録を行うこと可能となるため、第１、第２の実施形態よりも耐障害性が向上されている。
【００５７】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、フロントエンドノードは１台又は２台、計算ノードはｎ台あるものとして説明したが、これらの台数は任意に変更することが可能である。
【００５８】
また例えば、上記した第２、第３実施形態では、マップファイル３０３と、ＬＭ３０５が同一の共有ファイルシステム２０１に保持されているものとして説明したが、それぞれのフロントエンドノードや計算ノードからアクセス可能な他の共有ファイルシステムに保持されていればよい。
【００５９】
また、上記した実施形態では、計算ノードにＬＭを実行させるものとして説明したが、任意の共有する共有ファイル領域に、その他実行形式のプログラムを保持している場合においても、同様に各計算機の仕様とアドレスをマップ情報として保持しておき、プログラムに応じた計算機を選択することにより、ＨＷやＯＳの違いを意識することなくプログラムを実行できる環境を構成することができる。
【産業上の利用可能性】
【００６０】
本発明は、上記した実施形態のとおり、クラスタシステム、ＨＰＣ（Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｐｕｔｉｎｇ）クラスタシステムに好適に適用できるが、その他、ＨＷ種別・ＯＳ種別が混在した環境において、プログラムを実行するコンピュータを自動選択する必要のある各種の情報システムに適用できる。
【符号の説明】
【００６１】
１０１、１０１−１、１０１−２  フロントエンドノード
１０２−１〜１０２−ｎ  計算ノード
２０１  共有ファイルシステム
３０１、３０１−１、３０１−２  判別ルーチン
３０２、３０２−１、３０２−２  マップ登録ルーチン
３０３  マップファイル
３０４−１〜３０４−ｎ  ＬＭ実行ルーチン
３０５  ＬＭ（ロードモジュール）
４０１  ユーザ
【図１】
2010170214.tif 000003
【図２】
2010170214.tif 000004
【図３】
2010170214.tif 000005
【図４】
2010170214.tif 000006
【図５】
2010170214.tif 000007
【図６】
2010170214.tif 000008
【図７】
2010170214.tif 000009
【図８】
2010170214.tif 000010