(57)【要約】【課題】通信の開始処理に配慮した複数の情報処理装置の起動順序を制御する。【解決手段】複数の情報処理装置間の通信接続を開始するときの通信処理に関連する情報を取得する。取得した通信処理に関する情報に基づいて、複数の情報処理装置を起動する際に、接続の開始の要求を送信した情報処理装置よりも要求に対して応答を送信した情報処理装置が先に起動されるように制御する。【選択図】図１
2015095151.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の情報処理装置間の通信接続を開始するときの通信処理に関する情報を取得し、
取得した前記通信処理に関する情報に基づいて、前記複数の情報処理装置を起動する際に、前記接続の開始の要求を送信した情報処理装置よりも、前記要求に対して応答を送信した情報処理装置が先に起動されるように制御する
ことを含む処理を実行させるための起動制御プログラム。
【請求項２】
前記コンピュータに、取得した前記通信処理に関する情報のうち、情報処理装置の起動順序に関係しない情報が、起動制御で使用されないように除外することを含む処理を実行させるための請求項１記載の起動制御プログラム。
【請求項３】
前記コンピュータに、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視して、前記通信処理に関する情報を有する通信を検知し、前記通信処理に関する情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定する通信監視部から、前記通信処理に関する情報として、前記通信監視部により判定された起動優先度の関係を示す情報を取得することを含む処理を実行させるための請求項１または請求項２記載の起動制御プログラム。
【請求項４】
前記コンピュータに、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視する通信監視部から、前記通信処理に関する情報として、前記複数の情報処理装置間の通信の内容を示す情報を取得し、前記通信の内容を示す情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定することを含む処理を実行させるための請求項１または請求項２記載の起動制御プログラム。
【請求項５】
前記コンピュータに、過去に前記通信監視部から取得済みの前記通信処理に関する情報と同一の情報を取得しないようにすることを含む処理を実行させるための請求項３または請求項４記載の起動制御プログラム。
【請求項６】
前記コンピュータに、前記通信処理に関する情報を、スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報とすることを含む処理を実行させるための請求項１〜請求項５のいずれか１項記載の起動制御プログラム。
【請求項７】
前記コンピュータに、前記複数の情報処理装置の各々に配置され、前記複数の情報処理装置の各々の電源が停止したか否かを監視する電源監視部から、電源が停止した情報処理装置の情報を取得し、
取得した前記電源が停止した情報処理装置の情報が示す情報処理装置について、前記電源が停止した情報処理装置の情報が取得された後初めて取得した前記スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報を、前記通信処理に関する情報として使用する
ことを含む処理を実行させるための請求項６記載の起動制御プログラム。
【請求項８】
複数の情報処理装置間の通信接続を開始するときの通信処理に関連する情報を取得する取得部と、
前記取得部により取得された前記通信処理に関する情報に基づいて、前記複数の情報処理装置を起動する際に、前記接続の開始の要求を送信した情報処理装置よりも前記要求に対して応答を送信した情報処理装置が先に起動されるように制御する制御部と、
を含む起動制御装置。
【請求項９】
コンピュータに、
複数の情報処理装置間の通信接続を開始するときの通信処理に関する情報を取得し、
取得した前記通信処理に関する情報に基づいて、前記複数の情報処理装置を起動する際に、前記接続の開始の要求を送信した情報処理装置よりも前記要求に対して応答を送信した情報処理装置が先に起動されるように制御する
ことを含む処理を実行させる起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動制御プログラム、起動制御装置、及び起動制御方法に関する。
【背景技術】
【０００２】
例えば、災害対策システムなどで、被災した業務をバックアップサイトに復旧させる際など、複数の情報処理装置を起動する際には、どのような順序で情報処理装置を起動するかを指定する必要がある。例えば、認証サーバ、アプリケーションサーバ、Ｗｅｂサーバは、この順に起動する必要がある。また、例えば、ドメイン構成クラスタサーバに含まれる論理サーバの起動順序については、管理サーバと管理対象サーバとの接続の関係を考慮する必要がある。従来、複数の情報処理装置を起動する際の順序は、人手で決定し、管理システムに入力していた。なお、上述の認証サーバ、アプリケーションサーバ、Ｗｅｂサーバ、管理サーバ、及び管理対象サーバは情報処理装置の一例である。
【０００３】
例えば、業務システムのサービスレベルを遵守するためのクラスタシステムが提案されている。このクラスタシステムでは、業務システムの稼動目標であるサービスレベル、及び複数の仮想サーバの再起動順序を記憶し、仮想サーバの稼動実績を検出する。そして、仮想サーバのメンテナンス中に仮想サーバの再起動時間を計測して更新し、複数の仮想サーバの冗長度を算出する。また、このクラスタシステムは、算出した冗長度と、検出された稼動実績と、記憶されているサービスレベルと、更新された再起動時間とに基づいて、新たな再起動順序を決定している。
【０００４】
また、サーバ相互間でのワークフローの履歴情報に関する矛盾の有無を調べ、その結果に基づいてシステムを保守する方式が提案されている。この方式では、広域ネットワークに接続され、それぞれが作業の流れを規定するワークフローに従って自動的に作業を遂行する複数の各ワークフローシステムについての動作の履歴を保持する。そして、ワークフローシステムのシステムダウンからの復旧時に保持されている動作履歴を活用して信頼性を確保している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１０８６５１号公報
【特許文献２】特開平０９−０５０４０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、複数の情報処理装置を起動する際の順序を人手で決定する場合には、入力忘れや入力ミスにより、複数の情報処理装置で運用される業務システムが正常に動作しないなどの問題が発生するリスクが高まる。また、新たに情報処理装置を配備する度に、情報処理装置の起動順序を人手で更新する必要がある。
【０００７】
さらに、クラウド環境では、起動順序を考慮すべき情報処理装置の台数が多くなるため、情報処理装置の起動順序を人手で決定し、管理システムに入力するには、大きな工数が発生する。
【０００８】
また、上述した稼働実績等を検出して、仮想サーバの再起動順序を決定する従来技術では、起動順序を誤ると正しく業務を提供できない業務システムにおける仮想サーバの正しい起動順序を、起動ルールとして人手で設定している。そのため、この従来技術では、上記のような、入力忘れや入力ミスによるリスク、及び大きな工数発生という問題を解決することはできない。
【０００９】
また、上述したワークフローの動作履歴に基づいてシステムを保守する従来の方式では、サーバ間の接続の関係を用いて動作履歴を解読することで、処理の簡略化を図っている。しかし、この方式では、情報処理装置の起動順序については考慮されていない。
【００１０】
本発明は、一つの側面として、通信の開始処理に配慮した複数の情報処理装置の起動順序を制御することを目的とする。
【課題を解決するための手段】
【００１１】
一つの実施形態では、複数の情報処理装置間の通信接続を開始するときの通信処理に関する情報を取得する。また、開示の技術は、取得した情報に基づいて、複数の情報処理装置を起動する際に、接続の開始の要求を送信した情報処理装置よりも、要求に対して応答を送信した情報処理装置が先に起動されるように制御する。
【発明の効果】
【００１２】
一つの側面として、通信の開始処理に配慮した複数の情報処理装置の起動順序を制御することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係る起動制御システムの概略構成を示すブロック図である。
【図２】ＴＣＰ通信のスリーウェイハンドシェイクを示す概略図である。
【図３】起動優先度の関係を示す情報の一例を示す図である。
【図４】通知済みリストの一例を示す図である。
【図５】電源停止情報の一例を示す図である。
【図６】除外リストの一例を示す図である。
【図７】管理テーブルの一例を示す図である。
【図８】情報処理装置の起動優先度の関係を示す図である。
【図９】本実施形態に係る起動制御装置として機能するコンピュータの概略構成を示すブロック図である。
【図１０】通信監視処理を示すフローチャートである。
【図１１】電源監視処理を示すフローチャートである。
【図１２】起動優先度管理処理を示すフローチャートである。
【図１３】管理テーブル更新処理を示すフローチャートである。
【図１４】管理テーブルの一例を示す図である。
【図１５】管理テーブルの一例を示す図である。
【図１６】情報処理装置の起動優先度の関係を示す図である。
【図１７】起動優先度整合処理を示すフローチャートである。
【図１８】管理テーブルの一例を示す図である。
【図１９】情報処理装置の起動優先度の関係を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して開示の技術に係る実施形態の一例を詳細に説明する。
【００１５】
図１に示すように、起動制御システム１０は、起動制御装置２０、通信監視部２１Ａ、２１Ｂ、及び電源監視部２３Ａ、２３Ｂを含む。
【００１６】
起動制御システム１０は、制御対象のネットワークに含まれる複数の情報処理装置を起動する際の起動順序を決定するための各情報処理装置の起動優先度を管理し、各情報処理装置の起動を制御する。制御対象の情報処理装置は、物理計算機及び仮想計算機を含む。図１の例では、物理計算機３０Ａ上で動作するＶＭ（virtual machine）ソフトウェア３１により構築された仮想計算機３２１及び仮想計算機３２２、並びに物理計算機３０Ｂが制御対象の情報処理装置である。なお、ＶＭソフトウェア３１により構築された仮想計算機３２１及び仮想計算機３２２は、ＶＭソフトウェア３１により構築された仮想スイッチ３３を介して、外部の物理スイッチ３５と接続している。
【００１７】
通信監視部２１Ａは、仮想スイッチ３３内に配置されている。通信監視部２１Ａは、仮想計算機３２１と仮想計算機３２２との通信、並びに仮想計算機３２１及び仮想計算機３２２と外部の情報処理装置との通信を監視する。通信監視部２１Ａは、後述する通知済みリスト２２Ａを有している。また、通信監視部２１Ｂは、物理計算機３０Ｂの入出力をスイッチングする物理スイッチ３７内に配置されている。通信監視部２１Ｂは、物理計算機３０Ｂと外部の情報処理装置との通信を監視する。また、通信監視部２１Ｂは、後述する通知済みリスト２２Ｂを有している。
【００１８】
なお、通信監視部２１Ａ及び通信監視部２１Ｂの配置箇所はスイッチ内に限定されず、情報処理装置間の通信を監視可能な通信経路上であればよい。
【００１９】
以下、通信監視部２１Ａと通信監視部２１Ｂとを区別なく説明する場合には、単に「通信監視部２１」と表記する。また、通知済みリスト２２Ａと通知済みリスト２２Ｂとを区別なく説明する場合には、単に「通知済みリスト２２」と表記する。
【００２０】
通信監視部２１は、複数の情報処理装置間の通信を監視して、依頼側情報処理装置と応答側情報処理装置との間の通信処理に関する情報に関連する情報を有する通信を検知する。依頼側情報処理装置とは、情報処理装置間の通信接続の開始の要求を送信した情報処理装置であり、例えば、クライアント／サーバ構成におけるクライアント側の情報処理装置である。また、応答側情報処理装置とは、情報処理装置間の通信接続の開始の要求に対して応答を送信した情報処理装置であり、例えば、クライアント／サーバ構成におけるサーバ側の情報処理装置である。また、通信監視部２１は、検知した通信処理に関する情報に関連する情報に基づいて、依頼側情報処理装置と応答側情報処理装置との間の起動優先度の関係を判定する。
【００２１】
本実施形態では、通信監視部２１は、起動優先度の関係に関連する情報を有する通信として、スリーウェイハンドシェイク接続時における通信を検知する。スリーウェイハンドシェイク接続とは、２台の情報処理装置間における接続を確立するための接続手法である。例えば、図２に示すように、ＴＣＰ通信のスリーウェイハンドシェイクでは、まず、クライアント側の情報処理装置Ａがサーバ側の情報処理装置Ｂへ、通信の要求を示すＳＹＮパケットを送信する。次に、情報処理装置Ｂが情報処理装置Ａへ、接続の許可を示すＳＹＮ−ＡＣＫパケットを送信する。そして、情報処理装置Ａが情報処理装置Ｂへ、接続開始を示すＡＣＫパケットを送信する。
【００２２】
例えば、サーバ／クライアント構成におけるサーバ側の情報処理装置は、クライアント側の情報処理装置よりも先に起動している必要がある。すなわち、サーバ側の情報処理装置の方が、クライアント側の情報処理装置よりも、起動優先度が高い。そこで、通信監視部２１は、上記のスリーウェイハンドシェイク接続における通信に基づいて、２台の情報処理装置のいずれが依頼側（クライアント側）情報処理装置で、いずれが応答側（サーバ側）情報処理装置かを特定する。そして、通信監視部２１は、応答側情報処理装置の方が、依頼側情報処理装置より起動優先度が高いという起動優先度の関係を示す情報を生成し、起動制御装置２０へ通知する。
【００２３】
図３に、通信監視部２１が通知する起動優先度の関係を示す情報の一例を示す。図３の例では、起動優先度の関係を示す情報であることを示すイベントタブ、起動優先度が高い情報処理装置のＩＰアドレス及びポート番号、並びに起動優先度が低い情報処理装置のＩＰアドレス及びポート番号の情報が含まれている。なお、ポート番号は、後述する除外リスト判定部２５で、起動優先度の関係を判定するために用いた通信の内容を特定するために用いる情報である。
【００２４】
また、通信監視部２１は、起動制御装置２０へ起動優先度の関係を通知する際、過去に通知済みの起動優先度の関係と同一の起動優先度の関係を示す情報を再度通知しないようにする。具体的には、通信監視部２１は、通信監視部２１が有する通知済みリスト２２に、通知済みの起動優先度の関係を判定した元になった通信の内容を登録する。そして、通信監視部２１は、検知した通信の内容と通知済みリスト２２に登録された通信の内容とを照合する。通信監視部２１は、通知済みリスト２２に一致する内容が存在する通信については、起動優先度の関係の判定に用いない。これにより、通知済みの起動優先度の関係が再度通知されることを防止し、通信監視部２１と起動制御装置２０間の不要な通信を削減することができる。
【００２５】
図４に、通知済みリスト２２の一例を示す。図４の例では、起動優先度が低い情報処理装置のＩＰアドレス及びポート番号、並びに起動優先度が高い情報処理装置のＩＰアドレス及びポート番号の情報が含まれている。
【００２６】
電源監視部２３Ａは、物理計算機３０Ａに配置され、電源監視部２３Ｂは、物理計算機３０Ｂに配置されている。以下、電源監視部２３Ａと電源監視部２３Ｂとを区別なく説明する場合には、単に「電源監視部２３」と表記する。また、物理計算機３０Ａと物理計算機３０Ｂとを区別なく説明する場合には、単に「物理計算機３０」と表記する。
【００２７】
電源監視部２３は、各物理計算機３０の起動状況を監視する。電源監視部２３は、物理計算機３０の電源が停止したこと、すなわち電源がＯＮ状態からＯＦＦ状態に変わったことを検知すると、電源が停止した情報処理装置を示す電源停止情報を、起動制御装置２０へ通知する。図５に、電源監視部２３が通知する電源停止情報の一例を示す。図５の例では、電源停止情報であることを示すイベントタブ、及び電源が停止した情報処理装置のＩＰアドレスの情報が含まれている。
【００２８】
図１に示すように、起動制御装置２０は、通知取得部２４、除外リスト判定部２５、及び制御部２６を含む。
【００２９】
通知取得部２４は、通信監視部２１から通知された起動優先度の関係を示す情報を取得し、除外リスト判定部２５へ受け渡す。また、電源監視部２３から通知された電源停止情報を取得し、制御部２６へ受け渡す。
【００３０】
除外リスト判定部２５は、通知取得部２４で取得した起動優先度の関係を示す情報のうち、情報処理装置の起動順序に関係しない情報を除外する。具体的には、除外リスト判定部２５は、取得された起動優先度の関係を示す情報と、除外する起動優先度の関係を示す情報を予め登録した除外リスト２７とを照合して、取得された起動優先度の関係を示す情報を除外するか否かを判定する。
【００３１】
除外リスト２７には、例えば、Ｔｅｌｎｅｔ通信、ＵＤＰ通信、特定のアプリケーションにおける通信等、情報処理装置の起動順序に関係しない通信に基づいて判定される起動優先度の関係を示す除外情報を登録しておく。特定のアプリケーションにおける通信か否かは、ポート番号の情報を用いて判定する。除外リスト判定部２５は、図示しないマウス、キーボード、ディスプレイ等の入出力装置を介してユーザにより入力された除外情報を受け付け、除外リスト２７に登録する。
【００３２】
図６に、除外リスト２７の一例を示す。図６の例では、送信先のポート番号及びＩＰアドレス、並びに送信元のポート番号及びＩＰアドレスの情報が含まれている。本実施形態では、起動優先度の関係を示す情報における起動優先度が高い情報処理装置が送信先に相当し、起動優先度が低い情報処理装置が送信元に相当する。
【００３３】
除外リスト判定部２５は、除外しないと判定した起動優先度の関係を示す情報を、制御部２６へ受け渡す。
【００３４】
制御部２６は、起動制御装置２０の最初の起動後に、各情報処理装置の起動優先度を管理するための管理テーブル２８の初期化を行う。また、制御部２６は、管理テーブル２８の初期化後、除外リスト判定部２５から受け渡された起動優先度の関係を示す情報、及び通知取得部２４から受け渡された電源停止情報に基づいて、管理テーブル２８を更新する。管理テーブル２８には、制御対象の複数の情報処理装置を示す情報、及び各情報処理装置の起動優先度が登録されている。
【００３５】
図７に、管理テーブル２８の一例を示す。図7の例では、情報処理装置番号、ＩＰアドレス、優先起動情報処理装置番号リスト、及び起動優先度の情報が含まれている。情報処理装置番号は、管理テーブル２８において、各情報処理装置を識別するための情報である。優先起動情報処理装置番号リストは、その情報処理装置より優先して起動する情報処理装置を、情報処理装置番号で特定した情報である。図７の例では、情報処理装置番号０の情報処理装置（以下、「情報処理装置０」と表記する。他の情報処理装置番号の情報処理装置についても同様）の優先起動情報処理装置番号リストに、「１，２」が登録されている。これは、情報処理装置０より情報処理装置１及び情報処理装置２を優先して起動することを表す。起動優先度は、複数の情報処理装置を起動する際の起動順序を決定する情報である。制御部２６は、起動優先度が高い情報処理装置から順に起動するように制御する。図７の例では、数字が大きいほど優先度が高いことを表している。
【００３６】
図８に、図７の管理テーブル２８が示す情報処理装置の起動優先度の関係を示す。図８において、各ノード（丸印）が各情報処理装置を表している。また、各ノードの中の数字は、各ノードが表す情報処理装置の情報処理装置番号、及び各ノードの下に付与した数字は各ノードが表す情報処理装置の起動優先度である。また、エッジで接続されたノードが表す情報処理装置間には、接続関係があることを示しており、また、エッジの始点が起動優先度の低い情報処理装置を表すノードであり、エッジの終点が起動優先度の高い情報処理装置を表すノードである。
【００３７】
起動制御装置２０は、例えば図９に示すコンピュータ４０で実現することができる。コンピュータ４０はＣＰＵ４２、メモリ４４、不揮発性の記憶部４６、入出力インターフェース（Ｉ／Ｆ）４７、及びネットワークＩ／Ｆ４８を備えている。ＣＰＵ４２、メモリ４４、記憶部４６、入出力Ｉ／Ｆ４７、及びネットワークＩ／Ｆ４８は、バス４９を介して互いに接続されている。
【００３８】
記憶部４６はＨＤＤ（Hard Disk Drive）やフラッシュメモリ等によって実現できる。記録媒体としての記憶部４６には、コンピュータ４０を起動制御装置２０として機能させるための起動制御プログラム５０が記憶されている。また、記憶部４６は、除外リスト記憶領域５７、及び管理テーブル記憶領域５８を有する。ＣＰＵ４０は、起動制御プログラム５０を記憶部４６から読み出してメモリ４４に展開し、起動制御プログラム５０が有するプロセスを順次実行する。
【００３９】
起動制御プログラム５０は、通知取得プロセス５４、除外リスト判定プロセス５５、及び制御プロセス５６を有する。
【００４０】
ＣＰＵ４２は、通知取得プロセス５４を実行することで、図１に示す通知取得部２４として動作する。また、ＣＰＵ４２は、除外リスト判定プロセス５５を実行することで、図１に示す除外リスト判定部２５として動作する。また、ＣＰＵ４２は、制御プロセス５６を実行することで、図１に示す制御部２６として動作する。
【００４１】
起動制御装置２０がコンピュータ４０で実現される場合、除外リスト記憶領域５７は、図１に示す除外リスト２７を記憶する記憶領域として用いられる。また、管理テーブル記憶領域５８は、図１に示す管理テーブル２８を記憶する記憶領域として用いられる。これにより、起動制御プログラム５０を実行したコンピュータ４０が、起動制御装置２０として機能することになる。
【００４２】
なお、起動制御装置２０は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【００４３】
次に、本実施形態に係る起動制御システム１０の作用について説明する。通信監視部２１は、図１０に示す通信監視処理を実行することにより、起動優先度の関係を示す情報を起動制御装置２０へ通知する。電源監視部２３は、図１１に示す電源監視処理を実行することにより、電源停止情報を起動制御装置２０へ通知する。起動制御装置２０は、図１２に示す起動優先度管理処理を実行することにより、情報処理装置間の通信処理に関する情報に基づいて、複数の情報処理装置の起動優先度を管理する管理テーブル２８を更新する。以下、各処理について詳述する。なお、図１０に示す通信監視処理は、１つの通信監視部２１において実行される処理であり、図１１に示す電源監視処理は、１つの電源監視部２３において実行される処理である。
【００４４】
図１０に示す通信監視処理のステップＳ１０で、通信監視部２１が、複数の情報処理装置間の通信を監視する。次に、ステップＳ１１で、通信監視部２１が、情報処理装置間の通信を検知したか否かを判定する。通信が検知された場合には、ステップＳ１２へ移行し、通信が検知されなかった場合には、ステップＳ１０に戻る。
【００４５】
ステップＳ１２では、通信監視部２１が、検知した通信の内容と通知済みリスト２２（例えば図４）に登録された通信の内容とを照合し、検知した通信の内容が通知済みリスト２２に登録されているか否かを判定する。検知した通信の内容が通知済みリスト２２に登録されていない場合には、ステップＳ１３へ移行し、登録されている場合には、ステップＳ１０へ戻る。
【００４６】
ステップＳ１３では、通信監視部２１が、検知した通信が、スリーウェイハンドシェイク接続時における通信か否かを判定する。この判定は、通信監視部２１が、通信を検知した情報処理装置のＯＳ（Operating System）から、スリーウェイハンドシェイク接続が確立したことを示すログを取得して行うことができる。このログには、いずれが依頼側（クライアント側）情報処理装置で、いずれが応答側（サーバ側）情報処理装置かを示す情報も含まれる。また、別の方法として、通信監視部２１が、例えば図２に示すような３つの通信が、スリーウェイハンドシェイクのタイムアウト時間内に行われたか否かを判定してもよい。検知した通信がスリーウェイハンドシェイク接続時における通信の場合には、ステップＳ１４へ移行し、スリーウェイハンドシェイク接続時における通信ではない場合には、ステップＳ１０へ戻る。
【００４７】
ステップＳ１４では、通信監視部２１が、上記のスリーウェイハンドシェイク接続における通信に基づいて、２台の情報処理装置のいずれが依頼側（クライアント側）情報処理装置で、いずれが応答側（サーバ側）情報処理装置かを特定する。上記ステップＳ１３で、ＯＳからログを取得している場合には、そのログに基づいて特定することができる。また、上記ステップＳ１３で、通信の内容に基づいて、通信監視部２１がスリーウェイハンドシェイク接続における通信か否かを判定した場合には、例えば、最初のＳＹＮパケットを送信した情報処理装置を依頼側情報処理装置として特定することができる。そして、通信監視部２１が、応答側情報処理装置の方が、依頼側情報処理装置より起動優先度が高いという起動優先度の関係を示す情報（例えば図３）を生成し、起動制御装置２０へ通知する。
【００４８】
次に、ステップＳ１５で、通信監視部２１が、通知済みリスト２２に、通知済みの起動優先度の関係を判定した元になった通信の内容を登録して、ステップＳ１０へ戻る。
【００４９】
次に、図１１に示す電源監視処理のステップＳ２１で、電源監視部２３が、各物理計算機３０の起動状況を監視する。次に、ステップＳ２２で、電源監視部２３が、物理計算機３０の電源が停止したか否かを判定する。電源が停止した場合には、ステップＳ２３へ移行し、停止していない場合には、ステップＳ２１へ戻る。
【００５０】
ステップＳ２３では、電源監視部２３が、電源が停止した情報処理装置（物理計算機３０）を示す電源停止情報を、起動制御装置２０へ通知して、ステップＳ２１へ戻る。
【００５１】
次に、図１２に示す起動優先度管理処理のステップＳ３１で、制御部２６が、管理テーブル２８を初期化する。具体的には、まず、制御部２６が、管理する複数の情報処理装置を含むネットワークを管理するリソース運用管理システム等が有する情報処理装置の情報を取得し、管理テーブル２８に登録する。例えば、図７に示す管理テーブル２８であれば、情報処理装置の情報としてＩＰアドレスを取得し、取得したＩＰアドレスに情報処理装置番号を付与して、管理テーブル２８に登録する。そして、制御部２６は、各情報処理装置の起動優先度を全て「１」に設定する。なお、この段階では、優先起動情報処理装置番号リストの項目は空欄である。
【００５２】
さらに、除外リスト判定部２５が、除外リスト２７を初期化する。具体的には、除外リスト判定部２５が、図示しないマウス、キーボード、ディスプレイ等の入出力装置を介してユーザにより入力された除外情報を受け付け、除外リスト２７（例えば図６）に登録する。
【００５３】
次に、ステップＳ３２で、通知取得部２４が、通信監視部２１から起動優先度の関係を示す情報が通知されたか、または電源監視部２３から電源停止情報が通知されたか否かを判定する。いずれかの通知を取得した場合には、ステップＳ３３へ移行し、いずれの通知も取得していない場合には、本ステップの判定を繰り返す。
【００５４】
ステップＳ３３では、通知取得部２４が、上記ステップＳ３２で取得した通知が、起動優先度の関係を示す情報の通知か否かを判定する。起動優先度の関係を示す情報の通知の場合には、ステップＳ３４へ移行し、電源停止情報の通知の場合には、ステップＳ３５へ移行する。
【００５５】
ステップＳ３４では、除外リスト判定部２５が、取得した起動優先度の関係を示す情報が、除外リスト２７に登録されているか否かを判定することにより、情報処理装置の起動順序に関係しない情報か否かを判定する。取得した起動優先度の関係を示す情報が除外リスト２７に登録されている場合には、ステップＳ３２に戻る。取得した起動優先度の関係を示す情報が除外リスト２７に登録されていない場合には、ステップＳ３５へ移行する。
【００５６】
ステップＳ３５では、制御部２６が、図１３に示す管理テーブル更新処理を実行する。
【００５７】
図１３に示す管理テーブル更新処理のステップＳ４１で、制御部２６が、上記ステップＳ３２で取得された通知が、起動優先度の関係を示す情報の通知か、または電源停止情報の通知かを判定する。起動優先度の関係を示す情報の通知の場合には、ステップＳ４２へ移行し、電源停止情報の通知の場合には、ステップＳ４８へ移行する。
【００５８】
ステップＳ４２では、制御部２６が、起動優先度の関係を示す情報に含まれる起動優先度が高い情報処理装置または起動優先度が低い情報処理装置の情報が、管理テーブル２８に未登録か否かを判定する。未登録の場合には、ステップＳ４３へ移行し、登録済みの場合には、ステップＳ４４へ移行する。
【００５９】
ステップＳ４３では、制御部２６が、管理テーブル２８に未登録の情報処理装置のＩＰアドレスを、起動優先度の関係を示す情報から取得し、管理テーブル２８に登録し、情報処理装置番号を付与する。例えば、現在の各情報処理装置の起動優先度の状態が、図７及び図８であり、取得された起動優先度の関係を示す情報が、図３に示すものであったとする。この場合、図７に示す管理テーブル２８に、ＩＰアドレスが「192.168.10.2」の情報処理装置は登録されていない。そこで、制御部２６は、図１４に示すように、管理テーブル２８にＩＰアドレスが「192.168.10.2」の情報処理装置の情報を登録し、情報処理装置番号「５」を付与すると共に、起動優先度を「１」に設定する。なお、図３に示す起動優先度の関係を示す情報に含まれるＩＰアドレスが「192.168.10.1」の情報処理装置は、図７に示す管理テーブル２８の情報処理装置０に該当するため、登録しない。
【００６０】
次に、ステップＳ４４で、制御部２６が、起動優先度の関係を示す情報を、管理テーブル２８に登録する。例えば、起動優先度の関係を示す情報に、起動優先度が低い情報処理装置として情報処理装置Ａの情報が含まれ、起動優先度が高い情報処理装置として情報処理装置Ｂの情報が含まれていたとする。この場合、制御部２６は、管理テーブル２８における情報処理装置Ａの「優先起動情報処理装置番号リスト」欄に、情報処理装置Ｂの情報処理装置番号を追加する。
【００６１】
より具体的に、上述の図３の起動優先度の関係を示す情報を取得して、図１４に示す管理テーブル２８の状態になっている場合について説明する。図３の起動優先度の関係を示す情報では、起動優先度が低い情報処理装置Ａは情報処理装置５であり、起動優先度が高い情報処理装置Ｂは情報処理装置０である。そのため、図１５に示すように、情報処理装置５の「優先起動情報処理装置番号リスト」欄に「０」を追加する。
【００６２】
次に、ステップＳ４５で、制御部２６が、管理テーブル２８において、情報処理装置Ｂの起動優先度が、情報処理装置Ａの起動優先度より大きいか否かを判定する。情報処理装置Ｂの起動優先度＞情報処理装置Ａの起動優先度の場合には、取得した起動優先度の関係を示す情報と、管理テーブル２８に登録されている情報とが整合しているため、管理テーブル更新処理を終了し、図１２に示す起動制御処理へリターンする。
【００６３】
一方、情報処理装置Ｂの起動優先度≦情報処理装置Ａの起動優先度の場合には、取得した起動優先度の関係を示す情報と、管理テーブル２８に登録されている情報とが整合していないことを表す。そこで、ステップＳ４６へ移行し、制御部２６が、情報処理装置Ｂの起動優先度が情報処理装置Ａの起動優先度より高くなるように更新する。例えば、情報処理装置Ｂの起動優先度を、情報処理装置Ａの起動優先度に１加算した値に更新する。
【００６４】
上記ステップＳ４４〜Ｓ４６で、取得した起動優先度の関係を示す情報に基づく管理テーブル２８の更新を行った場合には、取得した起動優先度の関係を示す情報に含まれる情報処理装置間の起動優先度の整合性は図られる。しかし、図１６に示すように、取得した起動優先度の関係を示す情報に含まれる情報処理装置間の起動優先度を更新することにより、制御対象の情報処理装置全体での起動優先度の整合がとれなくなってしまう場合がある。
【００６５】
そこで、ステップＳ４７で、制御部２６が、図１７に示す起動優先度整合処理（Ｂ）を実行する。なお、「（Ｂ）」は、取得した起動優先度の関係を示す情報に含まれる起動優先度が高い情報処理装置Ｂを基準に行われる起動優先度整合処理であることを表す。
【００６６】
図１７に示す起動優先度整合処理のステップＳ５１で、制御部２６が、変数Ｘに情報処理装置Ｂの情報処理装置番号を設定する。また、制御部２６が、変数Ｙ（ｉ）に、管理テーブル２８の情報処理装置Ｘの優先起動情報処理装置番号リストに登録されている情報処理装置番号を設定する。なお、ｉはｉ＝１，２，・・・，ｓｉｚｅ（ｉ）であり、ｓｉｚｅ（ｉ）は、優先起動情報処理装置番号リストに登録されている情報処理装置番号の個数である。ここでは、Ｘ＝０、Ｙ（１）＝１、Ｙ（２）＝２が設定される。
【００６７】
次に、ステップＳ５２で、制御部２６が、Ｙ（ｉ）に設定された値があるか否かを判定する。Ｙ（ｉ）に設定された値がない場合には、上記ステップＳ４４〜Ｓ４６の処理で、他の情報処理装置の起動優先度に影響を与えないため、そのまま図１３に示す管理テーブル更新処理へリターンする。ここでは、Ｙ（ｉ）に設定された値があるため、ステップＳ５３へ移行する。
【００６８】
ステップＳ５３では、制御部２６が、変数ｉに１をセットし、変数ｉがｓｉｚｅ（ｉ）になるまで、変数ｉを１インクリメントしながら、ステップＳ５４〜Ｓ５６の比較ループを実行する。
【００６９】
ステップＳ５４では、制御部２６が、管理テーブル２８において、情報処理装置Ｙ（ｉ）の起動優先度が、情報処理装置Ｘの起動優先度より大きいか否かを判定する。情報処理装置Ｙ（ｉ）の起動優先度≦情報処理装置Ｘの起動優先度の場合には、情報処理装置全体の起動優先度が整合していないことを表す。そこで、ステップＳ５５へ移行し、制御部２６が、情報処理装置Ｙ（ｉ）の起動優先度が情報処理装置Ｘの起動優先度より高くなるように更新する。例えば、情報処理装置Ｙ（ｉ）の起動優先度を、情報処理装置Ｘの起動優先度に１加算した値に更新する。
【００７０】
次に、ステップＳ５６で、制御部２６が、起動優先度整合処理（Ｙ（ｉ））を実行する。起動優先度整合処理（Ｙ（ｉ））は、ステップＳ５１において、Ｘに情報処理装置Ｙ（ｉ）の情報処理装置番号を設定する点を除けば、図１７に示す起動優先度整合処理（Ｂ）と同様である。
【００７１】
一方、ステップＳ５４で、情報処理装置Ｙ（ｉ）の起動優先度＞情報処理装置Ｘの起動優先度と判定された場合には、ステップＳ５５及びＳ５６はスキップする。
【００７２】
変数ｉがｓｉｚｅ（ｉ）になった場合には、ステップＳ５３の比較ループを終了して、図１３に示す管理テーブル更新処理へリターンする。これにより、管理テーブル２８が、図１８に示すように更新される。図１８に示す管理テーブル２８に登録された情報は、図１９に示すように、制御対象の全情報処理装置間での起動優先度の整合性がとれた状態を表す。
【００７３】
一方、図１３に示す管理テーブル更新処理のステップＳ４８では、制御部２６が、管理テーブル２８において、取得された電源停止情報が示す情報処理装置の「優先起動情報処理装置番号リスト」の情報を削除すると共に、「起動優先度」を１に設定する。これにより、各情報処理装置の起動直後に行われたスリーウェイハンドシェイク接続時における通信に基づいて判定された起動優先度の関係が管理テーブル２８に登録されることになるため、より確実な管理テーブル２８の更新を行うことができる。
制御部２６は、複数の情報処理装置を起動する際には、上記のように更新された管理テーブル２８に登録された起動優先度が高い順に、各情報処理装置を起動するように制御する。
【００７４】
以上説明したように、本実施形態に係る起動制御システムによれば、情報処理装置間の通信から情報処理装置間の起動優先度の関係を取得し、情報処理装置間の起動優先度の関係に基づいて、情報処理装置の起動優先度を管理する。そのため、制御対象の情報処理装置数が増加した場合でも、人手に依ることなく、通信の開始処理に配慮した複数の情報処理装置の起動順序を制御することができる。
【００７５】
なお、上記実施形態では、通信監視部が、情報処理装置間の起動優先度の関係を判定する場合について説明したが、これに限定されない。例えば、通信監視部は、検知した情報処理装置間の通信の内容を示す情報を、起動優先度の関係を判定することなく起動制御装置へ通知してもよい。この場合、通知取得部が、通信の内容を示す情報を取得し、取得した通信の内容を示す情報に基づいて、情報処理装置間の起動優先度の関係を判定して、起動優先度の関係を示す情報を取得することができる。この場合、元々スイッチ等が備えるネットワークの通信を監視する機能を、通信監視部として利用することができる。これにより、起動優先度の関係を判定する機能を別途スイッチ等に持たせる必要がなく、簡易な設定のみで、現状システムへ開示の技術を適用することができる。
【００７６】
一方、実施形態のように、スイッチ等に配置された通信監視部が、起動優先度の関係を判定する場合には、処理負荷を分散することができ、起動制御装置の処理負荷を低減することができる。また、通信監視部と起動制御装置との間のトラフィック量を低減することができる。
【００７７】
また、上記では、起動制御プログラム５０が記憶部４６に予め記憶（インストール）されている態様を説明したが、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録された形態で提供することも可能である。
【００７８】
以上の実施形態に関し、更に以下の付記を開示する。
【００７９】
（付記１）
コンピュータに、
複数の情報処理装置間の通信接続を開始するときの通信処理に関する情報を取得し、
取得した前記通信処理に関する情報に基づいて、前記複数の情報処理装置を起動する際に、前記接続の開始の要求を送信した情報処理装置よりも、前記要求に対して応答を送信した情報処理装置が先に起動されるように制御する
ことを含む処理を実行させるための起動制御プログラム。
【００８０】
（付記２）
前記コンピュータに、取得した前記通信処理に関する情報のうち、情報処理装置の起動順序に関係しない情報が、起動制御で使用されないように除外することを含む処理を実行させるための付記１記載の起動制御プログラム。
【００８１】
（付記３）
前記コンピュータに、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視して、前記通信処理に関する情報を有する通信を検知し、前記通信処理に関する情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定する通信監視部から、前記通信処理に関する情報として、前記通信監視部により判定された起動優先度の関係を示す情報を取得することを含む処理を実行させるための付記１または付記２記載の起動制御プログラム。
【００８２】
（付記４）
前記コンピュータに、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視する通信監視部から、前記通信処理に関する情報として、前記複数の情報処理装置間の通信の内容を示す情報を取得し、前記通信の内容を示す情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定することを含む処理を実行させるための付記１または付記２記載の起動制御プログラム。
【００８３】
（付記５）
前記コンピュータに、過去に前記通信監視部から取得済みの前記通信処理に関する情報と同一の情報を取得しないようにすることを含む処理を実行させるための付記３または付記４記載の起動制御プログラム。
【００８４】
（付記６）
前記コンピュータに、前記通信処理に関する情報を、スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報とすることを含む処理を実行させるための付記１〜付記５のいずれか１つに記載の起動制御プログラム。
【００８５】
（付記７）
前記コンピュータに、前記複数の情報処理装置の各々に配置され、前記複数の情報処理装置の各々の電源が停止したか否かを監視する電源監視部から、電源が停止した情報処理装置の情報を取得し、
取得した前記電源が停止した情報処理装置の情報が示す情報処理装置について、前記電源が停止した情報処理装置の情報が取得された後初めて取得した前記スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報を、前記通信処理に関する情報として使用する
ことを含む処理を実行させるための付記６記載の起動制御プログラム。
【００８６】
（付記８）
複数の情報処理装置間の通信処理を開始するときの通信処理に関連する情報を取得する取得部と、
前記取得部により取得された前記通信処理に関する情報に基づいて、前記複数の情報処理装置を起動する際に、前記接続の開始の要求を送信した情報処理装置よりも、前記要求に対して応答を送信した情報処理装置が先に起動されるように制御する制御部と、
を含む起動制御装置。
【００８７】
（付記９）
前記取得部により取得された前記通信処理に関する情報のうち、情報処理装置の起動順序に関係しない情報が、起動制御で使用されないように除外する除外部を含む付記７記載の起動制御装置。
【００８８】
（付記１０）
前記取得部は、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視して、前記通信処理に関する情報を有する通信を検知し、前記通信処理に関する情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定する通信監視部から、前記通信処理に関する情報として、前記通信監視部により判定された起動優先度の関係を示す情報を取得する付記８または付記９記載の起動制御装置。
【００８９】
（付記１１）
前記取得部は、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視する通信監視部から、前記通信処理に関する情報として、前記複数の情報処理装置間の通信の内容を示す情報を取得し、前記通信の内容を示す情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定する付記８または付記９記載の起動制御装置。
【００９０】
（付記１２）
前記取得部は、過去に前記通信監視部から取得済みの前記通信処理に関する情報と同一の情報を取得しない付記１０または付記１１記載の起動制御装置。
【００９１】
（付記１３）
前記通信処理に関する情報を、スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報とした付記８〜付記１２のいずれか１つに記載の起動制御装置。
【００９２】
（付記１４）
前記取得部は、前記複数の情報処理装置の各々に配置され、前記複数の情報処理装置の各々の電源が停止したか否かを監視する電源監視部から、電源が停止した情報処理装置の情報を取得し、
前記制御部は、取得した前記電源が停止した情報処理装置の情報が示す情報処理装置について、前記電源が停止した情報処理装置の情報が取得された後初めて取得した前記スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報を、前記通信処理に関する情報として使用する
付記１３記載の起動制御装置。
【００９３】
（付記１５）
コンピュータに、
複数の情報処理装置間の通信接続を開始するときの通信処理に関する情報を取得し、
取得した前記通信処理に関する情報に基づいて、前記複数の情報処理装置を起動する際に、前記接続の開始の要求を送信した情報処理装置よりも、前記要求に対して応答を送信した情報処理装置が先に起動されるように制御する
ことを含む処理を実行させる起動制御方法。
【００９４】
（付記１６）
前記コンピュータに、取得した前記通信処理に関する情報のうち、情報処理装置の起動順序に関係しない情報が、起動制御で使用されないように除外することを含む処理を実行させる付記１５記載の起動制御方法。
【００９５】
（付記１７）
前記コンピュータに、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視して、前記通信処理に関する情報を有する通信を検知し、前記通信処理に関する情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定する通信監視部から、前記通信処理に関する情報として、前記通信監視部により判定された起動優先度の関係を示す情報を取得することを含む処理を実行させる付記１５または付記１６記載の起動制御方法。
【００９６】
（付記１８）
前記コンピュータに、複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視する通信監視部から、前記通信処理に関する情報として、前記複数の情報処理装置間の通信の内容を示す情報を取得し、前記通信の内容を示す情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定することを含む処理を実行させる付記１５または付記１６記載の起動制御方法。
【００９７】
（付記１９）
前記コンピュータに、過去に前記通信監視部から取得済みの前記通信処理に関する情報と同一の情報を取得しないようにすることを含む処理を実行させる付記１７または付記１８記載の起動制御方法。
【００９８】
（付記２０）
前記コンピュータに、前記通信処理に関する情報を、スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報とすることを含む処理を実行させる付記１５〜付記１９のいずれか１つに記載の起動制御方法。
【００９９】
（付記２１）
前記コンピュータに、前記複数の情報処理装置の各々に配置され、前記複数の情報処理装置の各々の電源が停止したか否かを監視する電源監視部から、電源が停止した情報処理装置の情報を取得し、
取得した前記電源が停止した情報処理装置の情報が示す情報処理装置について、前記電源が停止した情報処理装置の情報が取得された後初めて取得した前記スリーウェイハンドシェイク接続時における通信に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置とを特定した情報を、前記通信処理に関する情報として使用する
ことを含む処理を実行させる付記２０記載の起動制御方法。
【０１００】
（付記２２）
複数の情報処理装置間の通信経路上に配置され、前記複数の情報処理装置間の通信を監視して、前記通信処理に関する情報を有する通信を検知し、前記通信処理に関する情報に基づいて、前記要求を送信した情報処理装置と前記要求に対して応答を送信した情報処理装置との間の起動優先度の関係を判定する通信監視部と、
前記通信監視部から、前記起動優先度の関係を示す情報を取得する取得部と、前記取得部により取得された起動優先度の関係を示す情報に基づいて、前記複数の情報処理装置を起動する際に、前記接続の開始の要求を送信した情報処理装置よりも、前記要求に対して応答を送信した情報処理装置が先に起動されるように制御する制御部と、を含む起動制御装置と、
を含む起動制御システム。
【符号の説明】
【０１０１】
１０  起動制御システム
２０  起動制御装置
２１  通信監視部
２２  通知済みリスト
２３  電源監視部
２４  通知取得部
２５  除外リスト判定部
２６  制御部
２７  除外リスト
２８  管理テーブル
３０  物理計算機
３２１，３２２  仮想計算機
４０  コンピュータ
４２  ＣＰＵ
４６  記憶部
【図１】
2015095151.tif 000003
【図２】
2015095151.tif 000004
【図３】
2015095151.tif 000005
【図４】
2015095151.tif 000006
【図５】
2015095151.tif 000007
【図６】
2015095151.tif 000008
【図７】
2015095151.tif 000009
【図８】
2015095151.tif 000010
【図９】
2015095151.tif 000011
【図１０】
2015095151.tif 000012
【図１１】
2015095151.tif 000013
【図１２】
2015095151.tif 000014
【図１３】
2015095151.tif 000015
【図１４】
2015095151.tif 000016
【図１５】
2015095151.tif 000017
【図１６】
2015095151.tif 000018
【図１７】
2015095151.tif 000019
【図１８】
2015095151.tif 000020
【図１９】
2015095151.tif 000021