(57)【要約】【課題】選択された運用モードに固有のサービスの管理をオペレータに代わって実行する。【解決手段】運用モード設定手段２０１によって選択的に設定された運用モードがオートモードの場合、サービス自動開始制御手段２０５は、サービス関係記憶手段２１１に記憶されているサービス関係情報の示すサービス間の関係を、サービス関係解釈手段２０４に解釈させる。サービス開始手段１２０は、サービス関係解釈手段２０４によって解釈されたサービス間の関係に従ってサービスを実行する。【選択図】    図４
2005025383.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のサーバ計算機を備え、複数のサービスを実行可能なクラスタシステムにおいて、
前記クラスタシステム上で実行し得るサービスに関し、相異なるサービス相互間の運用に関する関係を定義したサービス関係情報を記憶するサービス関係記憶手段と、
前記クラスタシステムの運用モードとして、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って複数のサービスを自動で運用するためのオートモードを含む複数の運用モードのうちの１つを選択的に設定するための運用モード設定手段と、
前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係を解釈するサービス関係解釈手段と、
前記クラスタシステムが前記オートモードの場合、前記サービス関係解釈手段により解釈されたサービス間の関係に従ってサービスを自動的に運用するのに必要な制御を行うサービス自動制御手段と、
サービスを実行するサービス実行手段であって、前記クラスタシステムが前記オートモードの場合、前記サービス自動制御手段の制御のもとで、前記サービス関係解釈手段により解釈されたサービス間の関係に従ってサービスを実行するサービス実行手段と
を具備することを特徴とするクラスタシステム。
【請求項２】
前記サーバ計算機のいずれか、または前記ネットワークに接続されたクライアント計算機からオペレータの操作に従って与えられるサービスの開始要求を受け付けるサービス開始要求受け付け手段を更に具備し、
前記運用モード設定手段により設定可能な運用モードは、オペレータの指定したサービスを前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って運用するためのマニュアルモードを含み、
前記サービス実行手段は、前記サービス開始要求受け付け手段によってサービスの開始要求が受け付けられ、且つ前記クラスタシステムが前記マニュアルモードの場合、当該要求で指定されたサービスを、前記サービス関係解釈手段により解釈されたサービス間の関係に従って実行する
ことを特徴とする請求項１記載のクラスタシステム。
【請求項３】
前記サービス実行手段は、前記クラスタシステムが前記オートモードの場合にも、前記サービス開始要求受け付け手段によって受け付けられたサービス開始要求で指定されたサービスを、前記サービス関係解釈手段により解釈されたサービス間の関係に従って実行する
ことを特徴とする請求項２記載のクラスタシステム。
【請求項４】
前記サービス開始要求受け付け手段は、当該受け付け手段に与えられるサービスの開始要求が前記クラスタシステムの運用モードに適合するか否かを判別するサービス開始要求判別手段を含み、適合しない場合には当該サービス開始要求の受け付けを拒絶することを特徴とする請求項２に記載のクラスタシステム。
【請求項５】
前記サービス開始要求判別手段は、前記サービス開始要求受け付け手段に与えられるサービスの開始要求が前記クラスタシステムの運用モードに適合しない条件として、前記クラスタシステムの運用モードが前記オートモードの場合には、当該サービス開始要求により、サービスを開始するサーバ計算機が指定されていることを、前記クラスタシステムの運用モードが前記マニュアルモードの場合には、当該サービス開始要求により、サービスを開始するサーバ計算機が指定されていないことを、それぞれ適用することを特徴とする請求項４記載のクラスタシステム。
【請求項６】
前記サーバ計算機のいずれか、または前記ネットワークに接続されたクライアント計算機からオペレータの操作に従って与えられるサービスの開始要求を受け付けるサービス開始要求受け付け手段を更に具備し、
前記運用モード設定手段により設定可能な運用モードは、オペレータの指定したサービスを前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に無関係に運用するためのメンテナンスモードを含み、
前記サービス実行手段は、前記サービス開始要求受け付け手段によってサービスの開始要求が受け付けられ、且つ前記クラスタシステムが前記メンテナンスモードの場合、当該要求で指定されたサービスを、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に無関係に実行する
ことを特徴とする請求項１記載のクラスタシステム。
【請求項７】
前記サービス実行手段は、前記クラスタシステムが前記オートモードの場合には、前記サービス開始要求受け付け手段によって受け付けられたサービス開始要求で指定されたサービスを、前記サービス関係解釈手段により解釈されたサービス間の関係に従って実行する
ことを特徴とする請求項６記載のクラスタシステム。
【請求項８】
前記サービス開始要求受け付け手段は、当該受け付け手段に与えられるサービスの開始要求が前記クラスタシステムの運用モードに適合するか否かを判別するサービス開始要求判別手段を含み、適合しない場合には当該サービス開始要求の受け付けを拒絶することを特徴とする請求項６に記載のクラスタシステム。
【請求項９】
前記サービス開始要求判別手段は、前記サービス開始要求受け付け手段に与えられるサービスの開始要求が前記クラスタシステムの運用モードに適合しない条件として、前記クラスタシステムの運用モードが前記オートモードの場合には、当該サービス開始要求により、サービスを開始するサーバ計算機が指定されていることを、前記クラスタシステムの運用モードが前記メンテナンスモードの場合には、当該サービス開始要求により、サービスを開始するサーバ計算機が指定されていないことを、それぞれ適用することを特徴とする請求項８記載のクラスタシステム。
【請求項１０】
前記サーバ計算機のいずれか、または前記ネットワークに接続されたクライアント計算機からオペレータの操作に従って運用モードの変更要求が与えられた場合、現在運用されているサービスの状態が要求された運用モードに適合するか否かを、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に基づいて判別する状態判別手段と、
現在のサービスの状態が、要求された運用モードに適合すると前記状態判別手段によって判別された場合だけ、前記運用モード設定手段によって設定されている運用モードを、要求された運用モードに変更する運用モード変更手段と
を具備することを特徴とする請求項１、請求項２または請求項６に記載のクラスタシステム。
【請求項１１】
ネットワークに接続された複数のサーバ計算機を備え、複数のサービスを実行可能なクラスタシステムにおいて、前記サーバ計算機でそれぞれ実行されるクラスタソフトウェアプログラムであって、
前記サーバ計算機に、
前記クラスタシステム上で実行し得るサービスに関し、相異なるサービス相互間の運用に関する関係を定義したサービス関係情報をサービス関係記憶手段に記憶するステップと、
前記クラスタシステムの運用モードとして、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って複数のサービスを自動で運用するためのオートモードを含む複数の運用モードのうちの１つを選択的に設定するステップと、
前記クラスタシステムの起動時に前記クラスタシステムの運用モードを判別するステップと、
前記判別ステップで前記運用モードが前記オートモードであると判別された場合、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従ってサービスを自動的に運用するステップと
を実行させるためのクラスタソフトウェアプログラム。
【請求項１２】
前記サーバ計算機に、前記クラスタシステム上で実行可能なサービスの少なくとも１つを前記オートモードで自動的に開始可能な状態に予め設定するステップを更に実行させ、
前記サービスを自動的に運用するステップでは、自動的に開始可能な状態に予め設定されているサービスの実行を優先し、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係によって当該サービスの開始条件が存在する場合には、当該開始条件を満たすように他のサービスの運用を制御した後に、前記自動的に開始可能な状態に設定されているサービスを開始させることを特徴とする請求項１１記載のクラスタソフトウェアプログラム。
【請求項１３】
前記設定ステップでは、前記クラスタシステムの運用モードとして、オペレータの指定したサービスを前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って運用するためのマニュアルモードが設定可能であり、
前記サーバ計算機に、
前記サーバ計算機のいずれか、または前記ネットワークに接続されたクライアント計算機からオペレータの操作に従って与えられるサービスの開始要求を受け付けるステップと、
前記運用モードが前記マニュアルモードの状態で前記サービスの開始要求が受け付けられた場合、要求されたサービスを、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って運用するステップと
を更に実行させるための請求項１１記載のクラスタソフトウェアプログラム。
【請求項１４】
前記設定ステップでは、前記クラスタシステムの運用モードとして、オペレータの指定したサービスを前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に無関係に運用するためのメンテナンスモードが設定可能であり、
前記サーバ計算機に、
前記サーバ計算機のいずれか、または前記ネットワークに接続されたクライアント計算機からオペレータの操作に従って与えられるサービスの開始要求を受け付けるステップと、
前記運用モードが前記メンテナンスモードの状態で前記サービスの開始要求が受け付けられた場合、要求されたサービスを、前記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に無関係に運用するステップと
を更に実行させるための請求項１１記載のクラスタソフトウェアプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続された複数のサーバ計算機を備え、複数のサービスを実行可能なクラスタシステムに係り、特にサービスの運用を管理するのに好適なクラスタシステム及びクラスタソフトウェアプログラムに関する。
【０００２】
【従来の技術】
計算機システムの目的として、その計算機システム上でアプリケーションプログラムを実行し、ユーザ（クライアント）にサービスを提供することが従来から知られている。近年、サービスの重要性が増すにつれて、サービスが実行される計算機システムに高い可用性が求められるようになっている。
【０００３】
計算機システムの可用性を高めるシステムとして、クラスタシステムが注目を集めている（例えば、非特許文献１参照）。クラスタシステムは、ネットワーク接続された複数台の計算機で構成され、それらの計算機を統一的に管理・制御するためのクラスタ制御機構を備えている。クラスタ制御機構は、予め定義されたクラスタシステムの設定に従って、サービスの開始処理及び停止処理、並びにサービスの状態監視を制御する。クラスタ制御機構は、現在サービスを運用している計算機に障害が発生したときに、クラスタシステム内の他の正常な計算機の中からそのサービスを引き継ぐ計算機を決定して、そのサービスを継続させることにより、サービスが使用不能になる時間を最小限にしている。
【０００４】
また、クラスタシステムにおける複数のサービスの起動を自動制御するために、当該複数のサービスの起動手順を示すサービス起動手順情報を利用することが知られている（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特開２００２−１４９３８号公報（段落００４３，００５６，００５７、図１）
【０００６】
【非特許文献１】
金子哲夫、森良哉、「クラスタソフトウェア」、東芝レビュー、Ｖｏｌ．５４  Ｎｏ．１２（１９９９）、ｐ．１８−２１
【０００７】
【発明が解決しようとする課題】
上記したように、サービス起動手順情報を備えたクラスタシステムでは、当該サービス起動手順情報に従って複数のサービスの起動を自動で行うことができる。ここで、クラスタシステム上で複数のサービスを運用する場合、常にサービス間の関係を考慮して各サービスを管理する必要がある。サービス間の関係とは、例えばサービスＡとサービスＢとは同一計算機上で同時に運用できないとか、サービスＢはサービスＡが運用されているときのみ起動可能であるとった、サービス相互の関係である。このサービス間の関係の情報はクラスタシステムに保存される。
【０００８】
しかし従来は、サービス間の関係の管理は、クラスタシステムではなくてオペレータ（システム管理者）に委ねられている。つまり管理の負担は全てオペレータにかかる。また、従来のクラスタシステムでは、オペレータの誤操作がダイレクトにクラスタシステムの動作に反映する。このため従来のクラスタシステムでは、サービス間の関係を無視した運用がなされると、当該クラスタシステムの整合性を損なったり、共有ディスク内のファイルを破壊する虞がある。
【０００９】
本発明は上記事情を考慮してなされたものでその目的は、複数の運用モードの中からオペレータによって選択された運用モードに固有のサービスの管理をオペレータに代わって実行することができ、これによりオペレータの誤操作によるシステムの整合性の損失のリスクを軽減すると共に、運用効率の向上が図れるクラスタシステム及びクラスタソフトウェアプログラムを提供することにある。
【００１０】
【課題を解決するための手段】
本発明の１つの観点によれば、ネットワークに接続された複数のサーバ計算機を備え、複数のサービスを実行可能なクラスタシステムが提供される。このクラスタシステムは、当該クラスタシステム上で実行し得るサービスに関し、相異なるサービス相互間の運用に関する関係を定義したサービス関係情報を記憶するサービス関係記憶手段と、上記クラスタシステムの運用モードとして、上記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って複数のサービスを自動で運用するためのオートモードを含む複数の運用モードのうちの１つを選択的に設定するための運用モード設定手段と、上記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係を解釈するサービス関係解釈手段と、上記クラスタシステムがオートモードの場合、上記サービス関係解釈手段により解釈されたサービス間の関係に従ってサービスを自動的に運用するのに必要な制御を行うサービス自動制御手段と、サービスを実行するサービス実行手段であって、上記クラスタシステムがオートモードの場合、上記サービス自動制御手段の制御のもとで、上記サービス関係解釈手段により解釈されたサービス間の関係に従ってサービスを実行するサービス実行手段とを備えている。
【００１１】
このような構成においては、クラスタシステムの運用モードとしてオートモードを設定することにより、サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って、クラスタシステムによって自動的にサービスが運用される。このため、オペレータに対するサービス管理の負担と、オペレータの誤操作によるクラスタシステムの整合性の損失等のリスクを軽減することができる。ここで、クラスタシステム上で実行可能なサービスの少なくとも１つを上記オートモードで自動的に開始可能な状態に予め設定する手段を設けて、自動的に開始可能な状態に予め設定されているサービスの実行が優先されるようにし、サービス関係解釈手段によって解釈されるサービス間の関係によって当該サービスの開始条件が存在する場合には、当該開始条件を満たすように他のサービスが運用された後に、当該優先すべきサービスを開始させる構成とするとよい。
【００１２】
また、上記サーバ計算機のいずれか、または上記ネットワークに接続されたクライアント計算機からオペレータの操作に従って与えられるサービスの開始要求を受け付けるサービス開始要求受け付け手段を追加すると共に、上記運用モード設定手段により設定可能な運用モードに、オペレータの指定したサービスを上記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って運用するためのマニュアルモードを加え、上記サービス開始要求受け付け手段によってサービスの開始要求が受け付けられ、且つその際のクラスタシステムの運用モードがマニュアルモードの場合には、当該要求で指定されたサービスが、上記サービス関係解釈手段により解釈されたサービス間の関係に従って実行される構成とするとよい。
【００１３】
このような構成においては、クラスタシステムの運用モードとしてマニュアルモードを設定することにより、オペレータの指定したサービスが、サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に従って運用される。これにより、オペレータの誤操作によるクラスタシステムの整合性の損失等のリスクを軽減することができる。
【００１４】
また、上記運用モード設定手段により設定可能な運用モードに、オペレータの指定したサービスを上記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に拘わらずに運用するためのメンテナンスモードを加え、サービス開始要求受け付け手段によってサービスの開始要求が受け付けられ、且つその際のクラスタシステムの運用モードがメンテナンスモードの場合には、当該要求で指定されたサービスを、上記サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係に無関係に実行される構成とするとよい。
【００１５】
このような構成においては、クラスタシステムの運用モードとしてメンテナンスモードを設定することにより、オペレータの指定したサービスが、サービス関係記憶手段に記憶されているサービス関係情報の示すサービス間の関係の制約を受けずに運用される。これによりオペレータは、サービスの動作確認を自身の責任において自由に行うことができる。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
【００１７】
図１は本発明の一実施形態に係るクラスタシステムの構成を示すブロック図である。同図において、クラスタシステム１は、ネットワーク３により相互接続された複数の計算機、例えば２台のサーバコンピュータ２−１（＃１），２−２（＃２）を備えて構成される。クラスタシステム１は、クラスタ制御機構１０を有する。クラスタ制御機構１０は、サーバコンピュータ２−１（＃１），２−２（＃２）上にまたがって存在する。つまりクラスタシステム１は、サーバコンピュータ２−１，２−２を用いて実現されるクラスタ制御機構１０を有する。
【００１８】
クラスタシステム制御機構１０は、コンピュータ２−１，２−２上にまたがって存在する、サービス制御機構１１とサービス実行機構１２とを有する。サービス制御機構１１は、コンピュータ２−１，２−２上で動作するサービス制御部１１−１，１１−２によって実現される。
【００１９】
サービス制御部１１−１，１１−２は、ネットワーク３を介して相互に通信を行うことにより、障害が発生したコンピュータを検出する機能を有する。ここでは、各サービス制御部１１−１，１１−２がハードビート信号と呼ばれる信号を相互に且つ定期的に送信し、そのハートビート信号が予め定められた一定時間（タイムアウト時間）を超えて途絶えたことをもって、対応するサービス制御部が存在するコンピュータでの障害発生が判断される。
【００２０】
サービス制御機構１１は、サービス制御部１１−１，１１−２によって実現される仮想的な制御機構である。サービス制御機構１１は、検出された障害コンピュータで実行されていたサービスを他のサーバコンピュータに引き継がせるための制御を行う機能を有する。サービス制御機構１１はまた、複数の運用モードの中からオペレータによって選択された運用モードに固有のサービスの管理を当該オペレータに代わって実行する機能を有する。
【００２１】
サービス実行機構１２は、サーバコンピュータ２−１，２−２上でサービスを実行する。サービス実行機構１２は、サービス制御機構１１内の後述するサービス関係解釈手段２０４または操作制限手段２０７（を介してクライアントコンピュータ４）から要求されたサービスの実行を、サーバコンピュータ２−１または２−２上で開始するサービス開始手段１２０を有する。サービス実行機構１２はまた、サーバコンピュータ２−１，２−２上でサービスの停止を行うサービス停止手段（図示せず）も有する。サービス実行機構１２は、コンピュータ２−１，２−２上でそれぞれ動作するサービス実行部（図示せず）によって実現される仮想的な実行機構である。図１では、クラスタシステム１のサーバコンピュータ２−１上でサービス＃１が、クラスタシステム１のサーバコンピュータ２−２上でサービス＃２，＃３が運用されている状態が示されている。サービス＃１，＃２，＃３は例えばオブジェクトであり、後述する自動開始フラグＦ１，Ｆ２，Ｆ３を含む。本実施形態において、クラスタ制御機構１０は、各コンピュータ２−１，２−２内のＣＰＵが、例えば磁気ディスク装置から主メモリにロードされたクラスタソフトウェアプログラムを読み取って実行することにより実現されるものとする。
【００２２】
クラスタシステム１には、ネットワーク３を介してクライアントコンピュータ４が接続されている。図１では、作図の都合上、１台のクライアントコンピュータ４が示されているが、クラスタシステム１には複数のクライアントコンピュータ４が接続可能である。クライアントコンピュータ４は、クライアントソフトウェア（クライアントソフトウェアプログラム）４１に従ってクラスタシステム１を利用する。クライアントコンピュータ４は、キーボードに代表される入力手段４２とディスプレイに代表される出力手段４３とを備えている。
【００２３】
図２は、図１中のサービス制御機構１１の構成を示すブロック図である。同図に示すように、サービス制御機構１１は、クラスタシステム１の運用モードを設定する運用モード設定手段２０１と、クラスタシステム１の運用モードを判別する運用モード判別手段２０２とを有する。本実施形態では、クラスタシステム１の運用モードとして、第１の運用モードＭ１と、第２の運用モードＭ２と、第３の運用モードＭ３とが設定可能である。運用モードＭ１は、後述するサービス間の関係に従って全てのサービス（オブジェクト）を自動的に開始／停止することが可能なモード、つまりオートモードである。運用モードＭ２は、最低限のセキュリティを確保した状態で、オペレータ（ユーザ）が手動でサービスを開始／停止する操作を行うことが可能なモード、つまりマニュアルモードである。運用モードＭ３は、サービス間の関係に影響されずに、オペレータの責任で任意に手動でサービスを開始／停止する操作を行うことが可能なモード、つまりメンテナンスモードである。
【００２４】
オートモードでのサービス開始とは、マニュアルモード及びメンテナンスモードと異なり、サービス開始可能状態にすることである。したがって、オートモードでは、マニュアルモード及びメンテナンスモードと異なり、サービスを開始するサーバコンピュータを指定することはできない（指定しても意味を持たない）。オートモードでは、クラスタシステム１の起動によるサービス開始後は、予め設定された優先順位に従って、開始が要求された（開始可能状態にされた）サービスを起動するサーバコンピュータが選択（決定）され、当該サービスが起動される。
【００２５】
サービス制御機構１１はまた、クラスタシステム１上で動作するサービスの相互の関係、及びサービスの自動開始状態を設定するサービス関係設定手段２０３と、クラスタシステム１上で動作するサービスの相互の関係、及びサービスの自動開始状態を解釈するサービス関係解釈手段２０４と、サービス自動開始制御手段２０５とを有する。サービス自動開始制御手段２０５は、クラスタシステム１の起動後に当該クラスタシステム１上で運用可能なサービス（ここでは、サービス＃１，＃２，＃３）に含まれている自動開始フラグ（Ｆ１，Ｆ２，Ｆ３）とサービス間の関係をサービス関係解釈手段２０４により調べさせ、当該フラグの状態とサービス間の関係に従ってサービスを自動的に運用する制御を行う。
【００２６】
サービス制御機構１１はまた、サービスの開始要求のためのオペレータ操作を判別する操作判別手段２０６と、運用モードに適合しないサービスの開始要求のためのオペレータ操作に従う動作を制限する操作制限手段２０７とを有する。サービス制御機構１１はまた、クラスタシステム１の状態を判別する状態判別手段２０８と、オペレータ操作に従う運用モードの変更を行う運用モード変更手段２０９とを含む。これら、操作判別手段２０６、操作制限手段２０７、状態判別手段２０８及び運用モード変更手段２０９を、クライアントコンピュータ４上で動作するクライアントソフトウェア４１によって当該クライアントコンピュータ４上に持たせるようにしてもよい。
【００２７】
サービス制御機構１１は更に、運用モード設定手段２０１によって設定される運用モードを示す運用モード情報を記憶するための運用モード記憶手段２１０と、サービス関係設定手段２０３によって設定される、クラスタシステム１上で動作可能な複数のサービスの相互間の関係を示すサービス関係情報を記憶するためのサービス関係記憶手段２１１とを含む。
【００２８】
サービス相互間の関係、つまりサービス間の関係とは、相異なる２つのサービスの間にどのような関係があるかを定めたものである。本実施形態において適用されるサービス間の関係を規定する要素の１つにサービス間の関係の種類がある。サービス間の関係の種類には、依存関係と、排他関係と、無関係とがある。依存関係とは、予め決められたサービスが運用（開始）されているときのみ、サービスを開始（起動）可能な関係（ここでは、クラスタシステム１全体での依存関係）である。例えばサービス＃２に、サービス＃１に対する依存関係が定義されている場合には、サービス＃１が既に開始しているときのみ、サービス＃１を開始可能である。換言するならば、サービス＃１とサービス＃２とが開始している状態で、サービス＃１が停止したときは、サービス＃２も停止する。排他関係とは、サービスが運用されているときは、予め決められたサービスが、例えば同一サーバコンピュータ上で運用されてはならない関係（ここでは、特定のサーバコンピュータ上での排他関係）である。例えば、サービス＃３に、サービス＃１に対する特定のサーバコンピュータ上での排他関係が定義されている場合、サービス＃１が特定のサーバコンピュータ上で開始していないときのみ、サービス＃３は当該特定のサーバコンピュータ上で開始可能であり、サービス＃１が当該特定のサーバコンピュータ上で開始しているときは、サービス＃３は当該特定のサーバコンピュータ上で開始不可能である。無関係とは、あるサービスと別のサービスとの間に、運用上の何の関係も存在しない関係である。依存関係と排他関係と無関係とは、互いに独立である。本実施形態では、このサービス間の関係を示す情報（サービス関係情報）は、図３に示すように、サービス関係テーブル２１１ａの形式でサービス関係記憶手段２１１に記憶される。
【００２９】
次に、図１のクラスタシステム１の動作について、第１の運用モードＭ１が設定されている場合の動作を例に、図４の動作説明図並びに図５及び図６のフローチャートを参照して説明する。今、クラスタシステム１の運用モードが、運用モード設定手段２０１により第１の運用モードＭ１（オートモード）に設定されているものとする。設定された運用モードＭ１の情報は、運用モード記憶手段２１０に記憶される。この運用モードＭ１では、以下に述べるように、サービス間の関係に従ってサービスが自動的に実行される。
【００３０】
まず、クラスタシステム１上で運用されるサービス＃１，＃２，＃３の間には、サービス関係設定手段２０３により次の関係が設定されるものとする。即ち、サービス＃１に対するサービス＃２の関係として、依存関係が設定される（ステップＳ１）。つまりステップＳ１において、サービス＃２は、サービス関係設定手段２０３により、サービス＃１が運用されているときのみ起動（開始）可能な関係に設定される。次に、サービス＃１に対するサービス＃３の関係として、排他関係が設定される（ステップＳ２）。つまりステップＳ２において、サービス＃３は、サービス関係設定手段２０３により、サービス＃１が運用されているコンピュータ上では開始できない関係に設定される。なお、サービス＃３はサービス＃２に対して無関係な関係にある。つまりサービス＃２とサービス＃３との間には運用上の関係は存在しない。サービス関係設定手段２０３により設定された、上述のサービス間の関係を示す情報は、例えば図３に示すサービス関係テーブル２１１ａの形で、サービス関係記憶手段２１１に記憶される。
【００３１】
さて、サービス＃１，＃２，＃３には、自動開始フラグＦ１，Ｆ２，Ｆ３が含まれている。ここではサービス関係設定手段２０３により、図４に示すように、自動開始フラグＦ２のみ、自動開始可を表すＯＮ状態に設定され（ステップＳ３）、他の自動開始フラグＦ１，Ｆ３は自動開始不可を表すＯＦＦ状態に設定される（ステップＳ４）。
【００３２】
このような状態でクラスタシステム１が再起動されると（ステップＳ５）、運用モード判別手段２０２は運用モード記憶手段２１０に記憶されている運用モード情報を参照して、現在設定されているクラスタシステム１の運用モードを判別する（ステップＳ６）。ここでは、運用モードＭ１が設定されていることが判別される。運用モード判別手段２０２は、現在の運用モードが運用モードＭ１である場合、サービス自動開始制御手段２０５に制御を渡す。これを受けて、サービス自動開始制御手段２０５はサービスを自動的に開始させるために、制御サービス関係解釈手段２０４に対して、現在設定されているサービス＃１，＃２，＃３の間の関係の解釈を要求する（ステップＳ７）。
【００３３】
サービス関係解釈手段２０４はサービス自動開始制御手段２０５からサービス間の関係の解釈を要求されると、クラスタシステム１上で運用可能なサービスについて、当該サービスに含まれている自動開始フラグを調べる（ステップＳ８）。ここではサービス関係解釈手段２０４は、サービス＃１，＃２，＃３のうちのサービス＃２の自動開始フラグＦ２のみが自動開始可能状態（ＯＮ状態）に設定されていることを確認する。この場合、サービス関係解釈手段２０４は、サービス＃２を優先して開始させようとする。しかし、サービス関係記憶手段２１１には、サービス＃２がサービス＃１に対して依存関係にあり、当該サービス＃１が開始されていなければ開始できないことを示すサービス間情報（サービス関係テーブル２１１ａ）が記憶されている。そこでサービス関係解釈手段２０４は、自動開始フラグＦ２がＯＮ状態にあるサービス＃２を開始させるために、まずサービス関係記憶手段２１１の示すサービス間の関係に従って、当該サービス＃２の開始条件である、サービス＃１をサーバコンピュータ２−１上で開始することを、サービス開始手段１２０に要求する（ステップＳ９）。
【００３４】
サービス開始手段１２０は、サービス関係解釈手段２０４からの開始要求に従って、要求されたサービス＃１をサーバコンピュータ２−１上で開始し（ステップＳ１０）、その結果（サービス＃１の開始結果）を当該サービス関係解釈手段２０４に通知する（ステップＳ１１）。サービス関係解釈手段２０４は、サービス開始手段１２０から通知されたサービス開始結果から、サービス＃１を正常に開始できたか否かを判別する（ステップＳ１２）。もし、サービス＃１を正常に開始できなかったなら、当該サービス＃１に対して依存関係にある自動開始すべきサービス＃２は開始できないことから、サービス関係解釈手段２０４はサービス開始処理に失敗したとして、当該サービス開始処理を終了する（ステップＳ１３）。
【００３５】
一方、サービス＃１を正常に開始できたなら（ステップＳ１２）、サービス関係解釈手段２０４は、サービス開始手段１２０に対して、自動開始可能状態（ＯＮ状態）にある自動開始フラグＦ２を含むサービス＃２（つまりサービス＃１に対して依存関係のある、自動開始すべきサービス＃２）をサーバコンピュータ２−２上で開始することを要求する（ステップＳ１３）。するとサービス開始手段１２０は、サービス関係解釈手段２０４からの開始要求に従って、サーバコンピュータ２−２上でサービス＃２を開始する（ステップＳ１５）。
【００３６】
このような状態で、オペレータが、クライアントコンピュータ４の入力手段４２を用いて、サービス＃３の開始を要求するための操作を行ったものとする（ステップＳ２１）。すると、サービス＃３の開始要求が、クライアントコンピュータ４内のクライアントソフトウェア４１に従い、当該クライアントコンピュータ４からネットワーク３を介してクラスタシステム１のクラスタ制御機構１０に転送され、当該クラスタ制御機構１０内の操作判別手段２０６に渡される。操作判別手段２０６は、クライアントコンピュータ４から転送された要求がサービス（ここではサービス＃３）の開始要求であると判別すると、当該要求を操作制限手段２０７に渡す。すると操作制限手段２０７は、操作判別手段２０６から渡されたクライアントコンピュータ４からのサービス＃３の開始要求が、現在設定されているクラスタシステム１の運用モード、つまり運用モードＭ１に適合するか否かを調べる（ステップＳ２２）。ここで、クライアントコンピュータ４からのサービス開始要求が運用モードＭ１に適合する条件は、サービスを開始するサーバコンピュータが指定されていないことである。したがって、クライアントコンピュータ４からのサービス開始要求時に、当該クライアントコンピュータ４からサービス（ここではサービス＃３）を開始するサーバコンピュータが指定された場合、つまりオペレータがサービスを開始するサーバコンピュータを指定する操作を行った場合には、運用モードＭ１に適合しないと判断される。操作制限手段２０７は、クライアントコンピュータ４からのサービス＃３の開始要求が運用モードＭ１に適合しないと判断した場合（ステップＳ２３）、当該サービス＃３の開始要求の受け付けを拒絶し、その旨をクライアントコンピュータ４に通知する（ステップＳ２４）。
【００３７】
一方、本実施形態のように、クライアントコンピュータ４からサービス＃２を開始するサーバコンピュータが指定されなかった場合には、操作制限手段２０７は、当該クライアントコンピュータ４からのサービス＃３の開始要求が現在設定されている運用モードＭ１に適合すると判断する。この場合、操作制限手段２０７はクライアントコンピュータ４からのサービス＃３の開始要求を受け付け、サービス関係解釈手段２０４に対して、当該サービス＃３の開始のために、現在設定されている当該サービス＃３と他のサービス＃１，＃２との間の関係の解釈を要求する（ステップＳ２５）。このとき、クラスタシステム１では、サービス＃１がサーバコンピュータ２−１上で運用され、サービス＃２がサーバコンピュータ２−２上で運用されている。また、サービス間の関係から、サービス＃３とサービス＃１とは同一コンピュータ上では同時に運用できない。そこでサービス関係解釈手段２０４は、サービス＃３はサービス＃１を運用しているサーバコンピュータ２−１上では開始できないが、サービス＃２を運用しているサーバコンピュータ２−２上では開始できると判断し、サービス開始手段１２０に対して、サービス＃３をサーバコンピュータ２−２上で開始することを要求する（ステップＳ２６）。するとサービス開始手段１２０は、サービス関係解釈手段２０４からの要求に従ってサービス＃３をサーバコンピュータ２−２上で開始する（ステップＳ２７）。なお、本実施形態では、サービス＃１〜＃３を動作させるサーバコンピュータの候補を予め指定可能である。また、同一サービスに対して複数のサーバコンピュータの候補を指定する場合、当該複数のサーバコンピュータに優先順位を指定することも可能である。もし、サービス＃３を動作させるサーバコンピュータとしてサーバコンピュータ２−１だけが指定されている場合には、オートモードでは、サービス＃３の開始要求は拒絶されるか、サービス＃１が停止するまで待たされる。また、サービス＃３を動作させるサーバコンピュータとしてサーバコンピュータ２−１及び２−２が指定され、サーバコンピュータ２−２の方が優先度が高い場合には、オートモードでは、まずサービス＃３をサーバコンピュータ２−２上で開始できるか否かが、サービス間の関係に従って判定される。この場合、サーバコンピュータ２−１上でのサービス＃１の運用状態に無関係に、サービス＃３をサーバコンピュータ２−２上で開始できることが決定される。
【００３８】
このように、運用モードＭ１（オートモード）では、サービス間の関係に従って全てのサービスを自動的に運用することができる。
【００３９】
次に、第２の運用モードＭ２が設定されている場合のクラスタシステム１の動作について、図７の動作説明図並びに図８のフローチャートを参照して説明する。また、前記した第１の運用モードＭ１が設定されている場合の動作で参照した図６のフローチャートを適宜援用する。今、クラスタシステム１の運用モードが、運用モード設定手段２０１により第２の運用モードＭ２（マニュアルモード）に設定されているものとする。この運用モードＭ２では、以下に述べるように、オペレータの指定したサービスが、サービス間の関係に従って実行される。
【００４０】
まず、クラスタシステム１上で運用されるサービス＃１，＃２，＃３の間には、サービス関係設定手段２０３により次の関係が設定されるものとする。即ち、サービス＃２は、サービス＃１が運用されているときのみ開始可能な関係に、サービス関係設定手段２０３により設定される（ステップＳ３１）。次にサービス＃３は、サービス＃１が運用されているコンピュータ上では開始できない関係に、サービス関係設定手段２０３により設定される（ステップＳ３２）。なお、サービス＃２とサービス＃３との間には運用上の関係は存在しない。
【００４１】
図８のフローチャートでは省略されているが、このような状態でクラスタシステム１が再起動される。すると、運用モード判別手段２０２は運用モード記憶手段２１０に記憶されている運用モード情報を参照して、現在設定されているクラスタシステム１の運用モードを判別する（ステップＳ３３）。ここでは、運用モードＭ２が設定されていることが判別される。運用モード判別手段２０２は、現在の運用モードが運用モードＭ２である場合、その旨を操作制限手段２０７に通知して、オペレータの操作に従うクライアントコンピュータ４からサービス開始が要求されるのを待たせる。
【００４２】
このような状態で、オペレータが、クライアントコンピュータ４の入力手段４２を用いて、例えばサーバコンピュータ２−２（＃２）上でのサービス＃２の開始を要求するための操作を行ったものとする（ステップＳ３４）。すると、サービス＃２の開始要求が、クライアントコンピュータ４からネットワーク３を介してクラスタシステム１のクラスタ制御機構１０に転送され、当該クラスタ制御機構１０内の操作判別手段２０６に渡される。操作判別手段２０６は、クライアントコンピュータ４から転送された要求がサービス（ここではサービス＃２）の開始要求であると判別すると、当該要求を操作制限手段２０７に渡す。すると操作制限手段２０７は、操作判別手段２０６から渡されたクライアントコンピュータ４からのサービス＃２の開始要求が、現在設定されているクラスタシステム１の運用モード、つまり運用モードＭ２に適合するか否かを調べる（ステップＳ３５）。ここで、クライアントコンピュータ４からのサービス開始要求が運用モードＭ２に適合する条件は、サービスを開始するサーバコンピュータが指定されていることである。したがって、クライアントコンピュータ４からのサービス開始要求時に、当該クライアントコンピュータ４からサービス（ここではサービス＃２）を開始するサーバコンピュータが指定されなかった場合、つまりオペレータがサービスを開始するサーバコンピュータを指定する操作を行わなかった場合には、運用モードＭ２に適合しないと判断される。この場合、操作制限手段２０７は、クライアントコンピュータ４からのサービス＃２の開始要求の受け付けを拒絶し、その旨をクライアントコンピュータ４に通知する。
【００４３】
一方、本実施形態のように、クライアントコンピュータ４からサービス＃２を開始するサーバコンピュータ（ここではサーバコンピュータ２−２）が指定されている場合には、操作制限手段２０７は当該クライアントコンピュータ４からのサービス＃２の開始要求が、現在設定されている運用モードＭ２に適合すると判断する。この場合、操作制限手段２０７はサービス関係解釈手段２０４に対して、サービス＃２の開始のために、現在設定されている当該サービス＃２と他のサービス＃１，＃３との間の関係の解釈を要求する（ステップＳ３６）。ここでは、サービス間の関係から、サービス＃２はサービス＃１が運用しているときのみ開始可能である。そこでサービス関係解釈手段２０４は、サービス＃２と他のサービス＃１，＃３との間の関係から、サービス＃２を開始するためには、まずサービス＃１を開始する必要があると判断し、サービス開始手段１２０に対して、サービス＃２の開始条件であるサービス＃１をサーバコンピュータ２−１（＃１）上で開始することを要求する（ステップＳ３７）。
【００４４】
するとサービス開始手段１２０は、サービス関係解釈手段２０４からの要求に従ってサービス＃１をサーバコンピュータ２−１上で開始し（ステップＳ３８）、その結果（サービス＃１の開始結果）を当該サービス関係解釈手段２０４に通知する（ステップＳ３９）。サービス関係解釈手段２０４は、サービス開始手段１２０から通知されたサービス開始結果から、サービス＃１を正常に開始できたか否かを判別する（ステップＳ４０）。もし、サービス＃１を正常に開始できなかったなら、当該サービス＃１に対して依存関係にある、オペレータ操作に従ってクライアントコンピュータ４から要求されたサービス＃２は開始できないことから、サービス関係解釈手段２０４はサービス開始処理に失敗したとして、当該サービス開始処理を終了する（ステップＳ４１）。
【００４５】
一方、サービス＃１を正常に開始できたことが確認できたなら（ステップＳ４０）、サービス関係解釈手段２０４は、オペレータ操作に従ってクライアントコンピュータ４により要求されたサービス＃２を当該クライアントコンピュータ４により指定されたサーバコンピュータ２−２（＃２）上で開始することを、サービス開始手段１２０に要求する（ステップＳ４２）。するとサービス開始手段１２０は、サービス関係解釈手段２０４からの開始要求に従って、サーバコンピュータ２−２上でサービス＃２を開始する（ステップＳ４３）。
【００４６】
このような状態で、オペレータが、クライアントコンピュータ４の入力手段４２を用いて、サービス＃３の開始を要求するための操作を行ったものとする（ステップＳ２１）。この場合、運用モードＭ１においてサービス＃２が自動的に開始された後に、オペレータがサービス＃３の開始を要求するための操作を行ったときと同様の動作（ステップＳ２２〜Ｓ２７）が行われる。但し、運用モードＭ２では、運用モードＭ１の場合と逆に、サービス＃３の開始要求時に当該サービス＃３を開始するサーバコンピュータが指定されなかった場合に、現在の運用モードＭ２に適合していないと判断される。また、サービス＃３を開始するサーバコンピュータが指定されたとしても、例えば当該サービス＃３と排他関係にあるサービス＃１が運用されているサーバコンピュータ２−１（＃１）が指定された場合には、サービス＃３の開始はサービス＃１が停止するまで待たされる（またはサービス＃３の開始要求が拒絶される）。
【００４７】
このように、運用モードＭ２（マニュアルモード）では、サービス間の関係に従って最低限のセキュリティを確保しながら、オペレータ操作に従ってサービスを運用することができる。
【００４８】
次に、第３の運用モードＭ３が設定されている場合のクラスタシステム１の動作について、図９の動作説明図並びに図１０及び図１１のフローチャートを参照して説明する。今、クラスタシステム１の運用モードが、運用モード設定手段２０１により第３の運用モードＭ３（メンテナンスモード）に設定されているものとする。この運用モードＭ３では、以下に述べるように、オペレータの指定したサービスが、サービス間の関係の制約を受けずに実行される。
【００４９】
まず、クラスタシステム１上で運用されるサービス＃１，＃２，＃３の間には、サービス関係設定手段２０３により次の関係が設定されるものとする。即ち、サービス＃２は、サービス＃１が運用されているときのみ開始可能な関係に、サービス関係設定手段２０３により設定される（ステップＳ５１）。次にサービス＃３は、サービス＃１が運用されているコンピュータ上では開始できない関係に、サービス関係設定手段２０３により設定される（ステップＳ５２）。なお、サービス＃２とサービス＃３との間には運用上の関係は存在しない。
【００５０】
図１０のフローチャートでは省略されているが、このような状態でクラスタシステム１が再起動される。すると、運用モード判別手段２０２は運用モード記憶手段２１０に記憶されている運用モード情報を参照して、現在設定されているクラスタシステム１の運用モードを判別する（ステップＳ５３）。ここでは、運用モードＭ３が設定されていることが判別される。運用モード判別手段２０２は、現在の運用モードが運用モードＭ３である場合、その旨を操作制限手段２０７に通知して、オペレータの操作に従うクライアントコンピュータ４からサービス開始が要求されるのを待たせる。
【００５１】
このような状態で、オペレータが、クライアントコンピュータ４の入力手段４２を用いて、例えばサーバコンピュータ２−２（＃２）上でのサービス＃２の開始を要求するための操作を行ったものとする（ステップＳ５４）。すると、サービス＃２の開始要求が、クライアントコンピュータ４からネットワーク３を介してクラスタシステム１のクラスタ制御機構１０に転送され、当該クラスタ制御機構１０内の操作判別手段２０６に渡される。操作判別手段２０６は、クライアントコンピュータ４から転送された要求がサービス（ここではサービス＃２）の開始要求であると判別すると、当該要求を操作制限手段２０７に渡す。すると操作制限手段２０７は、操作判別手段２０６から渡されたクライアントコンピュータ４からのサービス＃２の開始要求が、現在設定されているクラスタシステム１の運用モード、つまり運用モードＭ３に適合するか否かを調べる（ステップＳ５５）。ここで、クライアントコンピュータ４からのサービス開始要求が運用モードＭ３に適合する条件は、前記運用モードＭ２と同様に、サービスを開始するサーバコンピュータが指定されていることである。
【００５２】
したがって、本実施形態のように、クライアントコンピュータ４からサービス＃２を開始するサーバコンピュータ（ここではサーバコンピュータ２−２）が指定されている場合、操作制限手段２０７は当該クライアントコンピュータ４からのサービス＃２の開始要求が、現在設定されている運用モードＭ３に適合すると判断する。もし、サービス＃２の開始要求が運用モードＭ３に適合しないならば、操作制限手段２０７は運用モードＭ２の場合と同様に、当該サービス＃２の開始要求を拒絶し、その旨をクライアントコンピュータ４に通知する。
【００５３】
一方、本実施形態のように、クライアントコンピュータ４からサービス＃２を開始するサーバコンピュータ（ここではサーバコンピュータ２−２）が指定されている場合には、サービス＃２の開始要求が運用モードＭ３に適合すると判断する。この場合、操作制限手段２０７は、サービス＃２と他のサービス＃１，＃３との間の関係に拘わらずに、サービス開始手段１２０に対して、サービス＃２を指定されたサーバコンピュータ２−２（＃２）上で開始することを要求する（ステップＳ５６）。この点が、サービス＃２と他のサービス＃１，＃３との間の関係が考慮される運用モードＭ２（またはＭ１）と相異する。サービス開始手段１２０は、操作制限手段２０７からの開始要求に従って、サーバコンピュータ２−２上でサービス＃２を開始する（ステップＳ５７）
このような状態で、オペレータが、クライアントコンピュータ４の入力手段４２を用いて、例えばサーバコンピュータ２−２（＃２）上でのサービス＃３の開始を要求するための操作を行ったものとする（ステップＳ６１）。このサービス＃３の開始要求は、クライアントコンピュータ４からクラスタシステム１のクラスタ制御機構１０に転送され、当該クラスタ制御機構１０内の操作判別手段２０６を介して操作制限手段２０７に渡される。すると操作制限手段２０７は、先のステップＳ５５と同様に、クライアントコンピュータ４からのサービス＃３の開始要求が現在設定されている運用モードＭ３に適合するか否かを調べる（ステップＳ６２）。もし、サービス＃３の開始要求が運用モードＭ３に適合しないならば（ステップＳ６３）、操作制限手段２０７は当該サービス＃３の開始要求を拒絶し、その旨をクライアントコンピュータ４に通知する（ステップＳ６４）。
【００５４】
一方、本実施形態のように、クライアントコンピュータ４からサービス＃３を開始するサーバコンピュータ（ここではサーバコンピュータ２−２）が指定されている場合には、サービス＃３の開始要求が運用モードＭ３に適合すると判断する（ステップＳ６３）。この場合、操作制限手段２０７は、サービス＃３と他のサービス＃１，＃２との間の関係に無関係に、サービス開始手段１２０に対して、サービス＃３を指定されたサーバコンピュータ２−２（＃２）上で開始することを要求する（ステップＳ６５）。サービス開始手段１２０は、操作制限手段２０７からの開始要求に従って、サーバコンピュータ２−２上でサービス＃３を開始する（ステップＳ６６）
このように、運用モードＭ３（メンテナンスモード）では、サービス間の関係に無関係に、オペレータ操作に従ってサービスを運用することができる。ここでは、運用モードＭ２（マニュアルモード）と異なり、サービス間の関係は考慮されず、オペレータ（ユーザ）の責任で任意に手動でサービスを運用する操作が行えることから、クラスタシステム１上でのサービスの動作確認を含む、クラスタシステム１の保守作業に適している。
【００５５】
次に、クラスタシステム１の運用モードを変更する際の動作について、図１２の動作説明図及び図１３のフローチャートを参照して説明する。今、オペレータが、クライアントコンピュータ４の入力手段４２を用いて、例えばクラスタシステム１の運用モードを例えば第３の運用モードＭ３（メンテナンスモード）に設定するための操作を行ったものとする。この場合、クラスタシステム１内の運用モード設定手段２０１は、クラスタシステム１を第３の運用モードＭ３に設定する（ステップＳ７１）。この運用モードＭ３を示す情報はサービス関係記憶手段２１１に記憶される。
【００５６】
また、クラスタシステム１上で運用されるサービス＃１，＃２，＃３の間には、サービス関係設定手段２０３により次の関係が設定されるものとする。即ち、サービス＃２は、サービス＃１が運用されているときのみ開始可能な関係に、サービス関係設定手段２０３により設定される（ステップＳ７２）。次にサービス＃３は、サービス＃１が運用されているコンピュータ上では開始できない関係に、サービス関係設定手段２０３により設定される（ステップＳ７３）。なお、サービス＃２とサービス＃３との間には運用上の関係は存在しない。
【００５７】
このような状態で、オペレータがクライアントコンピュータ４を用いて、例えばサーバコンピュータ２−２（＃２）上でのサービス＃２の開始を要求するための操作を行った結果、サービス開始手段１２０がサービス＃２をサーバコンピュータ２−２上で開始したものとする（ステップＳ７４）。更に、この状態、つまりサービス＃２は開始されているものの、サービス＃１及びサービス＃３が開始されていない状態で、オペレータがクライアントコンピュータ４を用いて、現在設定されている運用モード（ここでは運用モードＭ３）から他の運用モード、例えば運用モードＭ１への変更を要求するための操作を行ったものとする（ステップＳ７５）。すると、この運用モード変更要求が、クライアントコンピュータ４からネットワーク３を介してクラスタシステム１のクラスタ制御機構１０に転送され、当該クラスタ制御機構１０内の運用モード変更手段２０９に渡される。
【００５８】
運用モード変更手段２０９は、クライアントコンピュータ４からの運用モード変更要求を受け取ると、状態判別手段２０８に対して運用モードの変更を許可すべきか否かを問い合わせる（ステップＳ７６）。すると状態判別手段２０８は、現在の運用モードＭ３におけるサービス＃１，＃２，＃３の状態と、サービス関係記憶手段２１１によって示される記憶されているサービス＃１，＃２，＃３相互間の関係とをもとに、現在のサービス＃１，＃２，＃３の状態が運用モード変更要求で指定された運用モードに適合するか否か、つまり現在の運用モードＭ３から要求された運用モードＭ１への変更を許可できるか否かを判別する（ステップＳ７７）。
【００５９】
このとき、クラスタシステム１では、サービス＃２だけがサーバコンピュータ２−２（＃２）上で運用されている。ここでは、サービス＃２はサービス＃１との間で、当該サービス＃１が運用されているときのみ開始可能な関係にある。したがって、現在のサービス＃１及びサービス＃２の状態は、設定されたサービス間の関係から外れている。この場合、状態判別手段２０８は、現在のサービス＃１及びサービス＃２の状態が設定されたサービス間の関係を満たしていないものと判別する（ステップＳ７７，Ｓ７９）。
【００６０】
すると状態判別手段２０８は、現在のクラスタシステム１でのサービスの運用状態で、クライアントコンピュータ４からの運用モード変更要求に従って運用モードを運用モードＭ１に変更すると、当該クラスタシステム１に不整合が発生するものと判断する。つまり状態判別手段２０８は、現在のクラスタシステム１でのサービスの運用状態は、要求された運用モードに適合していないと判断する。そこで状態判別手段２０８は、運用モード変更手段２０９に対して、運用モードの変更を拒絶するよう要求する（ステップＳ８０）。運用モード変更手段２０９は、この要求に従って運用モードの変更を拒絶し、その旨をクライアントコンピュータ４の出力手段４３を介してオペレータに通知する（ステップＳ８１）。
【００６１】
これに対し、本実施形態と異なって、例えばサービス＃１だけが運用されている場合であれば、状態判別手段２０８は、現在のサービスの状態は設定されたサービス間の関係を満たしていると判断する。この場合、状態判別手段２０８から運用モード変更手段２０９に対して、運用モードＭ１への変更を許可するように要求される。運用モード変更手段２０９は、この要求に従って運用モードを運用モードＭ３から運用モードＭ１に変更する（ステップＳ７８）。
【００６２】
このように本実施形態においては、オペレータの操作に従ってクライアントコンピュータ４からクラスタシステム１に対して運用モードの変更が要求された場合、現在の各サービスの状態が設定された当該各サービス間の関係を満たしているか否かにより（つまり現在の各サービスの状態が要求された運用モードに適合しているか否かにより）、要求された運用モードへの変更を許可するか否かを決定している。これにより、オペレータによる運用モード変更のための操作を許しながら、誤った操作でクラスタシステム１の整合性が失われるのを防止できる。
【００６３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００６４】
【発明の効果】
以上詳述したように本発明によれば、クラスタシステムの運用モードとしてオートモードを設定することにより、当該システムで実行可能なサービス相互間の運用に関する予め設定された関係（サービス間の関係）に従って、クラスタシステムによって自動的にサービスが運用される。このため本発明によれば、オペレータに対するサービス管理の負担と、オペレータの誤操作によるクラスタシステムの整合性の損失等のリスクを軽減することができる。
【００６５】
また本発明によれば、クラスタシステムの運用モードとしてマニュアルモードを設定することにより、オペレータの指定したサービスが、予め設定されたサービス間の関係に従って運用される。このため本発明によれば、オペレータ操作によるサービスの運用を可能としながら、オペレータの誤操作によるクラスタシステムの整合性の損失等のリスクを軽減することができる。
【００６６】
また本発明によれば、クラスタシステムの運用モードとしてメンテナンスモードを設定することにより、オペレータの指定したサービスが、予め設定されたサービス間の関係の制約を受けずに運用される。このためオペレータは、サービスの動作確認を自身の責任において自由に行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るクラスタシステムの構成を示すブロック図。
【図２】図１中のサービス制御機構１１の構成を示すブロック図。
【図３】図２中のサービス関係記憶手段２１１に記憶されるサービス関係テーブル２１１ａのデータ構造例を示す図。
【図４】同実施形態の動作を、第１の運用モードＭ１（オートモード）が設定されている場合を例に説明するための図。
【図５】第１の運用モードＭ１が設定されている場合の動作手順を示すフローチャート。
【図６】第１の運用モードＭ１が設定されている場合の動作手順を示すフローチャート。
【図７】同実施形態の動作を、第２の運用モードＭ２（マニュアルモード）が設定されている場合を例に説明するための図。
【図８】第２の運用モードＭ２が設定されている場合の動作手順を示すフローチャート。
【図９】同実施形態の動作を、第３の運用モードＭ３（メンテナンスモード）が設定されている場合を例に説明するための図。
【図１０】第３の運用モードＭ３が設定されている場合の動作手順を示すフローチャート。
【図１１】第３の運用モードＭ３が設定されている場合の動作手順を示すフローチャート。
【図１２】同実施形態の動作を、運用モード変更の場合を例に説明するための図。
【図１３】運用モード変更時の動作手順を示すフローチャート。
【符号の説明】
１…クラスタシステム、２−１，２−２…サーバコンピュータ（サーバ計算機）、３…ネットワーク、４…クライアントコンピュータ（クライアント計算機）、１０…クラスタ制御機構、１１…サービス制御機構、１２…サービス実行機構（サービス実行手段）、１２０…サービス開始手段（サービス実行手段）、２０１…運用モード設定手段、２０２…運用モード判別手段、２０３…サービス関係設定手段、２０４…サービス関係解釈手段、２０５…サービス自動開始制御手段（サービス自動制御手段）、２０６…操作判別手段、２０７…操作制限手段（サービス開始要求受け付け手段、サービス開始要求判別手段）、２０８…状態判別手段、２０９…運用モード変更手段、２１０…運用モード記憶手段、２１１…サービス関係記憶手段、２１１ａ…サービス関係テーブル。
【図１】
2005025383.tif 000003
【図２】
2005025383.tif 000004
【図３】
2005025383.tif 000005
【図４】
2005025383.tif 000006
【図５】
2005025383.tif 000007
【図６】
2005025383.tif 000008
【図７】
2005025383.tif 000009
【図８】
2005025383.tif 000010
【図９】
2005025383.tif 000011
【図１０】
2005025383.tif 000012
【図１１】
2005025383.tif 000013
【図１２】
2005025383.tif 000014
【図１３】
2005025383.tif 000015