(57)【特許請求の範囲】
【請求項１】
複数の情報処理装置と、複数の前記情報処理装置と接続するために複数の接続部を有する中継装置とを備える情報処理システムであって、
前記中継装置は、
前記複数の情報処理装置の各々に対して電力の供給を制御する電源制御部を備え、
前記複数の情報処理装置のうちいずれか一つの情報処理装置は、
前記情報処理システムの起動時に、前記複数の情報処理装置のうち少なくとも１つである第１の情報処理装置で起動が失敗したことを示した異常信号を受信する受信制御部と、
前記異常信号に基づいて第１の情報処理装置で起動が失敗したことを検出した場合に、前記第１の情報処理装置に電力の供給を停止させる第１の指示信号の要求を前記電源制御部に送信する送信制御部と、を備え、
前記送信制御部は、さらに、前記第１の情報処理装置に前記電力の供給を停止させた後に、前記第１の情報処理装置に電力の供給を開始させる第２の指示信号の要求を前記電源制御部に送信し、
前記受信制御部が、前記第２の指示信号を送信した後、前記第１の情報処理装置で起動が失敗したことを示した異常信号を受信した場合に、前記送信制御部は、前記第１の指示信号及び前記第２の指示信号の要求を前記電源制御部に送信しない、
情報処理システム。
【請求項２】
複数の情報処理装置と接続するために複数の第１の接続部を有する中継装置と、当該第１の接続部を介して接続するための第２の接続部と、
前記複数の情報処理装置の起動時に、複数の情報処理装置のうち少なくとも１つである第１の情報処理装置で起動が失敗したことを示した異常信号を受信する受信制御部と、
前記異常信号に基づいて前記第１の情報処理装置で起動が失敗したことを検出した場合に、前記第１の情報処理装置に電力の供給を停止させる第１の指示信号の要求を前記中継装置に送信する送信制御部と、を備え、
前記送信制御部は、さらに、前記第１の情報処理装置に前記電力の供給を停止させた後に、前記第１の情報処理装置に電力の供給を開始させる第２の指示信号の要求を前記中継装置に送信し、
前記受信制御部が、前記第２の指示信号を送信した後、前記第１の情報処理装置で起動が失敗したことを示した異常信号を受信した場合に、前記送信制御部は、前記第１の指示信号及び前記第２の指示信号の要求を前記中継装置に送信しない、
情報処理装置。
【請求項３】
複数の情報処理装置と接続するために複数の第１の接続部を有する中継装置と、当該第１の接続部を介して接続可能なコンピュータに、
前記複数の情報処理装置の起動時に、複数の情報処理装置のうち少なくとも１つである第１の情報処理装置で起動が失敗したことを示した異常信号を受信する受信ステップと、
前記異常信号に基づいて前記第１の情報処理装置で起動が失敗したことを検出した場合に、前記第１の情報処理装置に電力の供給を停止させる第１の指示信号の要求を前記中継装置に送信する第１の送信制御ステップと、
前記第１の情報処理装置に前記電力の供給を停止させた後に、前記第１の情報処理装置に電力の供給を開始させる第２の指示信号の要求を前記中継装置に送信する第２の送信制御ステップと、
前記第２の指示信号を送信した後、前記第１の情報処理装置で起動が失敗したことを示した異常信号を受信した場合に、前記第１の指示信号及び前記第２の指示信号の要求を前記中継装置に送信しない第３の送信制御ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理システム、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
ＰＣＩｅ等の拡張バスを有する中継装置と、拡張バスを介して互いに接続される複数の情報処理装置（例えば、プラットフォーム）と、を有する情報処理システムがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６５６６１５８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような情報処理システムにおいて、システム全体の起動時に、複数の情報処理装置のうち少なくとも１つに、何らかの理由によって起動が失敗する可能性がある。情報処理装置の起動が失敗した場合、情報処理システム全体を再起動させるには処理負担が大きい。このため、起動が失敗した情報処理装置に対して適切な制御を行うのが好ましい。
【課題を解決するための手段】
【０００５】
本発明の第１態様に係る情報処理システムは、複数の情報処理装置と、複数の前記情報処理装置と接続するために複数の接続部を有する中継装置とを備える情報処理システムであって、前記中継装置は、前記複数の情報処理装置の各々に対して電力の供給を制御する電源制御部を備え、前記複数の情報処理装置のうちいずれか一つの情報処理装置は、前記情報処理システムの起動時に、前記複数の情報処理装置のうち少なくとも１つである第１の情報処理装置で起動が失敗したことを示した異常信号を受信する受信制御部と、前記異常信号に基づいて第１の情報処理装置で起動が失敗したことを検出した場合に、前記第１の情報処理装置に電力の供給を停止させる第１の指示信号の要求を前記電源制御部に送信する送信制御部と、を備え、前記送信制御部は、さらに、前記第１の情報処理装置に前記電力の供給を停止させた後に、前記第１の情報処理装置に電力の供給を開始させる第２の指示信号の要求を前記電源制御部に送信し、前記受信制御部が、前記第２の指示信号を送信した後、前記第１の情報処理装置で起動が失敗したことを示した異常信号を受信した場合に、前記送信制御部は、前記第１の指示信号及び前記第２の指示信号の要求を前記電源制御部に送信しない。
【０００６】
本発明の第２態様に係る情報処理装置は、複数の情報処理装置と接続するために複数の第１の接続部を有する中継装置と、当該第１の接続部を介して接続するための第２の接続部と、前記複数の情報処理装置の起動時に、複数の情報処理装置のうち少なくとも１つである第１の情報処理装置で起動が失敗したことを示した異常信号を受信する受信制御部と、前記異常信号に基づいて前記第１の情報処理装置で起動が失敗したことを検出した場合に、前記第１の情報処理装置に電力の供給を停止させる第１の指示信号の要求を前記中継装置に送信する送信制御部と、を備え、前記送信制御部は、さらに、前記第１の情報処理装置に前記電力の供給を停止させた後に、前記第１の情報処理装置に電力の供給を開始させる第２の指示信号の要求を前記中継装置に送信し、前記受信制御部が、前記第２の指示信号を送信した後、前記第１の情報処理装置で起動が失敗したことを示した異常信号を受信した場合に、前記送信制御部は、前記第１の指示信号及び前記第２の指示信号の要求を前記中継装置に送信しない。
【０００７】
本発明の第３態様に係るプログラムは、複数の情報処理装置と接続するために複数の第１の接続部を有する中継装置と、当該第１の接続部を介して接続可能なコンピュータに、前記複数の情報処理装置の起動時に、複数の情報処理装置のうち少なくとも１つである第１の情報処理装置で起動が失敗したことを示した異常信号を受信する受信ステップと、前記異常信号に基づいて前記第１の情報処理装置で起動が失敗したことを検出した場合に、前記第１の情報処理装置に電力の供給を停止させる第１の指示信号の要求を前記中継装置に送信する第１の送信制御ステップと、前記第１の情報処理装置に前記電力の供給を停止させた後に、前記第１の情報処理装置に電力の供給を開始させる第２の指示信号の要求を前記中継装置に送信する第２の送信制御ステップと、前記第２の指示信号を送信した後、前記第１の情報処理装置で起動が失敗したことを示した異常信号を受信した場合に、前記送信制御部は、前記第１の指示信号及び前記第２の指示信号の要求を前記中継装置に送信しない第３の送信制御ステップと、を実行させる。
【発明の効果】
【０００８】
本発明の上記態様によれば、第１の情報処理装置に電力の供給を停止させることができるので、情報処理装置の適切な利用を実現できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る情報処理システムの全体構成の一例を示す図である。
【図２】図２は、実施形態に係る情報処理システムの各装置のハードウェア構成の一例を示す図である。
【図３】図３は、実施形態に係る情報処理システムの電源構成の一例を示す図である。
【図４】図４は、実施形態に係る情報処理システムの起動時における処理を示したシーケンス図である。
【図５】図５は、実施形態に係るメインプラットフォームの監視プログラムの処理を示したフローチャートである。
【図６】図６は、実施形態にかかる監視プログラムの検出部が行う要求の生成処理を示したフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる情報処理システム、情報処理装置及びプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【００１１】
図１は、本実施形態に係る情報処理システム１の全体構成の一例を示す図である。情報処理システム１は、メインプラットフォーム（情報処理装置の一例）１０−１と、複数のサブプラットフォーム（複数の情報処理装置の一例）１０−２〜１０−８と、中継装置３０と、を備えている。メインプラットフォーム１０−１と、複数のサブプラットフォームと、の間は、中継装置３０を介して通信可能に接続されている。なお、メインプラットフォーム１０−１と、複数のサブプラットフォーム１０−２〜１０−８と、の組み合わせについてはプラットフォーム１０−１〜１０−８と称する。なお、本実施形態は一例として示したものであって、サブプラットフォーム、スロットおよびエンドポイントの数は適宜変更してよい。
【００１２】
プラットフォーム１０−１〜１０−８は、中継装置３０を介して、通信可能に接続されている。プラットフォーム１０−１〜１０−８は、例えば、中継装置３０が設けられたボード上のスロットに挿入される。また、複数のスロットのうち、何れかのスロットは、プラットフォーム１０−１〜１０−８が挿入されていない空き状態であってもよい。以下の説明では、各プラットフォーム１０−１〜１０−８を区別する必要がなく、任意のプラットフォーム１０−１〜１０−８を示す場合には、プラットフォーム１０と記載する。
【００１３】
プラットフォーム１０−１は、プラットフォーム１０−２〜１０−８を管理して、プラットフォーム１０−２〜１０−８に各種処理を実行させるメインの情報処理装置である。
【００１４】
プラットフォーム１０−１には、モニタ２１と、入力装置２２とが接続されている。モニタ２１は、例えば液晶表示装置等の各種画面を表示する。入力装置２２は、例えばキーボードやマウス等の各種操作を受け付ける。
【００１５】
プラットフォーム１０−２〜１０−８は、プラットフォーム１０−１の要求に基づいて、例えばＡＩ（Artificial  Intelligence）推論処理や画像処理等を実行するサブの情報処理装置である。また、プラットフォーム１０−２〜１０−８は、それぞれが異なる機能を有していてもよい。
【００１６】
プラットフォーム１０−１〜１０−８は、ホスト側として動作可能なルートコンプレックス（ＲＣ：Root  Complex）１１−１〜１１−８を有する。プラットフォーム１０−１〜１０−８は、第２の接続部の一例とする。以下の説明では、各ルートコンプレックス１１−１〜１１−８を区別する必要がなく、任意のルートコンプレックス１１−１〜１１−８を示す場合には、ルートコンプレックス１１と記載する。
【００１７】
ルートコンプレックス１１は、中継装置３０の各エンドポイント３１−１〜３１−８との通信を実行する。すなわち、プラットフォーム１０と中継装置３０とは、ＰＣＩｅ（Peripheral  Component  Interconnect  Express）等の通信規格により通信可能に接続される。プラットフォーム１０と中継装置３０とは、ＰＣＩｅに限らず他の通信規格により接続されていてもよい。
【００１８】
中継装置３０は、複数のエンドポイント（ＥＰ：End  Point）３１−１〜３１−８を有する。エンドポイント３１−１〜３１−８は、第１の接続部の一例とする。また、中継装置３０は、エンドポイント３１−１〜３１−８に接続されたルートコンプレックス１１を有する複数のプラットフォーム１０間での通信を中継する。
【００１９】
エンドポイント３１−１〜３１−８は、プラットフォーム１０のルートコンプレックス１１との通信を実行する。以下の説明では、各エンドポイント３１−１〜３１−８を区別する必要がなく、任意のエンドポイント３１−１〜３１−８を示す場合には、エンドポイント３１と記載する。
【００２０】
次に、情報処理システム１の各装置のハードウェア構成について説明する。図２は、情報処理システム１の各装置のハードウェア構成の一例を示す図である。情報処理システム１は、各部に電源を供給するＰＳＵ（Power  Supply  Unit）４０を備えている。
【００２１】
ＰＳＵ４０は、例えば、マイクロコンピュータやマイクロコントローラと呼ばれる集積回路である。ＰＳＵ４０は、プラットフォーム１０−１〜１０−８及び中継装置３０のプロセッサ３２と接続されている。
【００２２】
情報処理システム１は、プラットフォーム１０−１〜１０−８を備えている。ここでは、プラットフォーム１０−１のハードウェア構成を例に説明し、同様の構成を備えているプラットフォーム１０−２〜１０−８については説明を省略する。
【００２３】
プラットフォーム１０−１は、ＡＩ処理や画像処理等の演算処理を行なうコンピュータである。プラットフォーム１０−１は、ルートコンプレックス１１−１と、プロセッサ１２−１と、メモリ１３−１と、を備える。また、これらは、バスを介して通信可能に接続される。
【００２４】
プロセッサ１２−１は、プラットフォーム１０−１全体を制御する。プロセッサ１２−１は、マルチプロセッサであってもよい。また、プロセッサ１２−１は、例えばＣＰＵ（Central  Processing  Unit），ＭＰＵ（Micro  Processing  Unit），ＧＰＵ（Graphics  Processing  Unit），ＤＳＰ（Digital  Signal  Processor），ＡＳＩＣ（Application  Specific  Integrated  Circuit），ＰＬＤ（Programmable  Logic  Device），ＦＰＧＡ（Field  Programmable  Gate  Array）のいずれか一つであってもよい。また、プロセッサ１２は、ＣＰＵ，ＭＰＵ，ＧＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡのうちの２種類以上の要素の組み合わせであってもよい。以下の説明では、プロセッサ１２−１〜１２−８を区別する必要がなく、任意のプロセッサ１２−１〜１２−８を示す場合には、プロセッサ１２と記載する。
【００２５】
メモリ１３−１は、ＲＯＭ（Read  Only  Memory）およびＲＡＭ（Random  Access  Memory）を含む記憶メモリである。メモリ１３−１のＲＯＭには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ１３−１上のソフトウェアプログラムは、プロセッサ１２に適宜読み込まれて実行される。また、メモリ１３−１のＲＡＭは、一次記憶メモリあるいはワーキングメモリとして利用される。以下の説明では、メモリ１３−１〜１３−８を区別する必要がなく、任意のメモリ１３−１〜１３−８を示す場合には、メモリ１３と記載する。
【００２６】
プラットフォーム１０においては、プロセッサ１２がメモリ１３に格納されたソフトウェアプログラムを実行することで各種機能を実現する。
【００２７】
なお、上記の各種ソフトウェアプログラムは、必ずしもメモリ１３に記憶されている必要はない。例えば、媒体読取装置等が読み取り可能な記憶媒体に記憶されたプログラムを、プラットフォーム１０が読み出して実行するようにしてもよい。プラットフォーム１０が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの情報処理プログラムを記憶させておき、プラットフォーム１０がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
【００２８】
次に、中継装置３０について説明する。中継装置３０は、プラットフォーム１０毎に設けられたエンドポイント３１−１〜３１−８と、プロセッサ３２と、メモリ３３と、記憶部３４と、内部バス３５と、ＰＣＩｅバス３６と、電源制御部３７と、を備える。以下の説明では、各エンドポイント３１−１〜３１−８を区別する必要がなく、任意のエンドポイント３１−１〜３１−８を示す場合には、エンドポイント３１と記載する。
【００２９】
エンドポイント３１は、プラットフォーム１０毎に設けられ、データの送受信を実行する。例えば、エンドポイント３１は、接続されたプラットフォーム１０からデータを受信した場合に、ＰＣＩｅバス３６を介して、送信先のプラットフォーム１０に接続されたエンドポイント３１に受信したデータを送信する。
【００３０】
例えば、ルートコンプレックス１１は、ＤＭＡ（Direct  Memory  Access）転送により他のプラットフォーム１０にデータを送信する。また、エンドポイント３１は、データの送信元のプラットフォーム１０に接続されたエンドポイント３１から、ＰＣＩｅバス３６を介してデータを受信した場合に、接続されたプラットフォーム１０に受信したデータを送信する。
【００３１】
プロセッサ３２は、中継装置３０全体を制御する。プロセッサ３２は、マルチプロセッサであってもよい。また、プロセッサ３２は、例えばＣＰＵ，ＭＰＵ，ＧＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡのいずれか一つであってもよい。また、プロセッサ３２は、ＣＰＵ，ＭＰＵ，ＧＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡのうちの２種類以上の要素の組み合わせであってもよい。
【００３２】
メモリ３３は、ＲＯＭ、及びＲＡＭを含む記憶装置である。ＲＯＭには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ３３に記憶されたプログラムは、プロセッサ３２に読み込まれて実行される。また、ＲＡＭは、ワーキングメモリとして利用される。
【００３３】
記憶部３４は、ハードディスクドライブ、ＳＳＤ、ストレージクラスメモリ等の記憶装置であって、種々のデータを格納するものである。例えば、記憶部３４には各種ソフトウェアプログラムが記憶される。
【００３４】
内部バス３５は、プロセッサ３２、メモリ３３、記憶部３４、及びＰＣＩｅバス３６を通信可能に接続する。
【００３５】
ＰＣＩｅバス３６は、複数のエンドポイント３１、及び内部バス３５を通信可能に接続する。すなわち、ＰＣＩｅバス３６は、複数のエンドポイント３１間でデータを転送可能に接続する。また、ＰＣＩｅバス３６は、例えばＰＣＩｅ規格に準拠したバスである。
【００３６】
電源制御部３７は、ＰＳＵ４０に対する制御を行い、プラットフォーム１０への電力の供給を制御する。電源制御部３７は、情報処理システム１の起動時に、プラットフォーム１０及び中継装置３０の各々に電力の供給が開始されるように制御する。さらに、メインプラットフォーム１０−１からの制御に従って、サブプラットフォーム１０−２〜１０−８に対する電源オフ制御、及び電源オン制御も行う。
【００３７】
次に、情報処理システム１における電源制御について説明する。図３は、本実施形態に係る情報処理システム１の電源構成の一例を示す図である。
【００３８】
情報処理システム１は、情報処理システム１の電源状態を変更する操作を受け付ける電源ボタン５０を備えている。電源ボタン５０は、情報処理システム１を起動する操作と、シャットダウンする操作と、強制シャットダウンする操作とを受け付ける操作部である。例えば、電源ボタン５０は、情報処理システム１がシャットダウンされている状態での押下を、情報処理システム１を起動する操作として受け付ける。また、電源ボタン５０は、情報処理システム１が起動している状態での押下を、情報処理システム１をシャットダウンする操作として受け付ける。
【００３９】
また、情報処理システム１は、電源ボタン５０に限らず、他の方法により情報処理システム１をシャットダウンさせる操作を受け付けてもよい。例えば、情報処理システム１は、メインプラットフォーム１０−１のＯＳ（Operating  System）の画面で、情報処理システム１をシャットダウンさせる操作を受け付けてもよい。
【００４０】
中継装置３０は、情報処理システム１の電源を供給するＰＳＵ４０を制御する電源制御部３７を備えている。
【００４１】
電源制御部３７は、メインプラットフォーム１０−１、サブプラットフォーム１０−２〜１０−８の各々に対して、ＰＳＵ４０を用いた電力の供給を制御する。電源制御部３７は、例えばマイクロコンピュータである。
【００４２】
また、電源制御部３７は、マイクロコンピュータに限らず、例えばＣＰＵ，ＭＰＵ，ＧＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡのいずれか一つであってもよい。また、電源制御部３７は、ＣＰＵ，ＭＰＵ，ＧＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡのうちの２種類以上の要素の組み合わせであってもよい。
【００４３】
電源制御部３７は、ＣＰＵ、ＭＰＵ等のプロセッサが電源制御部３７のメモリに記憶されるソフトウェアプログラムを実行することによって、図３に示す機能を実現する。具体的には、電源制御部３７は、操作入力部３１１、監視部３１２、表示処理部３１３、及び信号制御部３１４を実現する。
【００４４】
操作入力部３１１は、情報処理システム１の（図示しない）電源ボタンが受け付けた操作を示す電源ＳＷ入力信号を受け付ける。例えば、操作入力部３１１は、電源ＳＷ入力信号がＨｉｇｈ状態になった場合に、情報処理システム１を起動させる操作が入力されたと判定する。一方、Ｌｏｗ状態になった場合に、情報処理システム１をシャットダウンさせる操作が入力されたと判定する。
【００４５】
監視部３１２は、メインプラットフォーム１０−１と、サブプラットフォーム１０−２〜１０―８と、の状態を監視する。
【００４６】
例えば、監視部３１２は、メインプラットフォーム１０−１と、サブプラットフォーム１０−２〜１０―８と、の各々の電源状態を監視する。さらに、監視部３１２は、メインプラットフォーム１０−１と、サブプラットフォーム１０−２〜１０―８と、の各々で正常にＯＳの起動まで完了したか否かを監視する。
【００４７】
さらに、監視部３１２は、サブプラットフォーム１０−２〜１０―８の動作状態を、メインプラットフォーム１０−１に通知する。例えば、本実施形態の監視部３１２は、サブプラットフォーム１０−２〜１０―８の各々の起動が失敗したか否かを含むブートステータス情報を、後述する信号制御部３１４を介して、メインプラットフォーム１０−１に送信する。ブートステータス情報には、サブプラットフォーム１０−２〜１０―８の各々の起動が失敗したか否かの他に、情報処理システム１で起動完了した等の情報を含むものとする。
【００４８】
表示処理部３１３は、監視部３１２による監視結果に応じて、情報処理システム１に設けられた表示部４１にエラー情報を表示する。表示部４１は、エラーの場合に点灯する表示部であっても良いし、エラーを示す文字列を表示するための液晶パネル等であっても良い。
【００４９】
信号制御部３１４は、信号の送受信を制御する。例えば、信号制御部３１４は、監視部３１２かの要求及びメインプラットフォーム１０−１からの通知に応じて、ＰＳＵ４０やプラットフォーム１０に対して送信又は受信する信号を制御する。
【００５０】
例えば、信号制御部３１４は、監視部３１２の監視結果を、システム状態情報として所定時間毎に送信する。
【００５１】
例えば、信号制御部３１４は、サブプラットフォーム１０−２〜１０―８との間で電源オン／オフ信号等の信号を送受信し、ＰＳＵ４０との間で、ＰＳ＿ＯＮ＿ＰＭＵ＃信号等の信号を送受信する。
【００５２】
電源オン／オフ信号は、サブプラットフォーム１０−２〜１０―８の電源状態を切り替える信号である。更に詳しくは、電源オン／オフ信号は、サブプラットフォーム１０−２〜１０―８の電源のＯＮ状態と、ＯＦＦ状態とを切り替える信号である。サブプラットフォーム１０−２〜１０―８は、電源オン／オフ信号がＨｉｇｈ状態の場合に、電源オン状態となる。一方、サブプラットフォーム１０−２〜１０―８は、電源オン／オフ信号がＬｏｗ状態の場合に、電源オフ状態となる。なお、本実施形態では、電源オン／オフ信号がＨｉｇｈ状態の場合に、電源オン信号と称し、電源オン／オフ信号がＬｏｗ状態の場合に、電源オフ信号と称する。
【００５３】
ＰＳ＿ＯＮ＿ＰＭＵ＃信号は、１２Ｖの電源供給を切り替える信号である。更に詳しくは、ＰＳＵ４０は、ＰＳ＿ＯＮ＿ＰＭＵ＃信号がＬｏｗ状態の場合に、１２Ｖの電源を供給する。一方、ＰＳＵ４０は、ＰＳ＿ＯＮ＿ＰＭＵ＃信号がＨｉｇｈ状態の場合に、１２Ｖの電源を遮断する。
【００５４】
ＰＳ＿ＯＮ＿ＰＭＵ＃信号がＬｏｗ状態となった場合に、メインプラットフォーム１０−１と、サブプラットフォーム１０−２〜１０−８と、の各々について１２Ｖの電源が供給される。
【００５５】
メインプラットフォーム１０−１のプロセッサ１２−１は、情報処理システム１全体を制御する。プロセッサ１２−１は、メモリ１３−１に記憶される監視プログラム３５０を実行することによって、図３に示す機能を実現する。具体的には、プロセッサ１２−１は、監視プログラム３５０として、受信制御部３５１と、検出部３５２と、送信制御部３５３と、を実現する。そして、監視プログラム３５０は、サブプラットフォーム１０−２〜１０−８の起動状態に関する情報を受信し、当該情報に基づいて、中継装置３０を介して、サブプラットフォーム１０−２〜１０−８の制御を行う。
【００５６】
受信制御部３５１は、情報処理システム１の起動時に、中継装置３０から、サブプラットフォーム１０−２〜１０−８の起動状態に関するブートステータス情報を受信する。ブートステータス情報は、サブプラットフォーム１０−２〜１０―８の各々の起動状態が示されていて、例えば、ブートステータス情報には、サブプラットフォーム１０−２〜１０−８の各々で起動失敗したか否かが含まれている。
【００５７】
検出部３５２は、ブートステータス情報に基づいて、サブプラットフォーム１０−２〜１０−８を電源再起動させるか否かを検出する。
【００５８】
本実施形態においては、情報処理システム１を起動した際に、サブプラットフォーム１０−２〜１０−８（以下、サブプラットフォーム１０−２〜１０−８のうち起動が失敗したサブプラットフォームを、起動失敗サブプラットフォームと称する）のうちいずれか一つ以上において起動に失敗することがある。当該起動の失敗が、稀にしか生じず、そもそも異常が生じているか否かも不明な場合がある。このような場合は、起動失敗サブプラットフォームのＯＳが起動していないため、メインプラットフォーム１０−１からの要求に従って再起動させるのは難しい。そこで、本実施形態においては、起動失敗サブプラットフォームの強制終了を行って、電力の供給をオフにした後、再び電力の供給を開始することで、起動失敗サブプラットフォームに正常な起動を促すこととした。
【００５９】
また、本実施形態においては、起動失敗サブプラットフォームの電力の供給をオフにした後、再び電力の供給を開始する制御は、１回のみ行うこととした。これは、当該制御を２回行うと、情報処理システム１が使用開始できるまでの時間が遅くなる上に、２回も起動失敗した起動失敗サブプラットフォームは、明らかに異常が生じているという考えに基づくものである。
【００６０】
このように、検出部３５２は、ブートステータス情報に基づいて、サブプラットフォーム１０−２〜１０−８のうちいずれか１つの起動失敗がしていることを検出した場合に、当該起動失敗が１回目に限り、送信制御部３５３に電源のオフ・オン要求を行うように指示する。
【００６１】
送信制御部３５３は、検出部３５２からの指示に従って、起動失敗サブプラットフォームの電力の供給を停止させる電源オフ信号（第１の指示信号の一例）の要求を電源制御部３７に送信する。さらに、送信制御部３５３は、起動失敗サブプラットフォームに電力の供給を停止させた後に、起動失敗サブプラットフォームに電力の供給を開始させる電源オン信号（第２の指示信号の一例）の要求を電源制御部３７に送信する。
【００６２】
また、送信制御部３５３は、起動失敗サブプラットフォームに対して電源オン信号を送信した後、受信制御部３５１が、起動失敗サブプラットフォームで再び起動が失敗したことを示したブートステータス情報を受信した場合には、上述したように、電源オフ信号、及び電源オン信号の要求を、電源制御部３７に送信しないよう制御する。
【００６３】
次に、本実施形態の情報処理システム１全体の起動時のおける処理について説明する。図４は、本実施形態に係る情報処理システム１の起動時における処理を示したシーケンス図である。図４に示されるシーケンス図では、サブプラットフォーム１０−２において起動失敗したものとする。
【００６４】
電源制御部３７は、情報処理システム１の（図示しない）電源ボタンが受け付けた操作を示す電源ＳＷ入力信号を受け付ける（Ｓ４０１）。そして、電源制御部３７は、情報処理システム１の電源状態を確認する（Ｓ４０２）。図４に示される例では、情報処理システム１全体に１２Ｖの電源が供給されていないと判断する。
【００６５】
そこで、電源制御部３７は、ＰＳＵ４０に対して、ＰＳ＿ＯＮ＿ＰＭＵ＃信号をＬｏｗ状態に切り替えて、電源供給を開始させる指示を行う（Ｓ４０３）。
【００６６】
ＰＳＵ４０は、ＰＳ＿ＯＮ＿ＰＭＵ＃信号に従って、中継装置３０、メインプラットフォーム１０−１、電源制御部３７に対して１２Ｖの電源供給を開始する（Ｓ４０４〜Ｓ４０６）。
【００６７】
その後、電源制御部３７の信号制御部３１４は、中継装置３０に対して、起動状態の問い合わせを行う（Ｓ４０７）。そして、信号制御部３１４は、中継装置３０から、起動状態の応答を受け取る（Ｓ４０８）。図４で示されるシーケンス図では、中継装置３０は、正常に起動完了した場合とする。
【００６８】
監視部３１２は、メインプラットフォーム１０−１の接続状態を確認する（Ｓ４０９）。監視部３１２が、メインプラットフォーム１０−１が正常に接続されていると判定した場合に、信号制御部３１４が、起動開始指示を、メインプラットフォーム１０−１に対して通知する（Ｓ４１０）。
【００６９】
メインプラットフォーム１０−１は、当該起動開始指示に従って、電源をＯＮにする制御を行う（Ｓ４１１）。その後、メインプラットフォーム１０−１は、電源が正常にＯＮできた旨の応答を、電源制御部３７に通知する（Ｓ４１２）。
【００７０】
さらに、メインプラットフォーム１０−１は、起動処理を開始する（Ｓ４１３）。当該起動処理に従って、ＢＩＯＳ及びＯＳの起動が行われる。その際に、メインプラットフォーム１０−１の監視プログラム３５０も起動する。その後、メインプラットフォーム１０−１は、起動処理が終了する（Ｓ４１４）。そして、メインプラットフォーム１０−１は、起動処理が完了した旨の応答を、電源制御部３７に通知する（Ｓ４１５）。
【００７１】
監視部３１２は、サブプラットフォーム１０−２〜１０−８の接続状態を確認する（Ｓ４１６）。監視部３１２が、サブプラットフォーム１０−２〜１０−８が正常に接続されていると判定した場合に、信号制御部３１４が電源オン信号を、サブプラットフォーム１０−２〜１０−８に対して通知する（Ｓ４１７）。
【００７２】
監視部３１２は、さらに、サブプラットフォーム１０−２〜１０−８の動作を確認する（Ｓ４１８）。当該動作の確認には、例えば、サブプラットフォーム１０−２〜１０−８のファン等が正常に動作しているか否かを確認する等が含まれている。
【００７３】
監視部３１２が、サブプラットフォーム１０−２〜１０−８の動作が正常であると判定した場合に、信号制御部３１４が、起動開始指示を、サブプラットフォーム１０−２〜１０−８に対して通知する（Ｓ４１９）。
【００７４】
その後、情報処理システム１においては、サブプラットフォーム１０−２〜１０−８からの起動完了通知が受信するのを所定時間待機する（Ｓ４２０）。そして、電源制御部３７は、所定時間待機して、起動完了通知を送信しなかったサブプラットフォーム１０−２〜１０−８が存在する場合に、起動失敗したサブプラットフォームが存在することを示す“２×”を検出する（Ｓ４２１）。図４で示される例では、電源制御部３７は、当該起動完了通知を送信しなかったサブプラットフォーム１０−２を、起動失敗サブプラットフォーム１０−２とみなす。
【００７５】
そして、信号制御部３１４が、メインプラットフォーム１０−１に対して、起動失敗サブプラットフォーム１０−２を検出したことを示すブートステータス情報を送信（起動失敗の通知）する（Ｓ４２２）。
【００７６】
そして、メインプラットフォーム１０−１の監視プログラム３５０の受信制御部３５１が、起動失敗を示したブートステータス情報を受信した場合に、ブートステータス情報に応じた異常検出処理を行う（Ｓ４２３）。なお、具体的な処理については後述する。
【００７７】
そして、送信制御部３５３は、電源制御部３７に対して、電源オフ・オン要求（電源オフ信号を送信した後に、電源オン信号を送信する旨の要求）を電源制御部３７に送信する（Ｓ４２４）。
【００７８】
そして、電源制御部３７の信号制御部３１４は、メインプラットフォーム１０−１からの電源オフ・オン要求に基づいて、所定時間の電源オフ信号を、起動失敗サブプラットフォーム１０−２に送信し続ける（Ｓ４２５）。
【００７９】
起動失敗サブプラットフォーム１０−２では、強制終了が行われる（Ｓ４２６）。このように、サブプラットフォームにおいて、電源オフ信号を所定時間受信した場合には、強制終了が実行される。
【００８０】
そして、監視部３１２が、起動失敗サブプラットフォーム１０−２について電源状態を確認する（Ｓ４２７）。そして、監視部３１２が、電源状態に基づいて、起動失敗サブプラットフォーム１０−２の強制終了が完了したことを確認してから、信号制御部３１４が、電源オン信号を、起動失敗サブプラットフォーム１０−２に送信する（Ｓ４２８）。さらに、信号制御部３１４が、必要に応じて、起動開始指示の送信も行う。
【００８１】
その後、起動失敗サブプラットフォーム１０−２では、ＯＳ起動が行われた後（Ｓ４２９）、ドライバのロードが行われる（Ｓ４３０）。
【００８２】
その後、サブプラットフォーム１０−２は、起動が完了したことを示す起動完了通知を、電源制御部３７に送信する（Ｓ４３１）。
【００８３】
そして、電源制御部３７の信号制御部３１４は、起動失敗サブプラットフォームが正常に起動完了した旨を示した起動完了通知を、メインプラットフォーム１０−１に送信する（Ｓ４３２）。
【００８４】
上述した処理を行うことで、起動失敗したサブプラットフォームについて正常な起動を実現することができる。
【００８５】
次に、メインプラットフォーム１０−１の監視プログラム３５０の処理について説明する。図５は、本実施形態に係るメインプラットフォーム１０−１の監視プログラム３５０の処理を示したフローチャートである。
【００８６】
監視プログラム３５０の受信制御部３５１は、受信したブートステータス情報を、メインプラットフォーム１０−１のレジストリに、情報処理システム１のシステム状態情報として格納する。当該格納は、ブートステータス情報を受信する毎に行われる。
【００８７】
そして、検出部３５２は、レジストリの情報処理システム１のシステム状態情報を参照する（Ｓ５０１）。そして、検出部３５２は、システム状態情報にサブプラットフォーム１０−２〜１０−８の各々の起動状態が含まれており、起動監視が可能か否かを判定する（Ｓ５０２）。起動監視ができないと判定した場合（Ｓ５０２：Ｎｏ）、処理を終了する。
【００８８】
検出部３５２は、起動監視可能と判定した場合（Ｓ５０２：Ｙｅｓ）、システム状態情報から、システム状態を取得する（Ｓ５０３）。そして、検出部３５２は、システム状態がどのような状態であるかを判定する（Ｓ５０４）。検出部３５２は、“システム起動完了”したと判定した場合、処理を終了する。また、検出部３５２は、“システム起動処理中、またはメインプラットフォーム再起動中”と判定した場合、Ｓ５０６の処理に移行する。
【００８９】
また、検出部３５２は、“起動失敗”と判定した場合、電源制御部３７に対する要求の生成処理を行う（Ｓ５０５）。本実施形態では、例えば、情報処理システム１の起動が開始してから、所定時間経過した際に、サブプラットフォーム１０−２〜１０―８のうちいずれか一つ以上から起動完了通知を受信しなかった場合に、検出部３５２が“起動失敗”と判定する。
【００９０】
電源制御部３７に対する要求の生成処理について説明する。図６は、本実施形態にかかる検出部３５２が行う要求の生成処理を示したフローチャートである。
【００９１】
検出部３５２は、システム状態情報から、サブプラットフォーム１０−２〜１０−８の各々の電源状態を取得する（Ｓ６０１）。次に、検出部３５２は、システム状態情報から、サブプラットフォーム１０−２〜１０−８の各々の起動状態を取得する（Ｓ６０２）。これにより、検出部３５２は、起動失敗サブプラットフォームを特定できる。
【００９２】
検出部３５２は、起動失敗サブプラットフォームに対する電源オフ・オン要求を示す情報を生成する（Ｓ６０３）。
【００９３】
さらに、検出部３５２は、システム状態情報に、“サブボード再起動”に更新する（Ｓ６０４）。これにより、システム状態情報が、“起動失敗”から“サブボード再起動”に更新される。
【００９４】
図５に戻り、検出部３５２は、起動監視用１０秒タイマを設定する（Ｓ５０６）。つまり、本実施形態においては、システム起動が完了したか否かを１０秒間隔で監視する。
【００９５】
そして、検出部３５２は、設定されたタイマに従ってタイマイベント待ちを行う（Ｓ５０７）。
【００９６】
その後、検出部３５２は、タイマイベントに従って処理を開始する（Ｓ５０８）。そして、検出部３５２は、システム状態情報を参照する（Ｓ５０９）。
【００９７】
そして、検出部３５２は、システム状態がどのような状態であるかを判定する（Ｓ５１０）。システム状態が“異常パラメータ”の場合、処理を終了する。
【００９８】
一方、検出部３５２は、システム状態が“システム起動処理中、またはメインプラットフォーム再起動中”の場合、受信制御部３５１が受信した最新のブートステータス情報を取得する（Ｓ５１１）。そして、検出部３５２は、ブートステータス情報に基づいて、システム状態情報を更新する（Ｓ５１２）。
【００９９】
そして、検出部３５２は、更新された後のシステム状態がどのような状態であるかを判定する（Ｓ５１３）。検出部３５２は、“システム起動完了”したと判定した場合、処理を終了する。また、検出部３５２は、“システム起動処理中、またはメインプラットフォーム１０−１再起動中”と判定した場合、Ｓ５１５の処理に移行する。
【０１００】
Ｓ５１３において、検出部３５２は、“起動失敗”と判定した場合、電源制御部３７に対する要求の生成処理を行う（Ｓ５１４）。なお、当該要求の生成処理は、Ｓ５０５と同様として説明を省略する。
【０１０１】
その後、検出部３５２は、起動監視用１０秒タイマを設定する（Ｓ５１５）。そして、検出部３５２は、設定されたタイマに従ってタイマイベント待ちを行う（Ｓ５１６）。その後、再びＳ５０８から処理が行われる。
【０１０２】
一方、Ｓ５１０において、システム状態が“サブボード再起動”の場合、送信制御部３５３が、Ｓ５０５またはＳ５１４で生成された、起動失敗サブプラットフォームに対する電源オフ・オン要求を、電源制御部３７に送信し（Ｓ５１７）、処理を終了する。
【０１０３】
本実施形態においては、上述した制御を行うことで、起動失敗サブプラットフォームに対して電源をオフにした後、電源をオンにする制御を実現できる。上述したように、起動失敗サブプラットフォームに対する電源オフ・オン要求を、電源制御部３７に送信した後、処理を終了している。これにより、起動失敗サブプラットフォームに対する電源オフ・オン要求を一回だけ送信することができる。
【０１０４】
本実施形態においては、情報処理システム１が上述した構成を備えることで、起動失敗サブプラットフォームの強制終了で電源オフにするため、不要な電力の供給を抑止できる。さらにサブプラットフォームの適切な利用を実現できる。
【０１０５】
さらに、本実施形態においては、情報処理システム１が上述した構成を備えることで、起動失敗サブプラットフォームの強制終了で電源オフにした後、電源オンにすることで、まれに起動時にエラーが生じるようなサブプラットフォームの適切な利用を実現できる。
【０１０６】
本実施形態においては、情報処理システム１が上述した構成を備えることで、起動失敗サブプラットフォームについて、の強制終了で電源オフにした後、電源オンにする制御を一回のみ行うことで、情報処理システム１が利用できるまでの待機時間が長くなることを抑止できる。
【０１０７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０８】
１…情報処理システム、１０−１…メインプラットフォーム、１０−２〜１０−８…サブプラットフォーム、１１…ルートコンプレックス、３０…中継装置、３１…エンドポイント、３７…電源制御部、３１１…操作入力部、３１２…監視部、３１３…表示処理部、３１４…信号制御部、３５０…監視プログラム、３５１…受信制御部、３５２…検出部、３５３…送信制御部。
【要約】
【課題】情報処理装置の適切な利用を実現できる。
【解決手段】実施形態の情報処理システムは、複数の情報処理装置と、複数の情報処理装置と接続するために複数の接続部を有する中継装置とを備える情報処理システムであって、中継装置は、複数の情報処理装置の各々に対して電力の供給を制御する電源制御部を備え、情報処理システムは、情報処理システムの起動時に、複数の情報処理装置のうち少なくとも１つである第１の情報処理装置で起動が失敗したことを示した異常信号を受信する受信制御部と、異常信号に基づいて第１の情報処理装置で起動が失敗したことを検出した場合に、第１の情報処理装置に電力の供給を停止させる第１の指示信号の要求を電源制御部に送信する送信制御部と、を備える。
【選択図】図３【図１】
0006795782.tif 000002
【図２】
0006795782.tif 000003
【図３】
0006795782.tif 000004
【図４】
0006795782.tif 000005
【図５】
0006795782.tif 000006
【図６】
0006795782.tif 000007