(57)【特許請求の範囲】
【請求項１】
多次元のメッシュまたはトーラス接続のネットワーク内に配置された複数の計算機と、
保守処理の実行要求に応じ、２以上の計算機で実行するジョブの実行開始予定時刻を示す開始時刻情報に基づいて、前記保守処理の実行開始時刻後に実行する予定の実行予定ジョブを検出し、前記実行予定ジョブを実行させる計算機群を包含する領域の各軸方向の長さを示す領域情報に基づいて、前記ネットワークの多次元の複数の軸それぞれについて、前記実行予定ジョブごとの前記領域の軸方向の長さを用いて、該軸方向の長さの代表値を算出し、各軸の該代表値に基づいて、前記ネットワーク内の保守領域を決定し、該保守領域内の計算機に対して前記保守処理を実行する保守装置と、
を有する並列計算機システム。
【請求項２】
前記保守装置は、前記実行予定ジョブごとの領域に含まれる計算機数の平均値に対して、前記実行予定ジョブごとの領域に含まれる計算機数の標準偏差を加算し、加算結果に応じた数の計算機を包含する領域を、前記保守領域とする、
請求項１記載の並列計算機システム。
【請求項３】
前記保守装置は、各軸方向の長さの前記代表値に基づいて、前記保守領域の各軸方向の長さを決定し、各軸方向に決定された長さを有すると共に前記保守処理を実行していない未適用計算機を包含する領域を、前記ネットワーク内から探索し、該領域を前記保守領域として決定する、
請求項１または２記載の並列計算機システム。
【請求項４】
前記保守装置は、前記探索により複数の領域が検出された場合、検出された前記複数の領域それぞれの、前記保守処理が実行済みである適用済み計算機に隣接する計算機の数に基づいて、検出された前記複数の領域のうちから前記保守領域を決定する、
請求項３記載の並列計算機システム。
【請求項５】
前記保守装置は、前記保守領域の決定時にジョブを実行している計算機と、該決定時から前記保守処理の所要時間経過後までにジョブの実行を開始する予定がある計算機とを含まない領域を、前記保守領域として決定する、
請求項１乃至４のいずれかに記載の並列計算機システム。
【請求項６】
多次元のメッシュまたはトーラス接続のネットワーク内に配置された複数の計算機の保守処理を行う保守装置であって、
２以上の計算機で実行するジョブの実行開始予定時刻を示す開始時刻情報と、該ジョブを実行させる計算機群を包含する領域の各軸方向の長さを示す領域情報とを記憶する記憶部と、
前記保守処理の実行要求に応じ、前記開始時刻情報に基づいて、前記保守処理の実行開始時刻後に実行する予定の実行予定ジョブを検出し、前記実行予定ジョブの前記領域についての領域情報に基づいて、前記ネットワークの多次元の複数の軸それぞれについて、前記実行予定ジョブごとの前記領域の軸方向の長さを用いて、該軸方向の長さの代表値を算出し、各軸の該代表値に基づいて、前記ネットワーク内の保守領域を決定し、該保守領域内の計算機に対して前記保守処理を実行する演算部と、
を有する保守装置。
【請求項７】
多次元のメッシュまたはトーラス接続のネットワーク内に配置された複数の計算機の保守処理を行う保守方法であって、
コンピュータが、
前記保守処理の実行要求に応じ、２以上の計算機で実行するジョブの実行開始予定時刻を示す開始時刻情報に基づいて、前記保守処理の実行開始時刻後に実行する予定の実行予定ジョブを検出し、
前記実行予定ジョブを実行させる計算機群を包含する領域の各軸方向の長さを示す領域情報に基づいて、前記ネットワークの多次元の複数の軸それぞれについて、前記実行予定ジョブごとの前記領域の軸方向の長さを用いて、該軸方向の長さの代表値を算出し、
各軸の該代表値に基づいて、前記ネットワーク内の保守領域を決定し、
該保守領域内の計算機に対して前記保守処理を実行する、
保守方法。
【請求項８】
多次元のメッシュまたはトーラス接続のネットワーク内に配置された複数の計算機の保守処理を行うための保守プログラムであって、
コンピュータに、
前記保守処理の実行要求に応じ、２以上の計算機で実行するジョブの実行開始予定時刻を示す開始時刻情報に基づいて、前記保守処理の実行開始時刻後に実行する予定の実行予定ジョブを検出し、
前記実行予定ジョブを実行させる計算機群を包含する領域の各軸方向の長さを示す領域情報に基づいて、前記ネットワークの多次元の複数の軸それぞれについて、前記実行予定ジョブごとの前記領域の軸方向の長さを用いて、該軸方向の長さの代表値を算出し、
各軸の該代表値に基づいて、前記ネットワーク内の保守領域を決定し、
該保守領域内の計算機に対して前記保守処理を実行する、
処理を実行させる保守プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列計算機システム、保守装置、保守方法、および保守プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムを用いて科学技術計算などの大規模な計算を行う場合、複数の計算機を用いた並列計算が行われる。並列計算が可能なコンピュータシステムは、並列計算機システムと呼ばれる。
【０００３】
大規模な並列計算機システムは、並列計算を行う多数の計算機と、管理用計算機とが含まれる。管理用計算機は、計算機に実行させるジョブを管理する。例えば管理用計算機は、端末装置から投入されたジョブのスケジューリングを行い、実行開始予定時刻となったジョブを、１または複数の計算機に実行させる。
【０００４】
並列計算機システムの多数の計算機は、例えばメッシュまたはトーラス形のネットワークトポロジで接続されている。メッシュまたはトーラス接続のネットワークにおいて、複数の計算機に並列でジョブを実行させる場合、ネットワーク内に、空きノードのみを含むサブメッシュを定義する。３次元のネットワークの場合、サブメッシュは、ネットワーク内の立方体の領域となる。２次元のネットワークの場合、サブメッシュは、ネットワーク内の長方形の領域となる。ジョブをサブメッシュ内の計算機に実行させることで、異なるジョブの処理に関する計算機間の通信が互いに干渉するのを抑止できる。
【０００５】
並列ジョブを実行する複数の計算機を、１つのサブメッシュ内の計算機に限定すると、通信の干渉が確実に避けられる反面、どのジョブにも割り当てられていない一群の空き計算機が分散し、計算機群の断片化が生じる。計算機群の断片化とは、新規ジョブに割り当てるのに十分な数の空きの計算機を含むサブメッシュが設定できないため、新規のジョブに割り当てられない状況を言う。計算機群の断片化は、並列計算機システム全体としての稼働率を低下させる大きな要因となる。
【０００６】
なお、前述のジョブスケジューリングに関する技術としては、例えばジョブのマイグレーション処理を考慮したジョブスケジューリング技術がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−７３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
並列計算機システムに対して、ソフトウェアの更新などの保守処理が行われる場合がある。この場合、並列計算機システムを構成するすべての計算機を特定の期間停止して、システム保守処理を行うのが一般的である。しかし、すべて計算機を特定の期間停止させると、その期間内はジョブがまったく実行されず、その期間前後のシステム稼働率が大きく低下する。
【０００９】
なお、特定の期間中に空きの計算機から順次保守処理を実行することで、並列計算機システム全体の停止を避けることができる。この場合、保守適用済みの計算機群と保守未適用の計算機群が混在することによる、ジョブ割り当て可能な計算機群の断片化が促進される。すなわち、ジョブを実行中の計算機に加え、保守処理中の計算機についてもジョブに割り当てることができないため、割り当て可能な計算機群の断片化が促進される。しかも保守処理の内容がソフトウェアの更新のとき、保守済みの計算機と保守未適用の計算機に互換性が保証されない可能性がある。互換性が保証されない場合、１つの並列ジョブに対して割り当てられるべきサブメッシュに含まれる計算機は、すべてが保守適用済みか、あるいはすべてが保守未適用であることが要求される。この場合、ジョブを実行させる計算機群についての制約が厳しくなり、ジョブを実行できない可能性が高くなる。その結果、システムの稼働率がさらに低下する。
【００１０】
１つの側面では、本件は、並列計算機システムの保守処理に伴う稼働率の低下を抑止することを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、多次元のメッシュまたはトーラス接続のネットワーク内に配置された複数の計算機と、保守装置とを有する並列計算機システムが提供される。保守装置は、保守処理の実行要求に応じ、２以上の計算機で実行するジョブの実行開始予定時刻を示す開始時刻情報に基づいて、保守処理の実行開始時刻後に実行する予定の実行予定ジョブを検出する。次に保守装置は、実行予定ジョブを実行させる計算機群を包含する領域の各軸方向の長さを示す領域情報に基づいて、ネットワークの多次元の複数の軸それぞれについて、実行予定ジョブごとの領域の軸方向の長さの代表値を算出する。さらに保守装置は、各軸の該代表値に基づいて、ネットワーク内の保守領域を決定する。そして保守装置は、該保守領域内の計算機に対して保守処理を実行する。
【発明の効果】
【００１２】
１態様によれば、並列計算機システムの保守処理に伴う稼働率の低下が抑止される。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態に係る並列計算機システムの構成例を示す図である。
【図２】第２の実施の形態の並列計算機システムの構成例を示す図である。
【図３】管理用計算機のハードウェアの一構成例を示す図である。
【図４】管理用計算機の機能を示すブロック図である。
【図５】スケジュールＤＢのデータの一例を示す図である。
【図６】保守設定情報の一例を示す図である。
【図７】保守処理の手順の一例を示すフローチャートである。
【図８】保守領域の大きさと形状計算処理の手順の一例を示すフローチャートである。
【図９】保守処理の実行手順の一例を示すフローチャートである。
【図１０】保守領域候補の探索処理の一例を示すフローチャートである。
【図１１】保守領域選択処理の手順の一例を示すフローチャートである。
【図１２】各計算機の保守処理前の状態を示す図である。
【図１３】保守領域候補リストの第１の例を示す図である。
【図１４】１回目の保守処理実行後の各計算機の状態を示す図である。
【図１５】保守領域候補リストの第２の例を示す図である。
【図１６】２回目の保守処理実行後の各計算機の状態を示す図である。
【図１７】保守領域候補リストの第３の例を示す図である。
【図１８】３回目の保守処理実行後の各計算機の状態を示す図である。
【図１９】保守領域候補リストの第４の例を示す図である。
【図２０】４回目の保守処理実行後の各計算機の状態を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る並列計算機システムの構成例を示す図である。並列計算機システムでは、複数の軸を有する多次元のネットワーク１内にメッシュまたはトーラス接続で配置された複数の計算機２が設けられている。複数の計算機２内の２以上の計算機により、ジョブを並列処理で実行することができる。
【００１５】
並列計算機システムは、ネットワーク１内の複数の計算機２それぞれに対する保守処理を実行する保守装置１０を有している。保守装置１０は、例えば複数の計算機２それぞれに対して、プログラムのアップデートなどの保守処理を遠隔操作によって実行する。
【００１６】
例えば保守装置１０は、記憶部１１と演算部１２とを有する。記憶部１１は、スケジュール情報１１ａを記憶する。例えばスケジュール情報１１ａには、２以上の計算機で並列実行するジョブの実行開始予定時刻を示す開始時刻情報と、ジョブを実行する計算機群を包含する領域の各軸方向の長さを示す領域情報が含まれる。領域情報により、例えば領域に求められる大きさや形状が定義される。領域の大きさとは、例えばその領域の含まれる計算機数で表される。また領域の各軸方向の長さの合計を、その領域の大きさとしてもよい。ネットワークが２次元の場合、領域のｘ軸方向とｙ軸方向との長さは、例えば（ｘ，ｙ）の形式で表される。領域の各軸方向の長さが（３，２）の場合、ｘ軸方向に計算機３台分の長さを有し、ｙ軸方向に計算機２台分の長さを有する形状であることを示している。領域の大きさは、「ｘ軸方向の長さ×ｙ軸方向の長さ」である。領域の各軸方向の長さが（３，２）であれば、領域の大きさは「６」（計算機６台分）となる。
【００１７】
演算部１２は、保守処理の実行要求に応じ、スケジュール情報１１ａに基づいて、保守処理の実行開始時刻後に実行する予定の１以上の実行予定ジョブを検出する（ステップＳ１）。そして演算部１２は、実行予定ジョブそれぞれに割り当てる計算機群を包含する領域の各軸方向の長さを示す領域情報に基づいて、該領域の各軸方向の長さの代表値などの統計情報を算出する（ステップＳ２）。例えば演算部１２は、保守領域３の大きさ、各軸方向の長さの代表値、各軸方向の代表長さ比率、および保守領域３の各軸方向の長さを算出する。保守領域３の大きさは、保守領域３に含まれる計算機数である。ネットワークが２次元の場合、各値は例えば以下の式で計算される。
【００１８】
・保守領域の大きさ＝各ジョブの領域の大きさの平均値＋標準偏差
・ｘ軸（ｙ軸）方向の長さの代表値＝各ジョブの領域のｘ軸（ｙ軸）方向の長さの平均値
・ｘ軸（ｙ軸）方向の代表長さ比率＝ｘ軸（ｙ軸）方向の長さの代表値／各軸の代表値の合計
・保守領域のｘ軸（ｙ軸）方向の長さ＝保守領域の大きさ×ｘ軸（ｙ軸）方向の代表長さ比率
なお、各軸方向の長さの代表値は、平均値以外の統計的な値（例えば、中央値や平均値を定数倍（例えば１．５倍）した値）を用いてもよい。また、保守領域の大きさを求める際には、標準偏差を加える代わりに標準偏差の定数倍（例えば２倍）を加えてもよい。
【００１９】
演算部１２は、代表値に基づいて、ネットワーク１内の保守領域３を決定する（ステップＳ３）。例えば演算部１２は、保守処理を実行していない未適用計算機を包含し、各軸方向の長さが代表値を用いて算出された保守領域３の各軸方向の長さとなるネットワーク１内の領域を、保守領域３とする。そして演算部１２は、保守領域３内の計算機に対して保守処理を実行する（ステップＳ４）。演算部１２は、保守領域３の決定（ステップＳ３）と、その保守領域３内の計算機の保守処理（ステップＳ４）とを、未適用計算機が存在しなくなるまで繰り返し実行する。
【００２０】
なお演算部１２は、未適用計算機を包含し、各軸方向の長さが代表値を用いて算出された保守領域３の各軸方向の長さとなるネットワーク１内の領域が複数あるとき、そのうちの１つの領域を保守領域３とする。例えば演算部１２は、保守処理が実行済みである適用済み計算機に隣接する計算機を最も多く含む領域を、保守領域３として決定する。演算部１２は、決定時にジョブを実行している計算機と、決定時から保守処理の所用時間経過後までにジョブの実行を開始する予定がある計算機とを含まない領域を、保守領域３として決定するようにしてもよい。
【００２１】
また演算部１２は、スケジュール情報１１ａに示されているジョブの実行開始予定時刻になると、そのジョブに計算機を割り当て、割り当てた計算機へのジョブの実行指示を行う（ステップＳ５）。例えば演算部１２は、実行するジョブの領域情報に示される大きさと形状の領域であり、内包されるすべての計算機が、他のジョブを実行しておらず、保守処理も行われておらず、かつ保守状態が同じである領域を、ネットワーク１内から探索する。すべての計算機の保守状態が同じであるとは、すべての計算機が保守処理を実行していない（未適用計算機）か、あるいはすべての計算機が保守処理を実行済み（適用済み計算機）であるような状態である。演算部１２による実行指示に応じて、計算機によりジョブが、例えば並列で実行される。
【００２２】
このような並列計算機システムによれば、実行予定のジョブの領域情報に基づいて、各軸方向の代表値が計算される。代表値を用いて、例えば保守領域３の大きさおよび形状が定義される。保守領域３の大きさおよび形状は、実行予定のジョブの大多数を実行可能な計算機群を含むように定義される。例えば、実行予定のジョブの所定の割合以上を実行可能な計算機群を含むように、保守領域３の大きさおよび形状が定義される。
【００２３】
そして定義された大きさおよび形状を有する保守領域３が、ネットワーク１内に決定され、その保守領域３に含まれる計算機の保守処理が実行される。保守領域３は、実行予定のジョブに割り当てる計算機群を包含する領域の平均的な大きさよりも大きい。そのため、保守領域３内の保守処理後の計算機群を用いて、ある程度の大きさまでの並列ジョブを実行させることができる。すなわち、第１の実施の形態では、ネットワーク１内に保守処理を適用済みの計算機と、保守処理を未適用の計算機とが混在している状況であっても、同じ保守状態の計算機が断片化することが抑止されている。従って、保守済みの計算機群と保守未適用の計算機群が混在することによる断片化の影響を制御可能な一定範囲内に抑止しながら、システム全体への保守適用を段階的に行うことが可能となっている。
【００２４】
また、保守領域３とすることが可能な領域がネットワーク１内に複数あるときは、例えば保守処理が実行済みである適用済み計算機に隣接する計算機を多く含む領域が、保守領域３として決定される。これにより、適用済み計算機が分散することを抑止し、ジョブに計算機群を割り当てる際に、適用済み計算機の集合を割り当てやすくなる。
【００２５】
さらに、保守領域を決定する際には、例えば決定時から保守の所要時間経過後までにジョブの実行を開始する予定がある計算機を含まない領域が、保守領域３として決定される。これにより、保守処理の実行が原因でジョブの実行予定が変更されることを抑止できる。
【００２６】
なお、演算部１２は、例えば保守装置１０が有するプロセッサにより実現することができる。また、記憶部１１は、例えば保守装置１０が有するメモリにより実現することができる。
【００２７】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。
図２は、第２の実施の形態の並列計算機システムの構成例を示す図である。並列計算機システムでは、ジョブを実行するための複数の計算機３１，３２，３３，３４・・・が、ネットワーク２０を介して接続されている。またネットワーク２０には、管理用計算機１００と端末装置３０が接続されている。管理用計算機１００は、複数の計算機３１，３２，３３，３４・・・に対して実行させるジョブを管理するコンピュータである。また端末装置３０は、システムの管理者が使用するコンピュータである。計算機３１，３２，３３，３４・・・同士は、メッシュまたはトーラス接続のネットワークトポロジにより、ファイバチャネルのような広帯域の伝送路で接続されている。
【００２８】
図３は、管理用計算機のハードウェアの一構成例を示す図である。管理用計算機１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００２９】
メモリ１０２は、管理用計算機１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に利用する各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００３０】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００３１】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、管理用計算機１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置（ＳＳＤ：Solid State Drive）を使用することもできる。
【００３２】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３３】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３４】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３５】
機器接続インタフェース１０７は、管理用計算機１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００３６】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３７】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した装置も、図３に示した管理用計算機１００と同様のハードウェアにより実現することができる。
【００３８】
管理用計算機１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。管理用計算機１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、管理用計算機１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また管理用計算機１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３９】
図４は、管理用計算機の機能を示すブロック図である。管理用計算機１００は、ジョブ管理部１１０と計算機保守部１２０とを有する。
ジョブ管理部１１０は、計算機３１，３２，・・・に実行させるジョブを管理する。ジョブ管理部１１０は、スケジュールＤＢ１１１、ジョブ情報管理部１１２、ジョブスケジュール部１１３、およびジョブ実行制御部１１４を有する。
【００４０】
スケジュールＤＢ１１１は、ジョブの実行スケジュールを記憶するデータベースである。例えばメモリ１０２またはＨＤＤ１０３の記憶領域の一部が、スケジュールＤＢ１１１として使用される。
【００４１】
ジョブ情報管理部１１２は、実行するジョブが投入されると、投入されたジョブに関する情報を管理する。例えばジョブ情報管理部１１２は、実行するジョブに関する情報を端末装置３０から受信すると、そのジョブスケジュール部１１３にジョブの実行のスケジューリングを依頼する。ジョブ情報管理部１１２は、ジョブスケジュール部１１３からスケジューリング結果を受信すると、スケジューリング結果をスケジュールＤＢ１１１に格納する。またジョブ情報管理部１１２は、ジョブの実行開始予定時刻になると、ジョブに計算機を割り当て、そのジョブの実行開始予定時刻であることを、ジョブ実行制御部１１４に通知する。またジョブ情報管理部１１２は、ジョブの実行状態を管理しており、計算機保守部１２０に対して、各ジョブの実行状態を通知する。
【００４２】
ジョブ実行制御部１１４は、ジョブに対して計算機が割り当てられると、割り当てられた計算機にジョブの実行を指示する。例えばジョブ実行制御部１１４は、ジョブに複数の計算機が割り当てられた場合、その複数の計算機に対してジョブの並列実行を指示する。
【００４３】
計算機保守部１２０は、ジョブ管理部１１０と連携して動作し、計算機に対する保守処理を実行する。例えば計算機保守部１２０は、所定の大きさのサブメッシュないしサブトーラスの形状で保守用に予約された計算機群の保守領域を決定する。そして計算機保守部１２０は、保守領域に基づいて、計算機の保守処理を行う。例えば計算機保守部１２０は、計算機に搭載されているアプリケーションソフトウェアのバージョンアップ作業を、遠隔操作によって自動実行する。計算機保守部１２０は、計算機の保守処理を行うために、保守管理部１２１、保守領域計算部１２２、および保守実行部１２３を有する。
【００４４】
保守管理部１２１は、実施する保守処理の内容を管理する。例えば保守管理部１２１は、端末装置３０から保守内容を示す保守設定情報１２１ａを取得し、メモリ１０２に格納する。また保守管理部１２１は、ジョブ管理部１１０と通信し、実行中のジョブと、そのジョブに割り当てられている計算機とに関する情報を取得する。保守管理部１２１は、保守処理の実行開始時刻になると、ジョブ管理部１１０から取得した情報と、保守設定情報１２１ａとを保守領域計算部１２２に送信し、保守領域の計算を依頼する。
【００４５】
保守領域計算部１２２は、未処理のジョブの形状に応じて、保守領域の形状を計算する。ジョブの形状は、ジョブに割り当てる計算機群を含むサブメッシュの形状である。ジョブの形状は、ジョブの実行を要求するユーザによって予め指定されている。例えば保守領域計算部１２２は、実行待ちのジョブのうちの所定の割合以上のジョブが保守領域に入るよう、保守領域の大きさと形状を算出する。
【００４６】
保守実行部１２３は、算出した保守領域の大きさと形状に基づいて、ネットワーク内に保守領域を確保し、確保した保守領域に含まれる計算機に対して保守処理を行う。例えば保守実行部１２３は、ネットワーク内から保守領域候補となる領域を探索する。保守領域候補は、これから実行する予定のジョブの大きさと形状に応じた大きさと形状とを有する、保守処理が未適用の計算機を含む領域である。見つかった保守領域候補は、例えば保守領域候補リスト１２３ａに登録される。保守領域候補リスト１２３ａは、例えばメモリ１０２に格納される。保守実行部１２３は、保守領域候補リスト１２３ａに登録された保守領域候補の中から、適切な保守領域候補を選択し、保守領域とする。そして保守実行部１２３は、保守領域内の、保守処理が未適用の計算機に対して保守処理を実行する。
【００４７】
各計算機３１，３２，・・・は、ジョブ実行部３１ａ，３２ａ，・・・を有している。ジョブ実行部３１ａ，３２ａ，・・・は、管理用計算機１００からの指示に従ってジョブを実行する。
【００４８】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００４９】
次に、スケジュールＤＢ１１１に格納されるデータについて具体的に説明する。
図５は、スケジュールＤＢのデータの一例を示す図である。スケジュールＤＢ１１１には、計算機管理テーブル１１１ａとジョブ実行予定テーブル１１１ｂとが格納されている。
【００５０】
計算機管理テーブル１１１ａには、計算機名、座標、実行予定ジョブリスト、ジョブ状態、および保守状態の欄が設けられている。計算機名の欄には、計算機の名称が設定される。座標の欄には、メッシュまたはトーラス網における計算機の位置を示す座標が設定される。実行予定ジョブリストの欄には、計算機で実行する予定のジョブのリストが設定される。ジョブ状態の欄には、計算機がジョブを実行中なのか実行していない（未実行）のかが設定される。保守状態の欄には、計算機に対して保守処理を適用したか否かが設定される。
【００５１】
ジョブ実行予定テーブル１１１ｂには、ジョブ名、ジョブ形状、開始予定時刻、および所要時間の欄が設けられている。ジョブ名の欄には、実行予定のジョブのジョブ名が設定される。ジョブ形状の欄には、ジョブに割り当てる計算機群が占める領域（サブメッシュ）の形状が設定される。ジョブ形状は、例えばｘ軸、ｙ軸、ｚ軸方向の長さで指定される。開始予定時刻の欄には、ジョブの開始予定時刻が設定される。所要時間の欄には、ジョブの所要時間が設定される。
【００５２】
次に、保守設定情報１２１ａについて具体的に説明する。
図６は、保守設定情報の一例を示す図である。保守設定情報１２１ａには、全体保守開始時刻、保守プログラム、および保守処理所要時間が含まれる。全体保守開始時刻は、システム全体に対して保守処理を開始する時刻である。保守プログラムは、各計算機に対する保守処理の自動実行処理手順が記述されたプログラムである。保守処理所要時間は、計算機１台当たりの保守処理の所要時間である。
【００５３】
以上のような構成の管理用計算機１００を用いて、ネットワーク２０内の各計算機３１，３２，・・・に対して、所定の保守処理が行われる。以下、保守処理について詳細に説明する。
【００５４】
図７は、保守処理の手順の一例を示すフローチャートである。
［ステップＳ１０１］計算機保守部１２０の保守管理部１２１は、端末装置３０からの保守設定入力を受け付ける。保守管理部１２１は、入力内容を、保守設定情報１２１ａとしてメモリ１０２に格納する。
【００５５】
［ステップＳ１０２］保守管理部１２１は、保守設定情報１２１ａに示される全体保守開始時刻になったか否かを判断する。全体保守開始時刻になった場合、保守管理部１２１は、保守領域計算部１２２に保守設定情報１２１ａを送信すると共に、保守領域の計算を指示し、処理をステップＳ１０３に進める。全体保守開始時刻になっていなければ、ステップＳ１０２の処理が繰り返される。
【００５６】
［ステップＳ１０３］保守領域計算部１２２は、保守領域の大きさと形状を計算する。この処理の詳細は後述する（図８参照）。
［ステップＳ１０４］保守実行部１２３は、保守領域計算部１２２から、保守領域の大きさと形状との計算結果を取得し、１つの保守領域内の各計算機に対して保守処理を実行する。保守処理実行処理の詳細は後述する。
【００５７】
［ステップＳ１０５］保守実行部１２３は、すべての計算機に対する保守処理が完了したか否かを判断する。保守処理が完了した場合、処理が終了する。保守処理が完了していなければ、処理がステップＳ１０４に進められ、別の保守領域内の計算機を対象とした保守処理が実行される。
【００５８】
次に、保守領域の大きさと形状の計算手順について説明する。
図８は、保守領域の大きさと形状計算処理の手順の一例を示すフローチャートである。
［ステップＳ１１１］保守領域計算部１２２は、保守領域の大きさを算出する。例えば保守領域計算部１２２は、ジョブ実行予定テーブル１１１ｂに示されている実行予定のジョブのうち、全体保守開始時刻後に実行される予定のジョブ（実行予定ジョブ）の情報を用いて、以下の計算を行う。
【００５９】
＜保守領域の大きさ＞＝＜ジョブの大きさの平均値＞＋＜ジョブの大きさの標準偏差＞
ここで、ジョブの大きさは、ジョブに割り当てる計算機数であり、ジョブ形状の各軸方向の長さを乗算することで算出できる。例えば図５のジョブ実行予定テーブル１１１ｂに示す「ｊｏｂＡ」の大きさは、「２×２×２＝８」である。実行予定ジョブの大きさの算術平均を計算することで、「ジョブの大きさの平均値」が得られる。また各実行予定ジョブの大きさに基づいて、ジョブの大きさの標準偏差を算出できる。ジョブの大きさの標準偏差は、ジョブの大きさの分散の正の平方根であり、ジョブの大きさのばらつきの度合いを表している。ジョブの大きさの平均値に、ジョブの大きさの標準偏差を加算した値を保守領域の大きさとすることで、実行予定ジョブの大多数を実行可能な大きさの領域を、保守領域とすることができる。
【００６０】
［ステップＳ１１２］保守領域計算部１２２は、ジョブ形状の各軸の長さの平均値を算出する。例えば保守領域計算部１２２は、実行予定ジョブそれぞれの形状からｘ軸方向の長さを抽出し、抽出した長さの算術平均を、ｘ軸方向の平均値とする。同様に、ｙ軸方向、およびｚ軸方向の長さの平均値が求められる。
【００６１】
［ステップＳ１１３］保守領域計算部１２２は、保守領域の各軸の長さを算出する。保守領域の各軸の長さの算出に当たり、保守領域計算部１２２は、まずジョブの各軸方向の代表長さ比率を、以下の式で計算する。
【００６２】
＜ジョブのｘ軸方向の代表長さ比率＞
＝＜ジョブのｘ軸方向の長さの平均値＞／＜ジョブの各軸方向の長さの平均値の合計＞
＜ジョブのｙ軸方向の代表長さ比率＞
＝＜ジョブのｙ軸方向の長さの平均値＞／＜ジョブの各軸方向の長さの平均値の合計＞
＜ジョブのｚ軸方向の代表長さ比率＞
＝＜ジョブのｚ軸方向の長さの平均値＞／＜ジョブの各軸方向の長さの平均値の合計＞
このようにして、各軸方向の代表長さ比率が求められる。各軸方向の代表長さ比率を用いて、以下の式により、保守領域の各軸方向の長さが求められる。
【００６３】
＜保守領域のｘ軸方向の長さ＞
＝＜保守領域の大きさ＞×＜ジョブのｘ軸方向の代表長さ比率＞
＜保守領域のｙ軸方向の長さ＞
＝＜保守領域の大きさ＞×＜ジョブのｙ軸方向の代表長さ比率＞
＜保守領域のｚ軸方向の長さ＞
＝＜保守領域の大きさ＞×＜ジョブのｚ軸方向の代表長さ比率＞
なお各軸方向の長さの計算結果における小数点以下の値は、切り上げられる。保守領域計算部１２２は、算出した「保守領域の大きさと形状」を入力とし、保守実行部１２３に保守処理実行命令を出力する。
【００６４】
次に、保守処理の実行手順について詳細に説明する。
図９は、保守処理の実行手順の一例を示すフローチャートである。
［ステップＳ１２１］保守実行部１２３は、ジョブ情報管理部１１２に問い合わせ、計算機に関するデータを取得する。例えばジョブ情報管理部１１２は、保守実行部１２３からの問い合わせに応じ、計算機管理テーブル１１１ａに格納されている情報を、保守実行部１２３に送信する。
【００６５】
［ステップＳ１２２］保守実行部１２３は、保守領域候補を探索する。この処理の詳細は後述する（図１０参照）。
［ステップＳ１２３］保守実行部１２３は、少なくとも１つの保守領域候補が見つかったか否かを判断する。保守領域候補が見つかった場合、処理がステップＳ１２５に進められる。保守領域候補が見つからなかった場合、処理がステップＳ１２４に進められる。
【００６６】
［ステップＳ１２４］保守実行部１２３は、現在実行中のジョブの少なくとも１つが終了するのを待つ。例えばジョブ情報管理部１１２が、少なくとも１つのジョブの実行が終了した場合、ジョブの実行が終了したことを保守実行部１２３に通知する。保守実行部１２３は、ジョブ情報管理部１１２からの通知により、ジョブの実行が終了したことを認識する。ジョブが終了すると、処理がステップＳ１２１に進められる。
【００６７】
［ステップＳ１２５］保守実行部１２３は、保守領域候補がある場合、その保守領域候補から保守領域を選択する。保守領域選択処理の詳細については後述する（図１１参照）。
【００６８】
［ステップＳ１２６］保守実行部１２３は、選択した保守領域内の計算機のうち、保守処理を未適用の計算機に対して、保守処理の実行を指示する。この際、保守実行部１２３は、例えば保守を実行する計算機の保守状態を「適用中」に変更した後、保守処理を開始してもよい。保守状態を変更する場合、例えば保守実行部１２３からジョブ情報管理部１１２に対して、保守処理を実行する計算機の計算機名が通知される。するとジョブ情報管理部１１２が、計算機管理テーブル１１１ａにおける該当する計算機の保守状態を「適用中」に更新する。
【００６９】
保守処理は、保守プログラムを用いて行われる。例えば保守実行部１２３は、保守処理対象の計算機に対して保守プログラムを送信すると共に、保守プログラムの実行を指示する。実行指示を受け取った各計算機は、保守プログラムを実行する。これにより、計算機に対する保守処理が自動で実行される。保守処理が終了した計算機は、保守実行部１２３に対して、作業終了の応答を送信する。保守実行部１２３は、保守処理対象のすべての計算機から作業終了の応答を受信すると、処理をステップＳ１２７に進める。
【００７０】
［ステップＳ１２７］保守実行部１２３は、保守処理を実施した計算機の保守状態を、「適用済」に更新する。例えば保守実行部１２３は、ジョブ情報管理部１１２に対して、保守処理を実施した計算機の名称を通知する。するとジョブ情報管理部１１２が、計算機管理テーブル１１１ａにおける該当する計算機の保守状態を「適用済」に更新する。
【００７１】
このようにして、ネットワーク２０上に、所定の形状およびサイズの保守領域が設定され、保守領域内の計算機の保守処理がまとめて実行される。
次に、保守領域候補の探索処理について詳細に説明する。
【００７２】
図１０は、保守領域候補の探索処理の一例を示すフローチャートである。
［ステップＳ１２１］保守実行部１２３は、保守領域の大きさおよび形状を有し、保守処理が未適用の計算機を含む領域のうち、まだステップＳ１２２〜Ｓ１２４の処理を実施していない領域を、ネットワーク内から探索する。
【００７３】
［ステップＳ１２２］保守実行部１２３は、ステップＳ１２１において領域が検出されたか否かを判断する。領域が検出された場合、処理がステップＳ１２３に進められる。領域が検出されていなければ、保守領域候補の探索処理が終了する。
【００７４】
［ステップＳ１２３］保守実行部１２３は、検出した領域内の未適用の計算機について、保守時間が取れるか否かを判断する。例えば保守実行部１２３は、ジョブ情報管理部１１２を介して、検出した領域内の未適用の計算機それぞれの、実行予定ジョブリストを取得する。次に保守実行部１２３は、ジョブ情報管理部１１２を介して、取得した実行予定ジョブリストに含まれるジョブの開始予定時刻を取得する。さらに保守実行部１２３は、取得した開始予定時刻の最も早い時刻と、現在の時刻との差分の時間を計算する。すなわち、いずれかの計算機でジョブが実行されるまでの猶予時間が計算される。保守実行部１２３は、計算した時間が、保守処理所要時間よりも長い場合、保守時間が取れると判断する。保守時間がとれる場合、処理がステップＳ１２４に進められる。保守時間がとれない場合、処理がステップＳ１２１に進められる。
【００７５】
［ステップＳ１２４］保守実行部１２３は、検出した領域を保守領域候補として、保守領域候補リスト１２３ａに登録する。その後、処理がステップＳ１２１に進められる。
このようにして、ジョブ状態が未実行かつ、保守状態が「未適応」の計算機を含み、保守領域の大きさと形状を当てはめられる領域が探索され、見つけ出された領域が、保守領域候補して保守領域候補リストに登録される。このとき保守実行部１２３は、システムの端やジョブ領域、保守済領域に囲まれ、十分な大きさを取れない領域でも、その領域を保守領域候補に含めることができる。また保守実行中に次のジョブが実行される予定がある計算機を含む領域は、保守領域候補から除外される。
【００７６】
次に、保守領域選択処理について詳細に説明する。
図１１は、保守領域選択処理の手順の一例を示すフローチャートである。
［ステップＳ１４１］保守実行部１２３は、探索により見つかった保守領域候補の中から、未適用の計算機数が最も多い保守領域候補を抽出する。
【００７７】
［ステップＳ１４２］保守実行部１２３は、ステップＳ１４１において複数の保守領域候補が抽出されたか否かを判断する。複数の保守領域候補が抽出された場合、処理がステップＳ１４４に進められる。抽出された保守領域候補が１つだけであれば、処理がステップＳ１４３に進められる。
【００７８】
［ステップＳ１４３］保守実行部１２３は、ステップＳ１４１で抽出した保守領域候補を保守領域として選択し、保守領域選択処理を終了する。
［ステップＳ１４４］保守実行部１２３は、ステップＳ１４１で抽出した複数の保守領域候補のなかで、適用済みの計算機に隣接する計算機数が最も多い保守領域候補を抽出する。
【００７９】
［ステップＳ１４５］保守実行部１２３は、ステップＳ１４４において複数の保守領域候補が抽出されたか否かを判断する。複数の保守領域候補が抽出された場合、処理がステップＳ１４７に進められる。抽出された保守領域候補が１つだけであれば、処理がステップＳ１４６に進められる。
【００８０】
［ステップＳ１４６］保守実行部１２３は、ステップＳ１４４で抽出した保守領域候補を保守領域として選択し、保守領域選択処理を終了する。
［ステップＳ１４７］保守実行部１２３は、ステップＳ１４４で抽出した複数の保守領域候補のなかで、メッシュ接続のネットワーク２０の端にある計算機数が最も多い保守領域候補を抽出する。
【００８１】
［ステップＳ１４８］保守実行部１２３は、ステップＳ１４７で抽出した保守領域候補のうちの１つを、保守領域として選択する。
このようにして、複数の保守領域候補から、適切な１つの保守領域候補が、保守領域として選択される。例えば保守領域候補が複数あった場合は、保守候補領域に隣接する、保守済みの計算機数が最大の保守候補領域が、保守領域として選択される。保守済みの多数の計算機に隣接している領域内の計算機に対して優先的に保守処理を実施することで、保守済みの計算機が集まった領域を、早期に拡大することができる。その結果、保守領域の大きさよりも大きな形状を有するジョブについても実行可能となる。
【００８２】
なお、全体保守開始時刻後は、ネットワーク内に、保守適用済みの領域と、保守未適用の領域ができ、それらに跨ったジョブは実行できなくなる。そのため、ジョブスケジュール部１１３は、計算機管理テーブル１１１ａ内の各計算機の保守状態に基づき、実行予定のジョブごとに、そのジョブのジョブ形状に応じた、適用済の計算機のみの領域、または未適用の計算機のみの領域を探索する。いずれかの領域が見つかれば、その領域内の計算機がジョブに割り当てられる。ジョブスケジュール部１１３は、どちらにも割り当てられないようなジョブは一旦待ち状態とし、保守処理を優先させ、適用済領域が広がって実行できるような状況になるのを待つ。
【００８３】
以下、図１２〜図２０を参照し、保守処理の実施例を具体的に説明する。
図１２は、各計算機の保守処理前の状態を示す図である。図１２には、６×４の２次元配列のメッシュ接続のネットワークトポロジをもつ並列計算機システムの例を示している。図中、横方向にｘ軸、縦方向にｙ軸を採っている。実線の矩形は、計算機を表している。各計算機の位置は、ｘ−ｙの座標値で表される。図１２中の左下の計算機の位置は（０，０）であり、右上の計算機の位置は（５，３）である。
【００８４】
ジョブを実行中の計算機を表す矩形内には、ジョブ名が示されている。図１２の例は、領域４１内の計算機により「ジョブＡ」が実行されている。また領域４２内の計算機により「ジョブＢ」が実行されている。また、すべての計算機が、保守処理を未適用である。
【００８５】
このような状況において、３×２の保守領域を選択する場合を考える。この場合、複数の保守領域候補５１〜５６が存在する。保守領域候補５１〜５６の範囲は、例えば、保守領域候補の左下の座標値と右上の座標値とで表される。保守領域候補５１であれば、範囲が（０，２）から（３，４）と表される。計算機の位置を（ｘa、ｙa）としたとき、０≦ｘa＜３であり、かつが２≦ｙa＜４を満たす場合に、その計算機が保守領域候補５１内にあると判断できる。
【００８６】
存在する保守領域候補５１〜５６は、保守領域候補リスト１２３ａに登録される。
図１３は、保守領域候補リストの第１の例を示す図である。保守領域候補リスト１２３ａには、番号、領域、適用済み計算機に隣接する計算機数、システムの端の計算機数、および未適用計算機数の欄が設けられている。番号の欄には、登録された保守領域候補の識別番号が設定される。領域の欄には、保守領域候補の範囲が設定される。適用済み計算機に隣接する計算機数の欄には、保守領域候補の範囲内の計算機のうち、既に保守処理を適用済みの計算機と隣接している計算機の数が設定される。システムの端の計算機数の欄には、保守領域候補の範囲内の計算機のうち、メッシュ接続のネットワークの端にある計算機の数が設定される。未適用計算機数の欄には、保守領域候補の範囲内の計算機のうち、保守処理が未適用の計算機の数が設定される。
【００８７】
図１３の例では、すべての保守領域候補について、適用済み計算機に隣接する計算機数は「０」である。そこで、未適用の計算機数が最大の「６」である２つの保守領域候補のうち、システムの端の計算機数が大きい方の保守領域候補（番号「１」）が、保守領域として選択される。そして、保守領域内の各計算機に対して、保守処理の実行が開始される。
【００８８】
その後、３×２の「ジョブＣ」が投入され、保守完了前に「ジョブＡ」が終了したものとする。すると、左下（０，０）から右上（３，２）で表される長方形の領域内の計算機で「ジョブＣ」を実行するようにスケジュールされる。
【００８９】
さらにその後、保守処理が完了すると、保守処理を実施した計算機の保守状態が「適用済」に更新される。そして、次の保守領域の選択処理が行われる。
図１４は、１回目の保守処理実行後の各計算機の状態を示す図である。図１４の例では、「ジョブＡ」が終了し、領域４３内の計算機により「ジョブＣ」が実行されている。また前回の保守領域選択処理で選択された保守領域内の保守状態は、「適用済」に変更されている。
【００９０】
このような状態において保守領域候補の探索が行われると、例えば保守領域候補６１〜６３が見つけ出される。そして、各保守領域候補６１〜６３が登録された保守領域候補リストが生成される。
【００９１】
図１５は、保守領域候補リストの第２の例を示す図である。保守領域候補リスト１２３ａには、図１４に示した各保守領域候補６１〜６３が登録されている。図１５の例では、未適用の計算機数が最大の「６」である２つの保守領域候補のうち、隣接する適用済み計算機数が大きい方の保守領域候補（番号「１」）が、保守領域として選択される。そして、保守領域内の各計算機に対して、保守処理の実行が開始される。
【００９２】
その後、保守処理が完了すると、保守処理を実施した計算機の保守状態が「適用済」に更新される。そして、次の保守領域の選択処理が行われる。この時点で「ジョブＢ」の実行が終了しているものとする。
【００９３】
図１６は、２回目の保守処理実行後の各計算機の状態を示す図である。図１６の例では、「ジョブＢ」が終了している。また前回の保守処理が完了したことにより、例えば左下（０，２）から右上（６，３）の範囲の６×１の形状のジョブを実行できるようになっている。
【００９４】
このような状態において保守領域候補の探索が行われると、例えば保守領域候補７１，７２が見つけ出される。そして、各保守領域候補７１，７２が登録された保守領域候補リストが生成される。
【００９５】
図１７は、保守領域候補リストの第３の例を示す図である。保守領域候補リスト１２３ａには、図１６に示した各保守領域候補７１，７２が登録されている。図１７の例では、未適用の計算機数が最大の「３」である２つの保守領域候補のうち、隣接する適用済み計算機数が大きい方の保守領域候補（番号「２」）が、保守領域として選択される。そして、保守領域内の、保守処理が未適用の各計算機に対して、保守処理の実行が開始される。
【００９６】
その後、４×２の「ジョブＤ」が投入され、保守完了前に「ジョブＣ」が終了したものとする。すると、左下（０，２）から右上（４，４）で表される長方形の領域内の計算機で「ジョブＤ」を実行するようにスケジュールされる。
【００９７】
さらにその後、保守処理が完了すると、保守処理を実施した計算機の保守状態が「適用済」に更新される。そして、次の保守領域の選択処理が行われる。
図１８は、３回目の保守処理実行後の各計算機の状態を示す図である。図１８の例では、「ジョブＣ」が終了し、領域４４内の計算機により「ジョブＤ」が実行されている。このような状態において保守領域候補の探索が行われると、例えば保守領域候補８１〜８４が見つけ出される。そして、各保守領域候補８１〜８４が登録された保守領域候補リストが生成される。
【００９８】
図１９は、保守領域候補リストの第４の例を示す図である。保守領域候補リスト１２３ａには、図１８に示した各保守領域候補８１〜８４が登録されている。図１９の例では、未適用の計算機数が最大の「６」である保守領域候補が１つだけのため、その保守領域候補（番号「１」）が、保守領域として選択される。そして、保守領域内の各計算機に対して、保守処理の実行が開始される。
【００９９】
その後、保守処理が完了すると、保守処理を実施した計算機の保守状態が「適用済」に更新される。そして、次の保守領域の選択処理が行われる。
図２０は、４回目の保守処理実行後の各計算機の状態を示す図である。図２０に示す状態において保守領域候補の探索が行われると、保守領域候補９１が見つけ出される。そして、保守領域候補９１が保守領域として選択され、保守領域内の各計算機に対して、保守処理の実行が開始される。その結果、すべての計算機に対する保守処理が完了する。
【０１００】
このような保守処理を実施することで、保守済みの計算機群と保守未適用の計算機群が混在する事による断片化の影響を、制御可能な一定範囲内に抑えつつ、システム全体への保守適用を段階的に行うことが可能になる。
【０１０１】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１０２】
１  ネットワーク
２  計算機
３  保守領域
１０  保守装置
１１  記憶部
１１ａ  スケジュール情報
１２  演算部
【図１】
0006515686.tif 000002
【図２】
0006515686.tif 000003
【図３】
0006515686.tif 000004
【図４】
0006515686.tif 000005
【図５】
0006515686.tif 000006
【図６】
0006515686.tif 000007
【図７】
0006515686.tif 000008
【図８】
0006515686.tif 000009
【図９】
0006515686.tif 000010
【図１０】
0006515686.tif 000011
【図１１】
0006515686.tif 000012
【図１２】
0006515686.tif 000013
【図１３】
0006515686.tif 000014
【図１４】
0006515686.tif 000015
【図１５】
0006515686.tif 000016
【図１６】
0006515686.tif 000017
【図１７】
0006515686.tif 000018
【図１８】
0006515686.tif 000019
【図１９】
0006515686.tif 000020
【図２０】
0006515686.tif 000021