(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-24
(45)【発行日】2023-02-01
(54)【発明の名称】計算機資源管理システム及び計算機資源管理プログラム
(51)【国際特許分類】
G06F 9/50 20060101AFI20230125BHJP
G06F 11/20 20060101ALI20230125BHJP
【FI】
G06F9/50 150C
G06F9/50 150Z
G06F11/20 625
(21)【出願番号】P 2019019313
(22)【出願日】2019-02-06
【審査請求日】2021-11-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】益田 文子
(72)【発明者】
【氏名】▲浜▼中 征志郎
(72)【発明者】
【氏名】菅井 浩二
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特表2015-537320(JP,A)
【文献】特開2013-205859(JP,A)
【文献】特開平10-283332(JP,A)
【文献】国際公開第00/079397(WO,A1)
【文献】国際公開第01/057685(WO,A1)
【文献】特開2007-265013(JP,A)
【文献】実森仁志,グリッド・コンピューティング時代の幕開け,日経インターネットソリューション,日本,日経BP社,2003年03月22日,第69号,pp.81-89,ISSN 1347-6580
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 11/20
(57)【特許請求の範囲】
【請求項1】
情報処理装置と、前記情報処理装置とアクセス可能な複数の計算機とを有する計算機資源管理システムであって、
前記情報処理装置は、
処理の実行要求を受け付けたことに応じて、前記実行要求に含まれる情報から、前記処理を実行させない計算機を示す除外情報を特定し、
前記複数の計算機の処理能力を示す資源情報を記憶する記憶部を参照して、前記複数の計算機のうち、特定した前記除外情報に対応する計算機以外の計算機から、前記処理を実行可能な第1計算機を選択し、
選択した前記第1計算機に対して、前記処理の第1実行指示を送信し、
前記処理の実行が終了する前に、前記第1計算機において他の計算機が実行していた処理の引き継ぎが発生した場合、前記記憶部を参照し、前記複数の計算機のうち、特定した前記除外情報に対応する計算機と前記第1計算機とを除く計算機から、前記処理を実行可能な第2計算機を再度選択し、
再度選択した前記第2計算機に対して、前記処理の第2実行指示を送信する、
ことを特徴とする計算機資源管理システム。
【請求項2】
請求項1において、
前記複数の計算機のそれぞれは、他の計算機とクラスタを構成する計算機であって、前記他の計算機が実行する処理を引き継いで実行することが可能な計算機である、
ことを特徴とする計算機資源管理システム。
【請求項3】
請求項2において、
前記情報処理装置は、
前記第1計算機において前記処理の実行が終了した場合、前記第1計算機から前記処理の第1実行結果を取得し、
取得した前記第1実行結果を前記実行要求の送信元に送信する、
ことを特徴とする計算機資源管理システム。
【請求項4】
請求項
3において、
前記情報処理装置は、
前記第1計算機において実行された前記処理の途中までの第2実行結果を所定時間ごとに取得し、
前記第2計算機に対して、前記第2実行結果のうち、最後に取得した第3実行結果を併せて送信し、
前記第2計算機は、前記第3実行結果を用いることにより、前記第3実行結果を算出する処理よりも後の処理を実行する、
ことを特徴とする計算機資源管理システム。
【請求項5】
処理の実行要求を受け付けたことに応じて、前記実行要求に含まれる情報から、前記処理を実行させない計算機を示す除外情報を特定し、
複数の計算機の処理能力を示す資源情報を記憶する記憶部を参照して、前記複数の計算機のうち、特定した前記除外情報に対応する計算機以外の計算機から、前記処理を実行可能な第1計算機を選択し、
選択した前記第1計算機に対して、前記処理の第1実行指示を送信し、
前記処理の実行が終了する前に、前記第1計算機において他の計算機が実行していた処理の引き継ぎが発生した場合、前記記憶部を参照し、前記複数の計算機のうち、特定した前記除外情報に対応する計算機と前記第1計算機とを除く計算機から、前記処理を実行可能な第2計算機を再度選択し、
再度選択した前記第2計算機に対して、前記処理の第2実行指示を送信する、
処理をコンピュータに実行させることを特徴とする計算機資源管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機資源管理システム及び計算機資源管理プログラムに関する。
【背景技術】
【0002】
例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、利用者に対してサービスの提供を行うための情報処理システムを構築して稼働させる。具体的に、事業者は、例えば、各利用者が所有する物理マシンの余剰資源を利用者間で共有させるための処理を行う情報処理システムを構築する。
【0003】
このような情報処理システムでは、例えば、クラスタを構成する物理マシンのうち、待機中の物理マシンの余剰資源を示す情報(以下、資源情報とも呼ぶ)を予め収集する。そして、例えば、いずれかの利用者から他の利用者が所有する物理マシンにおける処理の実行を希望する旨の要求(以下、実行要求とも呼ぶ)を受け付けた場合、情報処理システムは、資源情報を参照し、受け付けた実行要求に対応する処理を実行可能な物理マシンを選択する。その後、情報処理システムは、選択した物理マシンに対し、実行要求に対応する処理の実行を指示する。
【0004】
これにより、各利用者は、待機中の物理マシンの余剰資源を有効に活用することが可能になる(例えば、特許文献1乃至3参照)。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2001-325041号公報
【文献】特開2002-092366号公報
【文献】特表2017-526999号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、上記のように余剰資源の共有を行う利用者には、例えば、互いに競合関係にある複数の利用者が含まれている可能性がある。また、上記のような待機中の物理マシンには、例えば、所定のセキュリティレベルを満たしていない物理マシンが含まれている可能性がある。そのため、事業者は、例えば、利用者が希望する条件を考慮した上で、実行要求に対応する処理を実行させる物理マシンを決定することが好ましい。
【0007】
そこで、一つの側面では、本発明は、利用者が実行要求を行う処理を利用者の条件に合う物理マシンにおいて実行させることを可能とする計算機資源管理システム及び計算機資源管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
実施の形態の一態様では、情報処理装置と、前記情報処理装置とアクセス可能な複数の計算機とを有する計算機資源管理システムは、前記情報処理装置が、処理の実行要求を受け付けたことに応じて、前記実行要求に含まれる情報から、前記処理を実行させない計算機に対応する除外情報を特定し、前記複数の計算機の処理能力を示す資源情報を記憶する記憶部を参照して、前記複数の計算機のうち、特定した前記除外情報に対応する計算機以外の計算機から、前記処理を実行可能な第1計算機を選択し、選択した前記第1計算機に対して、前記処理の第1実行指示を送信し、前記第1計算機が、前記第1実行指示を受け付けたことに応じて、前記処理を実行する。
【発明の効果】
【0009】
一つの側面によれば、利用者が実行要求を行う処理を利用者の条件に合う物理マシンにおいて実行させることを可能とする。
【図面の簡単な説明】
【0010】
【
図1】
図1は、情報処理システム10の構成について説明する図である。
【
図2】
図2は、情報処理装置1のハードウエア構成を説明する図である。
【
図3】
図3は、ノード2bのハードウエア構成を説明する図である。
【
図4】
図4は、情報処理装置1の機能のブロック図である。
【
図5】
図5は、ノード2bの機能のブロック図である。
【
図6】
図6は、第1の実施の形態における計算機資源管理処理の概略を説明するフローチャート図である。
【
図7】
図7は、第1の実施の形態における計算機資源管理処理の概略を説明する図である。
【
図8】
図8は、第1の実施の形態における計算機資源管理処理の概略を説明する図である。
【
図9】
図9は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図10】
図10は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図11】
図11は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図12】
図12は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図13】
図13は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図14】
図14は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図15】
図15は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図16】
図16は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図17】
図17は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図18】
図18は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。
【
図19】
図19は、資源情報231の具体例について説明する図である。
【
図20】
図20は、資源情報132の具体例について説明する図である。
【
図21】
図21は、利用者情報133の具体例について説明する図である。
【
図23】
図23は、ノード情報131の具体例について説明する図である。
【
図24】
図24は、実行要求情報134の具体例について説明する図である。
【発明を実施するための形態】
【0011】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。
図1は、情報処理システム10の構成について説明する図である。なお、以下、情報処理システム10が6台のノード(以下、計算機とも呼ぶ)と3台の操作端末とを有する場合について説明を行うが、情報処理システム10は、これ以外の台数のノード及び操作端末を有するものであってもよい。
【0012】
図1に示す情報処理システム10は、情報処理装置1と、ノード2aと、ノード2bと、ノード2cと、ノード2dと、ノード2eと、ノード2fと、操作端末3aと、操作端末3bと、操作端末3cとを有する。ノード2a、ノード2c及びノード2eは、それぞれノード2b、ノード2d及びノード2fとクラスタを構成している。
図1に示す例では、ノード2a、ノード2c及びノード2eが運用中のノード(以下、運用ノードまたは運用系とも呼ぶ)であり、ノード2b、ノード2d及びノード2fが待機中のノード(以下、待機ノードまたは待機系とも呼ぶ)である。以下、ノード2a、ノード2b、ノード2c、ノード2d、ノード2e及びノード2fを総称してノード2とも呼ぶ。また、以下、操作端末3a、操作端末3b及び操作端末3cを総称して操作端末3とも呼ぶ。
【0013】
ノード2は、各利用者が所有する物理マシンであり、例えば、各利用者が業務を行うために必要な処理を実行する。以下、ノード2a及びノード2bを所有する企業がA社であり、ノード2c及びノード2dを所有する企業がB社であり、ノード2e及びノード2fを所有する企業がC社であるものとする。
【0014】
操作端末3は、例えば、各利用者が所有するPC(Personal Computer)であり、他の利用者が所有するノード2における処理の実行を希望する利用者が使用する端末である。具体的に、利用者は、例えば、他の利用者が所有するノード2における処理の実行要求を操作端末3に対して入力する。なお、操作端末3を使用する利用者には、ノード2を所有しない利用者(例えば、個人の利用者)が含まれるものであってもよい。
【0015】
情報処理装置1は、ノード2における処理の実行要求を受け付けた場合、例えば、待機ノードであるノード2b、ノード2d及びノード2fのいずれかから、実行要求に対応する処理を実行させるノード2を選択する。そして、情報処理装置1は、選択したノード2に対し、実行要求に対応する処理の実行を指示する。
【0016】
これにより、各利用者は、余剰資源(待機ノードの資源)を有効に活用することが可能になる。
【0017】
しかしながら、上記のように余剰資源の共有を行う利用者には、例えば、互いに競合関係にある複数の利用者が含まれている可能性がある。また、上記のような待機ノードには、例えば、所定のセキュリティレベルを満たしていないノード2が含まれている可能性がある。そのため、事業者は、例えば、利用者が指定する各種条件を考慮した上で、実行要求に対応する処理を実行させる待機ノードを決定することが好ましい。
【0018】
そこで、本実施の形態における情報処理装置1は、処理の実行要求を受け付けたことに応じて、受け付けた実行要求に含まれる情報から、実行要求に対応する処理を実行させないノード2を示す情報(以下、除外情報とも呼ぶ)を特定する。そして、情報処理装置1は、複数のノード2の処理能力を示す情報である資源情報を記憶する記憶部を参照して、特定した除外情報に対応するノード2以外のノード2から、実行要求に対応する処理を実行可能なノード2を選択する。その後、情報処理装置1は、選択したノード2に対して、受け付けた実行要求に対応する処理の実行指示を送信する。
【0019】
一方、複数のノード2のそれぞれは、情報処理装置1から実行指示を受け付けるまで待機する。そして、情報処理装置1から実行指示を受け付けたノード2は、情報処理装置1が受け付けた実行要求に対応する処理を実行する。
【0020】
すなわち、情報処理装置1は、利用者が処理を実行させることを希望しないノード2を除外した上で、受け付けた実行要求に対応する処理を実行させるノード2を決定する。
【0021】
これにより、情報処理装置1は、利用者が希望する条件と合わないノード2において、実行要求に対応する処理が実行されないように制御することが可能になる。
【0022】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。
図2は、情報処理装置1のハードウエア構成を説明する図である。また、
図3は、ノード2bのハードウエア構成を説明する図である。なお、ノード2a、ノード2c、ノード2d、ノード2e及びノード2fのハードウエア構成は、ノード2bのハードウエア構成と同じであるため説明を省略する。
【0023】
初めに、情報処理装置1のハードウエア構成について説明を行う。
【0024】
情報処理装置1は、
図2に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0025】
記憶媒体104は、例えば、ノード2の余剰資源を管理する処理(以下、計算機資源管理処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、計算機資源管理処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Sokid State Drive)であってよい。
【0026】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して計算機資源管理処理を行う。
【0027】
外部インターフェース103は、例えば、ノード2及び操作端末3と通信を行う。
【0028】
次に、ノード2bのハードウエア構成について説明を行う。
【0029】
ノード2bは、
図3に示すように、プロセッサであるCPU201と、メモリ202と、外部インターフェース(I/Oユニット)203と、記憶媒体204とを有する。各部は、バス205を介して互いに接続される。
【0030】
記憶媒体204は、例えば、計算機資源管理処理を行うためのプログラム210を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体204は、例えば、計算機資源管理処理を行う際に用いられる情報を記憶する記憶部230(以下、情報格納領域230とも呼ぶ)を有する。なお、記憶媒体204は、例えば、HDDやSSDであってよい。
【0031】
CPU201は、記憶媒体204からメモリ202にロードされたプログラム210を実行して計算機資源管理処理を行う。
【0032】
外部インターフェース203は、例えば、情報処理装置1及びノード2aと通信を行う。
【0033】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。
図4は、情報処理装置1の機能のブロック図である。また、
図5は、ノード2bの機能のブロック図である。なお、ノード2a、ノード2c、ノード2d、ノード2e及びノード2fの機能は、ノード2bの機能と同じであるため説明を省略する。
【0034】
初めに、情報処理装置1の機能のブロック図について説明を行う。
【0035】
情報処理装置1は、
図4に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、要求受付部111と、情報管理部112と、ノード特定部113と、ノード選択部114と、指示送信部115と、情報受信部116と、情報送信部117と、引継検知部118とを含む各種機能を実現する。
【0036】
また、情報処理装置1は、例えば、
図4に示すように、ノード情報131と、資源情報132と、利用者情報133と、実行要求情報134とを情報格納領域130に記憶する。
【0037】
要求受付部111は、例えば、操作端末3から送信された処理の実行要求を受け付ける。
【0038】
情報管理部112は、例えば、要求受付部111が受け付けた処理の実行要求に含まれる各種情報を実行要求情報134として情報格納領域130に記憶する。また、情報管理部112は、例えば、各ノード2及び各ノード2を所有する利用者に関する情報(実行要求を行った利用者に開示する情報)であるノード情報131と、各ノード2の処理能力や現在の余剰資源を示す資源情報132とを情報格納領域130に記憶する。さらに、情報管理部112は、例えば、各利用者に対応する認証情報を含む利用者情報133を情報格納領域130に記憶する。
【0039】
ノード特定部113は、要求受付部111が処理の実行要求を受け付けたことに応じて、受け付けた実行要求に含まれる情報から、処理を実行させないノード2を示す除外情報134aを特定する。具体的に、ノード特定部113は、例えば、情報格納領域130に記憶された実行要求情報134を参照することにより、除外情報134aの特定を行う。
【0040】
ノード選択部114は、情報格納領域130に記憶された資源情報132を参照して、各ノード2(各待機ノード)のうち、ノード特定部113が特定した除外情報134aに対応するノード2以外のノード2から、要求受付部111が受け付けた実行要求に対応する処理を実行可能なノード2を選択する。
【0041】
指示送信部115は、ノード選択部114が選択したノード2に対して、要求受付部111が受け付けた実行要求に対応する処理の実行指示を送信する。
【0042】
情報受信部116は、例えば、指示送信部115が実行指示を送信した処理の実行結果を、ノード選択部114が選択したノード2から受信する。
【0043】
情報送信部117は、例えば、要求受付部111が受け付けた処理の実行要求を送信した操作端末3に対し、情報受信部116が受信した処理の実行結果を送信する。
【0044】
引継検知部118は、例えば、要求受付部111が受け付けた実行要求に対応する処理を実行中のノード2において、運用ノードからの処理の引き継ぎ(以下、フェールオーバーとも呼ぶ)が発生した場合に、これを検知する。
【0045】
次に、ノード2bの機能のブロック図について説明を行う。
【0046】
ノード2bは、
図5に示すように、例えば、CPU201やメモリ202等のハードウエアとプログラム210とが有機的に協働することにより、余剰算出部211と、情報管理部212と、情報送信部213と、情報受信部214と、処理実行部215と、事象検知部216と、引継実行部217とを含む各種機能を実現する。
【0047】
また、ノード2bは、例えば、
図5に示すように、資源情報231を情報格納領域130に記憶する。
【0048】
余剰算出部211は、ノード2bの処理能力や現在の余剰資源を示す資源情報231を生成する。
【0049】
情報管理部212は、例えば、余剰算出部211が生成した資源情報231を情報格納領域230に記憶する。
【0050】
情報送信部213は、例えば、余剰算出部211が生成した資源情報231を情報処理装置1に送信する。
【0051】
なお、情報処理装置1の情報受信部116は、この場合、情報送信部213によって送信された資源情報231を受信する。そして、情報処理装置1の情報管理部112は、情報受信部116が受信した資源情報231を資源情報132の少なくとも一部として情報格納領域130に記憶する。
【0052】
情報受信部214は、情報処理装置1の情報送信部117によって送信された処理の実行指示を受信する。
【0053】
処理実行部215は、情報受信部214が処理の実行指示を受信したことに応じて、実行指示に対応する処理を実行する。その後、情報送信部213は、処理実行部215によって実行された処理の実行結果を情報処理装置1に送信する。
【0054】
事象検知部216は、例えば、ノード2a(ノード2bに対応する運用ノード)において、処理の引き継ぎを要する事象が発生していることを検知する。具体的に、事象検知部216は、例えば、運用ノードとの通信が途絶えてから所定時間が経過した場合、運用ノードにおいて処理の引き継ぎを要する事象が発生しているものとして、これを検知する。
【0055】
引継実行部217は、例えば、ノード2aにおいて処理の引き継ぎを要する事象が発生していることを事象検知部216が検知した場合、ノード2aにおいて実行されていた処理の実行を引き継ぐ。
【0056】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。
図6は、第1の実施の形態における計算機資源管理処理の概略を説明するフローチャート図である。また、
図7及び
図8は、第1の実施の形態における計算機資源管理処理の概略を説明する図である。
【0057】
情報処理装置1は、
図6に示すように、例えば、操作端末3から送信された処理の実行要求を受け付けるまで待機する(S1のNO)。
【0058】
そして、処理の実行要求を受け付けた場合(S1のYES)、情報処理装置1は、S1の処理で受け付けた実行要求に含まれる情報から、S1の処理で受け付けた実行要求に対応する処理を実行させないノード2に対応する除外情報134aを特定する(S2)。
【0059】
具体的に、情報処理装置1は、
図7に示すように、例えば、操作端末3cから送信された処理の実行要求を受け付けたことに応じて、除外情報134aの特定を行う。
【0060】
続いて、情報処理装置1は、複数のノード2の処理能力を示す資源情報132を記憶する情報格納領域130を参照して、複数のノード2のうち、S2の処理で特定した除外情報134aに対応するノード2以外のノード2から、S1の処理で受け付けた実行要求に対応する処理を実行可能なノード2を選択する(S3)。
【0061】
その後、情報処理装置1は、S3の処理で選択したノード2に対して、S1の処理で受け付けた実行要求に対応する処理の実行指示を送信する(S4)。
【0062】
具体的に、情報処理装置1は、
図8に示すように、例えば、実行要求に対応する処理を実行可能なノード2としてノード2bを選択した場合、ノード2bに対して実行要求に対応する処理の実行指示を送信する。そして、ノード2bは、この場合、情報処理装置1から受信した実行要求に対応する処理を実行する。
【0063】
これにより、情報処理装置1は、利用者が希望する条件と合わないノード2において、実行要求に対応する処理が実行されないように制御することが可能になる。
【0064】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。
図9から
図18は、第1の実施の形態における計算機資源管理処理の詳細を説明するフローチャート図である。また、
図19から
図24は、第1の実施の形態における計算機資源管理処理の詳細を説明する図である。
【0065】
[資源情報管理処理]
初めに、各待機ノードの余剰資源の管理を行う処理(以下、資源情報管理処理とも呼ぶ)のうち、ノード2bで行われる処理について説明を行う。
図9は、ノード2bで行われる資源情報管理処理を説明するフローチャート図である。なお、ノード2b以外の待機ノード(ノード2d及びノード2f)において行われる資源情報管理処理は、ノード2bにおいて行われる資源情報管理処理を同じ内容であるため説明を省略する。
【0066】
ノード2bの余剰算出部211は、
図9に示すように、資源情報送信タイミングになるまで待機する(S11のNO)。資源情報送信タイミングは、例えば、利用者がノード2bに対して計算機資源管理処理の実行を開始する旨の入力を行ったタイミングであってよい。また、資源情報送信タイミングは、例えば、後述するように、ノード2bが実行要求に対応する処理の実行を開始する前のタイミングであってよい。さらに、資源情報送信タイミングは、例えば、後述するように、ノード2bが実行要求に対応する処理の実行を終了した後のタイミングであってよい。
【0067】
そして、資源情報送信タイミングになった場合(S11のYES)、余剰算出部211は、例えば、ノード2bのCPU及びメモリの現在の余剰資源を示す資源情報231を生成する(S12)。その後、ノード2bの情報管理部212は、例えば、S12の処理で生成された資源情報231を情報格納領域230に記憶する。以下、資源情報231の具体例について説明を行う。
【0068】
[資源情報の具体例(1)]
図19は、資源情報231の具体例について説明する図である。具体的に、
図19は、ノード2において生成される資源情報231の具体例を説明する図である。
【0069】
図19に示す資源情報231は、資源情報231に含まれる各情報を識別する「項番」と、ノード2bを所有する利用者(企業)の名称が記憶される「企業名」と、ノード2a及びノード2bに対応するクラスタの識別情報が記憶される「クラスタ名」とを項目として有する。また、
図19に示す資源情報231は、ノード2bのCPU201の周波数が記憶される「CPU周波数」と、ノード2bのCPU201における現在の使用率が記憶される「CPU使用率」とを項目として有する。さらに、
図19に示す資源情報231は、ノード2bのメモリ202の容量が記憶される「メモリ容量」と、ノード2bのメモリ202における現在の使用率が記憶される「メモリ使用率」とを項目として有する。
【0070】
具体的に、
図19に示す資源情報231において、「項番」が「1」である情報には、「企業名」として「A社」が記憶され、「クラスタ名」として「CL-S」が記憶され、「CPU周波数」として「2.7(GHz)」が記憶され、「CPU使用率」として「40(%)」が記憶されている。また、
図19に示す資源情報231において、「項番」が「1」である情報には、「メモリ容量」として「64(GB)」が記憶され、「メモリ使用率」として「70(%)」が記憶されている。
【0071】
図9に戻り、ノード2bの情報送信部213は、S12の処理で生成した資源情報231を情報処理装置1に送信する(S13)。
【0072】
次に、資源情報管理処理のうち、情報処理装置1で行われる処理について説明を行う。
図10は、情報処理装置1で行われる資源情報管理処理を説明するフローチャート図である。
【0073】
情報処理装置1の情報受信部116は、
図10に示すように、ノード2(待機ノード)のうちのいずれかから資源情報231を受信するまで待機する(S21のNO)。
【0074】
そして、ノード2のいずれかから資源情報231を受信した場合(S21のYES)、情報処理装置1の情報管理部212は、S21の処理で受信した資源情報231を、資源情報132の少なくとも一部として情報格納領域130に記憶する(S22)。以下、資源情報132の具体例について説明を行う。
【0075】
[資源情報の具体例(2)]
図20は、資源情報132の具体例について説明する図である。
【0076】
図20に示す資源情報132は、
図19で説明した資源情報231と同じ項目を有している。
【0077】
具体的に、
図20に示す資源情報132において、「項番」が「1」である情報には、「企業名」として「A社」が記憶され、「クラスタ名」として「CL-S」が記憶され、「CPU周波数」として「2.7(GHz)」が記憶され、「CPU使用率」として「40(%)」が記憶され、「メモリ容量」として「64(GB)」が記憶され、「メモリ使用率」として「70(%)」が記憶されている。
【0078】
すなわち、
図20に示す資源情報132における「項番」が「1」である欄には、
図19で説明した資源情報231と同じ情報が記憶されている。
【0079】
一方、
図20に示す資源情報132において、例えば、「項番」が「2」である情報には、「企業名」として「B社」が記憶され、「クラスタ名」として「CL-S」が記憶され、「CPU周波数」として「2.5(GHz)」が記憶され、「CPU使用率」として「5(%)」が記憶され、「メモリ容量」として「128(GB)」が記憶され、「メモリ使用率」として「3(%)」が記憶されている。
【0080】
また、
図20に示す資源情報132において、例えば、「項番」が「3」である情報には、「企業名」として「C社」が記憶され、「クラスタ名」として「CL-AA」が記憶され、「CPU周波数」として「2.4(GHz)」が記憶され、「CPU使用率」として「80(%)」が記憶され、「メモリ容量」として「32(GB)」が記憶され、「メモリ使用率」として「77(%)」が記憶されている。
【0081】
すなわち、
図20に示す資源情報132における「項番」が「2」及び「3」である欄には、ノード2b以外の待機ノード(例えば、ノード2dやノード2f)から受信した資源情報231と同じ情報が記憶されている。
【0082】
[計算機資源管理処理の詳細]
次に、計算機資源管理情報の詳細のうち、情報処理装置1で行われる処理について説明を行う。
図11から
図13は、計算機資源管理情報の詳細のうち、情報処理装置1で行われる処理について説明するフローチャート図である。
【0083】
情報処理装置1の要求受付部111は、
図11に示すように、入力画面表示要求を受け付けるまで待機する(S31のNO)。入力画面表示要求は、例えば、処理の実行要求を行うことを希望する利用者が操作端末3を介して行う要求である。
【0084】
なお、要求受付部111は、入力画面表示要求を受け付けた場合、入力画面表示要求を送信した利用者が予め登録された利用者であるか否かを判定するために、例えば、利用者ID及びパスワードの入力を求めるものであってもよい。そして、要求受付部111は、例えば、入力された利用者ID及びパスワードの組合せに対応する情報が、情報格納領域130に予め記憶された利用者情報133に含まれている場合に限り、後続処理(S32以降の処理)を行うものであってよい。以下、利用者情報133の具体例について説明を行う。
【0085】
[利用者情報の具体例]
図21は、利用者情報133の具体例について説明する図である。
【0086】
図21に示す利用者情報133は、利用者情報133に含まれる各情報を識別する「項番」と、各利用者の識別情報が記憶される「利用者ID」と、各利用者が予め設定したパスワードが記憶される「パスワード」と、各利用者の氏名が記憶される「利用者名」とを項目として有する。
【0087】
具体的に、
図21に示す利用者情報133において、「項番」が「1」である情報には、「利用者ID」として「ID078910」が記憶され、「パスワード」として「aibf5」が記憶され、「利用者名」として「山田太郎」が記憶されている。
図21に含まれる他の情報についての説明は省略する。
【0088】
図11に戻り、入力画面表示要求を受け付けた場合(S31のYES)、情報処理装置1の情報送信部117は、S31の処理で受け付けた入力画面表示要求が行われた操作端末3に対し、入力画面の表示に要する情報を送信する(S32)。以下、操作端末3において表示される入力画面の具体例について説明を行う。
【0089】
[入力画面の具体例]
図22は、入力画面の具体例を説明する図である。具体的に、
図22は、入力画面表示要求を行った利用者が操作端末3を介して閲覧する入力画面の具体例を説明する図である。
【0090】
図22に示す入力画面は、「名称」に対応するテキストボックス(以下、テキストボックスAとも呼ぶ)と、「データ」に対応するテキストボックス(以下、テキストボックスBとも呼ぶ)と、「プログラム」に対応するテキストボックス(以下、テキストボックスCとも呼ぶ)とを有する。
【0091】
具体的に、入力画面表示要求を行った利用者は、処理の名称をテキストボックスAに入力し、テキストボックスBの右隣に配置されたボタン(「参照」に対応するボタン)を押下して処理対象のデータの格納位置を指定することによって、処理対象のデータの格納位置をテキストボックスBに入力し、テキストボックスCの右隣に配置されたボタン(「参照」に対応するボタン)を押下して実行対象のプログラムの格納位置を指定することによって、実行対象のプログラムの格納位置をテキストボックスCに入力する。
【0092】
また、
図22に示す入力画面は、「終了時刻」に対応するラジオボタン(以下、ラジオボタンAとも呼ぶ)と、「月」、「日」、「時」及び「分」のそれぞれに対応するリストボックス(以下、それぞれリストボックスA、B、C及びDとも呼ぶ)とを有する。
【0093】
具体的に、入力画面表示要求を行った利用者は、処理の終了時刻を指定しない場合、ラジオボタンAにおいて「指定なし」を選択する。また、入力画面表示要求を行った利用者は、処理の終了時刻を指定する場合、ラジオボタンAにおいて「日時指定」を選択し、かつ、リストボックスA、B、C及びDにおいて処理の終了時刻に対応する月、日、時及び分をそれぞれ選択する。
【0094】
さらに、
図22に示す入力画面は、「除外実行ノード」に対応するラジオボタン(以下、ラジオボタンBとも呼ぶ)と、除外実行ノードを指定するためのリストボックス(以下、リストボックスEとも呼ぶ)とを有する。除外実行ノードは、例えば、利用者が処理を実行させるべきでないと判断するノードである。
【0095】
具体的に、入力画面表示要求を行った利用者は、除外実行ノードを指定しない場合、ラジオボタンBにおいて「指定なし」を選択する。また、入力画面表示要求を行った利用者は、除外実行ノードを指定する場合、ラジオボタンBにおいて「ノード指定」を選択し、かつ、リストボックスEにおいて処理を実行させるべきでないと判断する1以上のノードを選択する。
【0096】
そして、入力画面表示要求を行った利用者は、例えば、入力画面に対して必要情報の入力を行った場合、「アップロード」に対応するボタンを押下する。
【0097】
これにより、利用者は、入力した情報に対応する処理の実行要求を情報処理装置1に送信することが可能になる。
【0098】
なお、情報送信部117は、S32の処理において、情報格納領域130に予め記憶されているノード情報131を併せて送信するものであってもよい。そして、入力画面表示要求を行った利用者は、例えば、ノード情報131の内容を閲覧しながら、入力画面に対して必要情報の入力を行うものであってもよい。
【0099】
これにより、入力画面表示要求を行った利用者は、ノード2を所有する各利用者についての情報を考慮した上で、除外実行ノードの指定を行うことが可能になる。以下、ノード情報131の具体例について説明を行う。
【0100】
[ノード情報の具体例]
図23は、ノード情報131の具体例について説明する図である。
【0101】
図23に示すノード情報131は、ノード情報131に含まれる各情報を識別する「項番」と、ノード2を所有する利用者(企業)の名称が記憶される「企業名」と、クラスタを構成するノード2の規模(台数)が記憶される「クラスタ規模」とを項目として有する。また、
図23に示すノード情報131は、実行要求に対応する処理を実行した実績を示す情報(回数)が記憶される「サービス実績」と、利用者による評価を示す値が記憶される「利用者評価」と、その他の情報が記憶される「備考」とを項目として有する。
【0102】
具体的に、
図23に示すノード情報131において、「項番」が「1」である情報には、「企業名」として「A社」が記憶され、「クラスタ規模」として「7(台)」が記憶され、「サービス実績」として「15(回)」が記憶され、利用者評価として「3」が記憶されている。なお、「項番」が「1」である情報の「備考」には、情報が記憶されていない。
【0103】
また、
図23に示すノード情報131において、「項番」が「2」である情報には、「企業名」として「B社」が記憶され、「クラスタ規模」として「10(台)」が記憶され、「サービス実績」として「38(回)」が記憶され、利用者評価として「5」が記憶され、「備考」として「高速処理が可能」が記憶されている。
図23に含まれる他の情報についての説明は省略する。
【0104】
図11に戻り、要求受付部111は、S32の処理の後、操作端末3から送信された処理の実行要求を受け付けるまで待機する(S33のNO)。
【0105】
そして、処理の実行要求を受け付けた場合(S33のYES)、情報管理部112は、S33の処理で受け付けた実行要求に含まれる情報を実行要求情報134として情報格納領域130に記憶する(S34)。以下、実行要求情報134の具体例について説明を行う。
【0106】
[実行要求情報の具体例]
図24は、実行要求情報134の具体例について説明する図である。
【0107】
図24に示す実行要求情報134は、実行要求を行った利用者の識別情報が記憶される「利用者ID」と、利用者が入力画面を介して入力したデータの格納位置が記憶される「データ」と、利用者が入力画面を介して入力したプログラムの格納位置が記憶される「プログラム」とを項目として有する。また、
図24に示す実行要求情報134は、利用者が入力画面を介して入力した処理の終了時刻が記憶される「終了時刻」と、利用者が入力画面を介して入力した除外実行ノードを示す情報が記憶される「除外実行ノード」とを項目として有する。
【0108】
具体的に、
図24に示す実行要求情報134には、「利用者ID」として「ID078910」が記憶され、「データ」として「C:¥Users¥yamada.taro¥data¥data.dat」が記憶されている。また、
図24に示す実行要求情報134には、「プログラム」として「C:¥Users¥yamada.taro¥program¥program.bat」が記憶され、「終了時刻」として「指定なし」が記憶され、「除外実行ノード」として「C社のノード」が記憶されている。
【0109】
図11に戻り、情報処理装置1のノード特定部113は、S33の処理で受け付けた実行要求に対応する実行要求情報134から、除外実行ノードを示す除外情報134aを特定する(S35)。
【0110】
具体的に、ノード特定部113は、例えば、
図24で説明した実行要求情報134を参照し、「除外実行ノード」に記憶された情報である「C社のノード」を除外情報134aとして特定する。
【0111】
そして、情報処理装置1のノード選択部114は、情報格納領域130に記憶された資源情報132に情報が含まれる複数のノード2に、S35の処理で特定した除外情報134aに対応するノード2以外のノード2が存在するか否かを判定する(S36)。
【0112】
その結果、S35の処理で特定した除外情報134aに対応するノード2以外のノード2が存在すると判定した場合(S36のYES)、ノード選択部114は、
図12に示すように、情報格納領域130に記憶された資源情報132に情報が含まれる複数のノード2のうち、S35の処理で特定した除外情報134aに対応するノード2以外のノード2から、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2を選択する(S41)。
【0113】
具体的に、
図20で説明した資源情報132における「企業名」には、「A社」、「B社」及び「C社」が記憶されている。そのため、例えば、S35の処理で特定された除外情報134aがC社のノード(ノード2f)を示している場合、ノード選択部114は、A社のノード(ノード2b)及びB社のノード(ノード2d)から、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2の選択を行う。
【0114】
そして、ノード選択部114は、この場合、例えば、
図20で説明した資源情報132の「CPU周波数」、「CPU使用率」、「メモリ容量」及び「メモリ使用率」に記憶された値から、各ノード2の処理能力のレベルを特定する。さらに、ノード選択部114は、例えば、
図22で説明した入力画面において指定された処理対象のデータ及び実行対象のプログラムのデータサイズから、S33の処理で受け付けた実行要求に対応する処理の実行負荷のレベルを特定する。その後、ノード選択部114は、特定した各レベルに基づいて、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2の選択を行う。
【0115】
具体的に、ノード選択部114は、例えば、「CPU周波数」及び「メモリ容量」に記憶された値が大きいノード2ほど高いレベルになるように、かつ、「CPU使用率」及び「メモリ使用率」に記憶された値が小さいノード2ほど高いレベルになるように、各ノード2の処理能力を10段階のレベルのうちのいずれかに決定する。また、ノード選択部114は、例えば、処理対象のデータ及び実行対象のプログラムのデータサイズが大きい処理ほど高いレベルになるように、S33の処理で受け付けた実行要求に対応する処理の実行負荷を10段階のレベルのうちのいずれかに決定する。
【0116】
そして、例えば、ノード2b及びノード2dのレベルがそれぞれ「10」及び「4」であり、S33の処理で受け付けた実行要求に対応する処理の実行負荷のレベルが「7」であった場合、ノード選択部114は、ノード2bのレベルが処理の実行負荷のレベルよりも大きいため、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2としてノード2bを特定する。一方、ノード選択部114は、この場合、ノード2dのレベルが処理の実行負荷のレベルよりも小さいため、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2としてノード2dを特定しない。
【0117】
なお、実行要求に対応する処理の実行を既に開始しているノード2が存在している場合、ノード選択部114は、例えば、処理を実行しているノード2のレベルから実行中の処理のレベルを減算して算出した値を、処理を実行しているノード2のレベルとして取り扱うものであってもよい。
【0118】
具体的に、例えば、レベルが「10」であるノード2bにおいてレベルが「7」である処理の実行が行われている場合、ノード選択部114は、処理の実行中におけるノード2bのレベルとして、「10」から「7」を減算することによって算出される「3」を特定するものであってよい。そして、例えば、再度行われたS33の処理において受け付けた実行要求に対応する処理のレベルが「2」である場合、ノード選択部114は、例えば、レベルが「7」である処理の実行が終了する前であっても、再度行われたS33の処理において受け付けた実行要求に対応する処理を、ノード2bにさらに実行させるものであってもよい。
【0119】
また、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2が複数存在する場合、ノード選択部114は、例えば、S33の処理で受け付けた実行要求に対応する処理を実行させるノード2として、レベルが最も高いノード2を選択するものであってよい。
【0120】
さらに、ノード選択部114は、例えば、実行要求の「終了時刻」の欄に設定された時刻までに処理が終了すると判定できるノード2に限り、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2として選択するものであってよい。
【0121】
図12に戻り、情報送信部117は、S41の処理で選択したノード2に対して、S33の処理で受け付けた実行要求に対応する処理の実行指示を送信する(S42)。具体的に、情報送信部117は、例えば、S33の処理で受け付けた実行要求に対応する処理の実行指示を、S33の処理で受け付けた実行要求に対応する処理の実行に要するデータ及びプログラムとともに送信する。
【0122】
そして、情報受信部116は、S42の処理で実行指示を送信した処理の実行結果を、S42の処理で実行指示を送信したノード2から受信するまで待機する(S43)。
【0123】
ここで、計算機資源管理情報の詳細のうち、S41の処理で選択したノード2で行われる処理の一部(情報処理装置1から処理の実行指示を受信した場合に行われる処理)について説明を行う。
図14は、計算機資源管理情報の詳細のうち、S41の処理で選択したノード2で行われる処理の一部について説明するフローチャート図である。
【0124】
S41の処理で選択したノード2の情報受信部214は、
図14に示すように、情報処理装置1から処理の実行指示を受信するまで待機する(S61のNO)。
【0125】
そして、情報処理装置1から処理の実行指示を受信した場合(S61のYES)、S41の処理で選択したノード2の処理実行部215は、S61の処理で受信した実行指示に対応する処理の実行を開始する(S62)。
【0126】
その後、S41の処理で選択したノード2の情報送信部213は、S62の処理で開始した処理の実行が終了するまで待機する(S63のNO)。
【0127】
そして、S62の処理で開始した処理の実行が終了した場合(S63のYES)、S41の処理で選択したノード2の情報送信部117は、S61の処理で受信した実行指示に対応する処理の実行結果を情報処理装置1に送信する(S64)。
【0128】
これにより、情報処理装置1は、利用者が行った実行要求に対応する処理の実行結果を取得することが可能になる。
【0129】
図12に戻り、例えば、S42の処理の後、所定時間が経過するまでの間に実行結果を受信した場合(S43のYES)、情報送信部117は、S33の処理で受け付けた実行要求を送信した操作端末3に対し、S33の処理で受け付けた実行要求に対応する処理の実行結果を送信する(S44)。
【0130】
そして、情報処理装置1は、計算機資源管理処理を終了する。なお、情報処理装置1は、S35の処理で特定した除外情報134aに対応する除外実行ノード以外のノード2が存在しないと判定した場合も同様に(S36のNO)、計算機資源管理処理を終了する。
【0131】
一方、例えば、S42の処理の後、所定時間が経過するまでの間に実行結果を受信しなかった場合(S43のNO)、情報送信部117は、
図13に示すように、S41の処理で選択したノード2に対して、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果の送信指示を送信する(S51)。
【0132】
その後、情報受信部116は、S41の処理で選択したノード2から、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果を受信するまで待機する(S52のNO)。
【0133】
ここで、計算機資源管理情報の詳細のうち、S41の処理で選択したノード2で行われる処理の一部(情報処理装置1から実行結果の送信指示を受信した場合に行われる処理)について説明を行う。
図15は、計算機資源管理情報の詳細のうち、S41の処理で選択したノード2で行われる処理の一部について説明するフローチャート図である。
【0134】
S41の処理で選択したノード2の情報受信部214は、
図15に示すように、情報処理装置1から処理の実行結果の送信指示を受信するまで待機する(S71のNO)。
【0135】
そして、情報処理装置1から処理の実行結果の送信指示を受信した場合(S71のYES)、S41の処理で選択したノード2の情報送信部213は、S61の処理で受け付けた実行指示に対応する処理の現時点までの実行結果を情報処理装置1に送信する。
【0136】
これにより、情報処理装置1は、例えば、利用者が行った実行要求に対応する処理の実行に時間を要する場合、実行指示に対応する処理の途中までの実行結果を定期的に取得することが可能になる。
【0137】
図13に戻り、S41の処理で選択したノード2から、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果を受信した場合(S52のYES)、情報送信部117は、S45の処理で受信した実行結果を情報格納領域130に記憶する(S53)。
【0138】
すなわち、後述するように、S41の処理で選択したノード2においてフェールオーバーが発生した場合、S41の処理で選択したノード2では、S33の処理で受け付けた実行要求に対応する処理の実行が中断する。そのため、S41の処理で選択したノード2は、この場合、S33の処理で受け付けた実行要求に対応する処理の実行結果(フェーオーバー発生時点までの実行結果)を情報処理装置1に送信することが好ましい。
【0139】
しかしながら、例えば、フェールオーバーの発生に伴って処理負荷が増大した場合、S41の処理で選択したノード2は、実行結果を正常に送信することができなくなる可能性がある。
【0140】
そこで、情報処理装置1は、S41の処理で選択したノード2から、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果を定期的に取得しておく。これにより、情報処理装置1は、S41の処理で選択したノード2においてフェールオーバーが発生した場合、S33の処理で受け付けた実行要求に対応する処理の途中までの実行結果を、後続処理を実行する他のノード2に送信することが可能になる。
【0141】
なお、S41の処理で選択したノード2は、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果を、情報処理装置1に対して自発的に送信するものであってもよい。
【0142】
図12に戻り、情報受信部116は、S53の処理の後、S42の処理で実行指示を送信した処理の実行結果を、S41の処理で選択したノード2から受信するまで再度待機する(S43)。
【0143】
そして、例えば、前回のS43の処理において所定時間が経過したと判断されたタイミングからさらに所定時間が経過するまでの間に、S41の処理で選択したノード2から実行結果を受信した場合(S43のYES)、情報送信部117は、S44の処理を行う。
【0144】
一方、例えば、前回のS43の処理において所定時間が経過したと判断されたタイミングからさらに所定時間が経過するまでの間に、S41の処理で選択したノード2から実行結果を受信しなかった場合(S43のNO)、情報処理装置1は、S51以降の処理を再度行う。
【0145】
すなわち、情報処理装置1は、例えば、S41の処理で選択したノード2から実行結果を受信するまでの間、所定時間が経過するごとに、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果を取得する。
【0146】
[引継発生時処理]
次に、フェールオーバーが発生した場合に行う処理(以下、引継発生時処理とも呼ぶ)のうち、ノード2bで行われる処理について説明を行う。
図16は、引継発生時処理のうち、ノード2bで行われる処理を説明するフローチャート図である。なお、ノード2b以外の待機ノード(ノード2d及びノード2f)において行われる引継発生処理は、ノード2bにおいて行われる引継発生処理と同じ内容であるため説明を省略する。
【0147】
ノード2bの事象検知部216は、
図16に示すように、ノード2aにおいて処理の引き継ぎを要する事象が発生していることを検知するまで待機する(S81のNO)。
【0148】
そして、ノード2aにおいて処理の引き継ぎを要する事象が発生していることを検知した場合(S81のYES)、処理実行部215は、S61の処理で受信した実行指示に対応する処理を自ノードが実行しているか否かを判定する(S82)。
【0149】
その結果、S61の処理で受信した実行指示に対応する処理を実行していると判定した場合(S83のYES)、処理実行部215は、S61の処理で受信した実行指示に対応する処理の実行を中断する(S84)。
【0150】
その後、情報送信部213は、ノード2bにおいて引き継ぎが発生する旨を示す情報を情報処理装置1に送信する(S85)。
【0151】
そして、S85の処理の後、または、S61の処理で受信した実行指示に対応する処理を実行してないと判定した場合(S83のNO)、ノード2bの引継実行部217は、運用ノードにおいて実行されていた処理の実行を開始する(S86)。
【0152】
次に、引継発生時処理のうち、情報処理装置1で行われる処理について説明を行う。
図17及び
図18は、引継発生時処理のうち、情報処理装置1で行われる処理を説明するフローチャート図である。
【0153】
情報処理装置1の情報受信部116は、
図17に示すように、ノード2のいずれかから引き継ぎが発生する旨を示す情報を受信するまで待機する(S91のNO)。
【0154】
そして、引き継ぎが発生する旨を示す情報を受信した場合(S91のYES)、ノード選択部114は、情報格納領域130に記憶された資源情報132に情報が含まれる複数のノード2に、S35の処理で特定した除外情報134aに対応するノード2と、S91の処理で受信した情報を送信したノード2とを除くノード2が存在するか否かを判定する(S92)。
【0155】
その結果、S35の処理で特定した除外情報134aに対応するノード2と、S91の処理で受信した情報を送信したノード2とを除くノード2が存在すると判定した場合(S92のYES)、ノード選択部114は、情報格納領域130に記憶された資源情報132に情報が含まれる複数のノード2のうち、S35の処理で特定した除外情報134aに対応するノード2と、S91の処理で受信した情報を送信したノード2とを除くノード2から、S33の処理で受け付けた実行要求に対応する処理を実行可能なノード2を選択する(S93)。
【0156】
すなわち、ノード選択部114は、この場合、S33の処理で受け付けた実行要求に対応する処理の実行を、引き継ぎが発生する旨を示す情報を送信したノード2に代わって実行する他のノード2を選択する。
【0157】
その後、情報送信部117は、S93の処理で選択したノード2に対して、S33の処理で受け付けた実行要求に対応する処理の実行指示を送信する(S94)。
【0158】
なお、情報送信部117は、この場合、S33の処理で受け付けた実行要求に対応する処理の実行指示に加え、情報格納領域130に記憶された実行結果のうち、S33の処理で受け付けた実行要求に対応する処理についての最新の実行結果を併せて送信する。
【0159】
これにより、情報処理装置1は、S33の処理で受け付けた実行要求に対応する処理を実行しているノード2においてフェールオーバーが発生した場合であっても、S93の処理で選択したノード2に、S33の処理で受け付けた実行要求に対応する処理の途中から実行させることが可能になる。そのため、情報処理装置1は、S33の処理で受け付けた実行要求に対応する処理を実行しているノード2においてフェールオーバーが発生した場合であっても、これによる処理の遅延の発生を抑えることが可能になる。
【0160】
そして、情報受信部116は、S94の処理で実行指示を送信した処理の実行結果を、S94の処理で実行指示を送信したノード2から受信するまで待機する(S95)。
【0161】
その結果、例えば、S94の処理の後、所定時間が経過するまでの間に実行結果を受信した場合(S95のYES)、情報送信部117は、S33の処理で受け付けた実行要求を送信した操作端末3に対し、S33の処理で受け付けた実行要求に対応する処理の実行結果を送信する(S96)。その後、情報処理装置1は、計算機資源管理処理を終了する。
【0162】
一方、例えば、S94の処理の後、所定時間が経過するまでの間に実行結果を受信しなかった場合(S95のNO)、情報送信部117は、
図18に示すように、S93の処理で選択したノード2に対して、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果の送信指示を送信する(S101)。
【0163】
その後、情報受信部116は、S93の処理で選択したノード2から、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果を受信するまで待機する(S102のNO)。
【0164】
そして、S33の処理で受け付けた実行要求に対応する処理の現時点までの実行結果を受信した場合(S102のYES)、情報送信部117は、S45の処理で受信した実行結果を情報格納領域130に記憶する(S103)。
【0165】
このように、本実施の形態における情報処理装置1は、処理の実行要求を受け付けたことに応じて、受け付けた実行要求に含まれる情報から、実行要求に対応する処理を実行させないノード2を示す除外情報134aを特定する。そして、情報処理装置1は、複数のノード2の処理能力を示す資源情報132を記憶する記憶部を参照して、特定した除外情報134aに対応するノード2以外のノード2から、処理を実行可能なノード2を選択する。その後、情報処理装置1は、選択したノード2に対して、受け付けた実行要求に対応する処理の実行指示を送信する。
【0166】
一方、複数のノード2は、情報処理装置1から実行指示を受け付けるまで待機する。そして、複数のノードのうちの実行指示を受け付けたノード2は、実行指示を受け付けたことに応じて、情報処理装置1が受け付けた実行要求に対応する処理を実行する。
【0167】
すなわち、情報処理装置1は、利用者が処理を実行させることを希望しないノード2を除外した上で、受け付けた実行要求に対応する処理を実行させるノード2を決定する。
【0168】
これにより、情報処理装置1は、利用者が希望する条件と合わないノード2において、実行要求に対応する処理が実行されないように制御することが可能になる。
【0169】
なお、例えば、ノード2aからノード2bにフェールオーバーが発生し、ノード2aが待機ノードとなった場合、情報処理装置1は、利用者からの実行要求に対応する処理を実行させるノード2を、ノード2a、ノード2d及びノード2fの中から選択するように処理を行うものであってよい。
【0170】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0171】
(付記1)
情報処理装置と、前記情報処理装置とアクセス可能な複数の計算機とを有する計算機資源管理システムであって、
前記情報処理装置は、
処理の実行要求を受け付けたことに応じて、前記実行要求に含まれる情報から、前記処理を実行させない計算機を示す除外情報を特定し、
前記複数の計算機の処理能力を示す資源情報を記憶する記憶部を参照して、前記複数の計算機のうち、特定した前記除外情報に対応する計算機以外の計算機から、前記処理を実行可能な第1計算機を選択し、
選択した前記第1計算機に対して、前記処理の第1実行指示を送信し、
前記第1計算機は、前記第1実行指示を受け付けたことに応じて、前記処理を実行する、
ことを特徴とする計算機資源管理システム。
【0172】
(付記2)
付記1において、
前記複数の計算機のそれぞれは、他の計算機とクラスタを構成する計算機であって、前記他の計算機が実行する処理を引き継いで実行することが可能な計算機である、
ことを特徴とする計算機資源管理システム。
【0173】
(付記3)
付記2において、
前記情報処理装置は、
前記第1計算機において前記処理の実行が終了した場合、前記第1計算機から前記処理の第1実行結果を取得し、
取得した前記第1実行結果を前記実行要求の送信元に送信する、
ことを特徴とする計算機資源管理システム。
【0174】
(付記4)
付記3において、
前記情報処理装置は、
前記処理の実行が終了する前に、前記第1計算機において前記他の計算機が実行していた処理の引き継ぎが発生した場合、前記記憶部を参照し、前記複数の計算機のうち、特定した前記除外情報に対応する計算機と前記第1計算機とを除く計算機から、前記処理を実行可能な第2計算機を再度選択し、
再度選択した前記第2計算機に対して、前記処理の第2実行指示を送信し、
前記第2計算機は、前記第2実行指示を受け付けたことに応じて、前記処理を実行する、
ことを特徴とする計算機資源管理システム。
【0175】
(付記5)
付記4において、
前記情報処理装置は、
前記第1計算機において実行された前記処理の途中までの第2実行結果を所定時間ごとに取得し、
前記第2計算機に対して、前記第2実行結果のうち、最後に取得した第3実行結果を併せて送信し、
前記第2計算機は、前記第3実行結果を用いることにより、前記第3実行結果を算出する処理よりも後の処理を実行する、
ことを特徴とする計算機資源管理システム。
【0176】
(付記6)
処理の実行要求を受け付けたことに応じて、前記実行要求に含まれる情報から、前記処理を実行させない計算機を示す除外情報を特定し、
複数の計算機の処理能力を示す資源情報を記憶する記憶部を参照して、前記複数の計算機のうち、特定した前記除外情報に対応する計算機以外の計算機から、前記処理を実行可能な第1計算機を選択し、
選択した前記第1計算機に対して、前記処理の第1実行指示を送信し、
前記第1計算機は、前記第1実行指示を受け付けたことに応じて、前記処理を実行する、
処理をコンピュータに実行させることを特徴とする計算機資源管理プログラム。
【0177】
(付記7)
付記6において、
前記複数の計算機のそれぞれは、他の計算機とクラスタを構成する計算機であって、前記他の計算機が実行する処理を引き継いで実行することが可能な計算機である、
ことを特徴とする計算機資源管理プログラム。
【0178】
(付記8)
付記6において、さらに、
前記第1計算機において前記処理の実行が終了した場合、前記第1計算機から前記処理の第1実行結果を取得し、
取得した前記第1実行結果を前記実行要求の送信元に送信する、
処理をコンピュータに実行させることを特徴とする計算機資源管理プログラム。
【0179】
(付記9)
付記8において、さらに、
前記処理の実行が終了する前に、前記第1計算機において前記他の計算機が実行していた処理の引き継ぎが発生した場合、前記記憶部を参照し、前記複数の計算機のうち、特定した前記除外情報に対応する計算機と前記第1計算機とを除く計算機から、前記処理を実行可能な第2計算機を再度選択し、
再度選択した前記第2計算機に対して、前記処理の第2実行指示を送信し、
前記第2計算機は、前記第2実行指示を受け付けたことに応じて、前記処理を実行する、
処理をコンピュータに実行させることを特徴とする計算機資源管理プログラム。
【0180】
(付記10)
付記9において、さらに、
前記第1計算機において実行された前記処理の途中までの第2実行結果を所定時間ごとに取得し、
前記第2計算機に対して、前記第2実行結果のうち、最後に取得した第3実行結果を併せて送信し、
前記第2計算機は、前記第3実行結果を用いることにより、前記第3実行結果を算出する処理よりも後の処理を実行する、
処理をコンピュータに実行させることを特徴とする計算機資源管理プログラム。
【符号の説明】
【0181】
1:情報処理装置 2a:運用ノード
2b:待機ノード 2c:運用ノード
2d:待機ノード 2e:運用ノード
2f:待機ノード 3a:操作端末
3b:操作端末 3c:操作端末
10:情報処理システム