(57)【特許請求の範囲】
【請求項１】
拡張バスを介した通信を中継する中継部を備える中継装置と、
それぞれが前記拡張バスに接続された複数の演算装置と、
第１のオペレーティングシステムを実行した状態で、前記拡張バスおよび前記中継部を介して前記複数の演算装置での演算処理を制御し、実行するオペレーティングシステムを第２のオペレーティングシステムに切り替え、前記複数の演算装置のうち一の演算装置のプログラムを書き替えて前記一の演算装置の動作を異常状態から正常化する情報処理装置と、
を有する情報処理システム。
【請求項２】
前記複数の演算装置と前記情報処理装置とを接続し、前記中継装置を経路上に含む信号線をさらに有し、
前記情報処理装置は、前記一の演算装置をプログラム書き替えのためのリカバリモードに遷移させるための制御信号を前記信号線を介して出力し、さらに前記一の演算装置が前記リカバリモードで起動するように前記一の演算装置に対して再起動を指示し、前記リカバリモードで再起動した前記一の演算装置に前記プログラムの書き替えを指示する、
請求項１記載の情報処理システム。
【請求項３】
前記情報処理装置は、
前記第１のオペレーティングシステムを実行した状態で、前記制御信号を前記一の演算装置に出力し、さらに前記一の演算装置に対して再起動を指示し、
前記一の演算装置に対して再起動を指示した後、実行するオペレーティングシステムを前記第２のオペレーティングシステムに切り替え、前記リカバリモードで再起動した前記一の演算装置に前記プログラムの書き替えを指示する、
請求項２記載の情報処理システム。
【請求項４】
前記情報処理装置は、実行するオペレーティングシステムを前記第２のオペレーティングシステムに切り替えた状態で、前記制御信号を前記一の演算装置に出力し、前記一の演算装置に対して再起動を指示し、前記リカバリモードで再起動した前記一の演算装置に前記プログラムの書き替えを指示する、
請求項２記載の情報処理システム。
【請求項５】
前記情報処理装置は、前記拡張バスを介して前記中継装置と接続するための第１のコネクタを有し、
前記複数の演算装置のそれぞれは、前記拡張バスを介して前記中継装置と接続するための第２のコネクタを有し、
前記中継装置は、前記拡張バスを介して前記情報処理装置と接続するための第３のコネクタと、前記拡張バスを介して前記複数の演算装置のそれぞれと接続するための第４のコネクタとを有し、
前記信号線は、前記第１、第２、第３および第４のコネクタにそれぞれ含まれる内部信号線のうち、前記中継部を介した通信で使用されない余剰の内部信号線として実現される、
請求項２乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
前記情報処理装置は、前記第２のオペレーティングシステムが記憶された可搬型記録媒体が前記情報処理装置に接続されると、前記可搬型記録媒体から前記第２のオペレーティングシステムを読み込むことで、実行するオペレーティングシステムを前記第２のオペレーティングシステムに切り替える、
請求項１乃至５のいずれか１項に記載の情報処理システム。
【請求項７】
前記複数の演算装置および前記情報処理装置のそれぞれは、前記拡張バスにおけるルートコンプレックスとして動作し、前記中継部は、前記各ルートコンプレックスにそれぞれ対応する、前記拡張バスにおけるエンドポイントとして動作するとともに、前記エンドポイント間の通信を中継する、
請求項１乃至６のいずれか１項に記載の情報処理システム。
【請求項８】
拡張バスを介した通信を中継する中継部を備える中継装置と、それぞれが前記拡張バスに接続された複数の演算装置と、前記拡張バスに接続された情報処理装置とを有する情報処理システムにおける情報処理方法であって、
前記情報処理装置が、
第１のオペレーティングシステムを実行した状態で、前記拡張バスおよび前記中継部を介して前記複数の演算装置での演算処理を制御し、
実行するオペレーティングシステムを第２のオペレーティングシステムに切り替え、前記複数の演算装置のうち一の演算装置のプログラムを書き替えて前記一の演算装置の動作を異常状態から正常化する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
近年、ＡＩ（Artificial Intelligence）推論処理や画像処理等の負荷の高い演算がパーソナルコンピュータ（Personal Computer：ＰＣ）をベースに実現されている。例えば、一般的なＰＣと同様の構成の情報処理装置と、ＡＩ処理を実行する複数の演算装置とが、中継装置を介して接続された情報処理システムが提案されている。この情報処理システムでは、情報処理装置の制御の下で各演算装置が協働することで、ＡＩ処理や画像処理が各演算装置によって分散実行される。また、中継装置は、情報処理装置と各演算装置との間の通信をＰＣＩ  Ｅｘｐｒｅｓｓ（Peripheral Component Interconnect Express：ＰＣＩｅ、登録商標）の拡張バスによって行い、これにより高速な通信が可能になっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６５３６７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記の演算装置における異常の発生等の理由から、演算装置のシステムデータを書き替えて演算装置をリカバリしたいという場合がある。しかし、リカバリに関する仕様は演算装置の機種やメーカごとに異なる。例えば、特定のＯＳ（Operating System）が動作する装置からの制御によってのみリカバリが可能な演算装置がある。
【０００５】
一方で、各演算装置が情報処理装置の制御の下で動作する構成では、情報処理装置からの制御によって演算装置をリカバリできる方が、リカバリ手順が単純になり、リカバリ作業を効率化できる。しかし、演算装置のリカバリを可能とするＯＳとは別のＯＳが情報処理装置で動作している場合があり、その場合には情報処理装置からの制御によって演算装置をリカバリできないという問題がある。
【０００６】
１つの側面では、本発明は、情報処理装置からの制御により演算装置をリカバリできるようにした情報処理システムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、拡張バスを介した通信を中継する中継部を備える中継装置と、それぞれが拡張バスに接続された複数の演算装置と、第１のオペレーティングシステムを実行した状態で、拡張バスおよび中継部を介して複数の演算装置での演算処理を制御し、実行するオペレーティングシステムを第２のオペレーティングシステムに切り替え、複数の演算装置のうち一の演算装置のシステムデータを書き替えて一の演算装置をリカバリする情報処理装置と、を有する情報処理システムが提供される。
【０００８】
また、１つの案では、上記情報処理システムの情報処理装置と同様の処理が実行される情報処理方法が提供される。
【発明の効果】
【０００９】
１つの側面では、情報処理装置からの制御により演算装置をリカバリできる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る情報処理システムの構成例および処理例を示す図である。
【図２】第２の実施の形態に係る情報処理システムの構成例を示す図である。
【図３】情報処理システムのエッジコンピューティングの適用例を示す図である。
【図４】情報処理システムの各装置のハードウェア構成例を示す図である。
【図５】情報処理システムにおける装置間の信号線の接続関係を示す図である。
【図６】装置間を接続するＰＣＩｅコネクタの構成例を示す図である。
【図７】情報処理システムが備える処理機能の構成例を示す図である。
【図８】演算装置のリカバリ処理手順の概略を示す図（その１）である。
【図９】演算装置のリカバリ処理手順の概略を示す図（その２）である。
【図１０】演算装置のリカバリ処理手順の例を示すシーケンス図である。
【図１１】第２の実施の形態の変形例における処理機能の構成例を示す図である。
【図１２】第３の実施の形態に係る情報処理システムが備える処理機能の構成例を示す図である。
【図１３】第３の実施の形態における演算装置のリカバリ処理手順の概略を示す図（その１）である。
【図１４】第３の実施の形態における演算装置のリカバリ処理手順の概略を示す図（その２）である。
【図１５】第３の実施の形態における演算装置のリカバリ処理手順の例を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る情報処理システムの構成例および処理例を示す図である。図１に示す情報処理システムは、情報処理装置１０、演算装置２０−１〜２０−３および中継装置３０を有する。なお、演算装置の台数は、２台、あるいは４台以上であれば、特に限定されない。
【００１２】
情報処理装置１０は、拡張バス１を介して中継装置３０に接続されている。また、演算装置２０−１〜２０−３は、それぞれ拡張バス２−１〜２−３を介して中継装置３０に接続されている。中継装置３０は、拡張バス１，２−１〜２−３を介して通信を中継する中継部３１を備えている。なお、拡張バス１，２−１〜２−３は、例えばＰＣＩｅバスである。
【００１３】
図１の上側に示すように、情報処理装置１０は、中継部３１を介した通信により演算装置２０−１〜２０−３での演算処理を制御する。演算装置２０−１〜２０−３は、情報処理装置１０の制御の下で演算処理を実行する。例えば、演算装置２０−１〜２０−３は、情報処理装置１０の制御の下で、ＡＩ推論処理や画像処理を実行する。情報処理装置１０による演算装置２０−１〜２０−３でのこのような演算処理の制御は、情報処理装置１０において第１のＯＳ１１が実行された状態で行われる。
【００１４】
一方、演算装置２０−１〜２０−３では、それぞれが記憶しているシステムデータを新たなシステムデータで書き替えて、演算装置２０−１〜２０−３をリカバリできるようになっている。例えば、演算装置２０−１で異常が発生した場合、演算装置２０−１のシステムデータを書き替えてリカバリすることにより、演算装置２０−１の動作を正常化することができる。
【００１５】
しかし、本実施の形態においては、演算装置２０−１〜２０−３のリカバリは、上記の第１のＯＳ１１とは別の第２のＯＳ１２が動作する装置からのみ、実行させることができる。このため、情報処理装置１０で第１のＯＳ１１が実行されている状態では、情報処理装置１０からの制御によって演算装置２０−１〜２０−３をリカバリできない。
【００１６】
そこで、情報処理装置１０は、図１に下側に示すように、実行するＯＳを第１のＯＳ１１から第２のＯＳ１２に切り替える。そして、情報処理装置１０は、第２のＯＳ１２を実行している状態で、演算装置２０−１〜２０−３のうちリカバリ対象の演算装置（図１では演算装置２０−１）のシステムデータ２１を書き替えて、その演算装置をリカバリする。
【００１７】
これにより、情報処理装置１０からの制御により演算装置をリカバリできるようになる。演算装置２０−１〜２０−３での演算処理を制御する情報処理装置１０によって、演算装置２０−１〜２０−３のリカバリを実行できることで、リカバリ手順が単純になり、リカバリ作業を効率化できる。
【００１８】
なお、情報処理装置１０による演算装置のシステムデータ２１の書き替えでは、例えば、書き替えを指示する指示情報や、システムデータ２１に対応する更新データが情報処理装置１０から演算装置に転送される。このような情報転送は、例えば、情報処理装置１０から中継装置３０を介して演算装置に到達する信号線を介して行われる。この場合、信号線としては拡張バス１，２−１〜２−３が用いられてもよい。また、他の例として、このような情報転送は、情報処理装置１０から中継装置３０を通らずに演算装置に到達する信号線を介して行われてもよい。
【００１９】
〔第２の実施の形態〕
次に、拡張バスとしてＰＣＩｅを用いた情報処理システムについて説明する。
【００２０】
図２は、第２の実施の形態に係る情報処理システムの構成例を示す図である。図２に示す情報処理システム５０は、ホスト装置１００、演算装置２００−１〜２００−４および中継装置３００を備える。ホスト装置１００および演算装置２００−１〜２００−４は、中継装置３００に接続されている。また、ホスト装置１００、演算装置２００−１〜２００−４および中継装置３００は、１つの筐体の内部に搭載されている。なお、図２の情報処理システム５０は、例として４台の演算装置２００−１〜２００−４を備えているが、演算装置の台数はこれに限定されない。
【００２１】
ホスト装置１００は、プロセッサ１０１を備える情報処理装置であり、情報処理システム５０全体の制御やＧＵＩ（Graphical User Interface）を実現する。ホスト装置１００は、ＰＣアーキテクチャをベースとした情報処理装置である。例えば、プロセッサ１０１としてはインテル社製ｘ８６互換プロセッサが搭載され、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）が動作する。
【００２２】
演算装置２００−１〜２００−４は、プロセッサ２０１−１〜２０１−４をそれぞれ備える情報処理装置である。演算装置２００−１〜２００−４は、ホスト装置１００の制御の下でＡＩ推論処理や画像処理を協働して実行する。プロセッサ２０１−１〜２０１−４としては、例えば、ＧＰＵ（Graphics Processing Unit）やＦＰＧＡ（Field Programmable Gate Array）といった、特定の処理に適するプロセッサが搭載される。また、ＯＳとしてＬｉｎｕｘ（登録商標）が動作する。なお、プロセッサ２０１−１〜２０１−４は、同じメーカ（ベンダ）から提供されたものであってもよいし、それぞれ異なるメーカから提供されたものであってもよい。
【００２３】
中継装置３００は、ＰＣＩｅのブリッジとして動作するブリッジコントローラ３１０を備える。ホスト装置１００および演算装置２００−１〜２００−４は、ブリッジコントローラ３１０との間でＰＣＩｅに準拠した通信を行い、ブリッジコントローラ３１０は、ホスト装置１００および演算装置２００−１〜２００−４の間の通信を中継する。
【００２４】
ＰＣＩｅの通信においては、プロセッサ１０１，２０１−１〜２０１−４が、ホスト側として動作するＲＣ（Root Complex）となり、ブリッジコントローラ３１０が、デバイス側として動作するＥＰ（End Point）となる。そして、ホストとデバイスとの間でデータ転送が行われる。
【００２５】
ホスト装置１００は、ＲＣ側の物理通信ポート（コネクタ）としてＲＣポート１１１，１１２を備えている。演算装置２００−１〜２００−４は、ＲＣ側の物理通信ポートとしてＲＣポート２１１−１〜２１１−４をそれぞれ備えている。一方、中継装置３００は、ＥＰ側の物理通信ポートとしてＥＰポート３２１〜３２６を備えている。そして、ＲＣポート１１１，１１２がＥＰポート３２１，３２２とそれぞれ接続され、ＲＣポート２１１−１〜２１１−４がＥＰポート３２３〜３２６とそれぞれ接続される。また、ブリッジコントローラ３１０は、インターコネクトバス（図示せず）を備えている。ＥＰポート３２１〜３２６はこのインターコネクトバスに接続されており、インターコネクトバスを介してＥＰポート３２１〜３２６の間でのデータ転送が可能になっている。
【００２６】
前述のように、情報処理システム５０では、ホスト装置１００および演算装置２００−１〜２００−４がそれぞれ備えるプロセッサ１０１，２０１−１〜２０１−４が、ＲＣとして動作する。また、ホスト装置１００および演算装置２００−１〜２００−４がそれぞれ接続されているＥＰポート３２１〜３２６が、ＥＰとして動作する。ブリッジコントローラ３１０は、ホスト装置１００および演算装置２００−１〜２００−４の間のデータ転送を高速化するためにＰＣＩｅを用い、デバイスとして動作するＥＰ間でのデータ転送を実現する。
【００２７】
また、ブリッジコントローラ３１０は、ＥＰ  ｔｏ  ＥＰ（End Point to End Point）でデータをトンネリングさせて、複数のＲＣの間でデータを転送する。すなわち、ＥＰ間でのデータのトンネリングにより、１つのＲＣから他のＲＣにデータが転送される。ＲＣ間の通信は、ＰＣＩｅのトランザクションが発生したときに論理的に接続される。１つのＲＣに対して複数の他のＲＣからのデータ転送が集中しないときは、異なる任意の複数組のＲＣ間で並行してデータ転送できる。
【００２８】
演算装置２００−１〜２００−４では、ＡＩ推論処理や画像処理が分散処理され、ホスト装置１００は、このような分散処理を制御する。例えば、ホスト装置１００は、ＡＩ推論処理や画像処理の実行を演算装置２００−１〜２００−４に指示し、処理結果を演算装置２００−１〜２００−４から受信する。このような分散処理のための通信は、ブリッジコントローラ３１０を介したＲＣ間の通信によって行われる。
【００２９】
また、上記構成では、ＲＣとして動作するプロセッサ（プロセッサ１０１，２０１−１〜２０１−４）間で通信が行われている状態でも、各プロセッサ上のＯＳからはブリッジコントローラ３１０しか見えず、他のプロセッサは見えない。このため、各プロセッサは、接続先の他のプロセッサを直接管理する必要がなく、ブリッジコントローラ３１０のデバイスドライバで、ブリッジコントローラ３１０に接続されたプロセッサが管理されればよい。したがって、情報処理システム５０では、各プロセッサが通信先となる他のプロセッサを動作させるためのデバイスドライバを、通信先ごとに個別に準備する必要がなく、ブリッジコントローラ３１０のデバイスドライバで通信処理を行うだけでプロセッサ間の通信を行うことができる。また、このような特徴から、各プロセッサで実行されるＯＳについての制約はなく、プロセッサごとに異なるＯＳを実行させることができる。
【００３０】
また、ＲＣ側のプロセッサは、セキュリティを強化するために、他方のプロセッサとの間で仮想ＬＡＮ（Local Area Network）回線を確立して通信することができる。この場合、データがカプセル化され、データがトンネリングされて他方のプロセッサに送信される。ＲＣ側の装置は、ブリッジコントローラ３１０との間でＰＣＩｅに準拠した通信を行うためのデバイスドライバと、仮想ＬＡＮを実現するための仮想ＬＡＮドライバとを使用するだけで、通信先のプロセッサやＯＳの種類に関係なく、仮想ＬＡＮを介した通信を行うことができる。
【００３１】
なお、以下の説明では、演算装置２００−１〜２００−４を特に区別せずに示す場合には、「演算装置２００」と記載する場合がある。また、プロセッサ２０１−１〜２０１−４を特に区別せずに示す場合には、「プロセッサ２０１」と記載する場合がある。さらに、ＲＣポート２１１−１〜２１１−４を特に区別せずに示す場合には、「ＲＣポート２１１」と記載する場合がある。
【００３２】
図３は、情報処理システムのエッジコンピューティングの適用例を示す図である。図２に示したホスト装置１００をエッジサーバとみなして、情報処理システム５０をエッジコンピューティングに適用することができる。
【００３３】
図３に示すエッジコンピューティングシステムは、情報処理システム５０、専用ネットワーク６１およびクラウドネットワーク６２を備える。情報処理システム５０内のホスト装置１００は専用ネットワーク６１に接続され、専用ネットワーク６１はクラウドネットワーク６２に接続される。ホスト装置１００は、ＥＰの機能を持つ演算装置２００−１〜２００−４で処理されたデータを集約して、専用ネットワーク６１を介してクラウドネットワーク６２へ送信する。
【００３４】
このような構成によって、クラウド側のリソースを節約してエッジ側での処理が可能になる。これにより、クラウドネットワーク６２を介した応答時間が短縮され、リアルタイム性を確保できる。また、ホスト装置１００（エッジ）上でデータを処理して結果をクラウドネットワーク６２へ送信するので、データの秘匿性を確保できる。さらに、ホスト装置１００上でデータを処理して必要なデータのみをクラウドネットワーク６２へ送信することで、通信量を削減できる。
【００３５】
図４は、情報処理システムの各装置のハードウェア構成例を示す図である。
【００３６】
まず、ホスト装置１００は、プロセッサ１０１、ＲＡＭ（Random Access Memory）１０２、ＳＳＤ（Solid State Drive）１０３、ディスプレイ１０４、入力装置１０５、ＰＣＩｅインタフェース（Ｉ／Ｆ）１０６、ＵＳＢ（Universal Serial Bus）インタフェース（Ｉ／Ｆ）１０７および拡張インタフェース（Ｉ／Ｆ）１０８，１０９を備える。
【００３７】
プロセッサ１０１は、ホスト装置１００全体を統括的に制御する。プロセッサ１０１は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３８】
ＲＡＭ１０２は、ホスト装置１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳやアプリケーションのプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００３９】
ＳＳＤ１０３は、ホスト装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラム、各種データが格納される。なお、補助記憶装置としては、ＨＤＤ（Hard Disk Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００４０】
ディスプレイ１０４は、プロセッサ１０１からの指示に応じて画像を表示する。ディスプレイ１０４は、例えば、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイである。
【００４１】
入力装置１０５は、ユーザからの入力操作を受け付け、入力操作に応じた信号をプロセッサ１０１に送信する。入力装置１０５は、例えば、キーボードやポインティングデバイスである。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４２】
なお、ディスプレイ１０４および入力装置１０５の少なくとも一方は、ホスト装置１００の外部に接続されていてもよい。
【００４３】
ＰＣＩｅインタフェース１０６は、ＲＣポート１１１，１１２を介してＰＣＩｅに準拠した通信を行うインタフェース装置である。
【００４４】
ＵＳＢインタフェース１０７は、ＵＳＢデバイスとの通信を行うインタフェース装置である。ＵＳＢデバイスとしては、例えば、ＵＳＢメモリを接続することができる。また、ＵＳＢデバイスとしては、可搬型記録媒体の読み取り装置を接続することができる。可搬型記録媒体としては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００４５】
拡張インタフェース１０８，１０９は、後述する拡張ポートを介した通信を可能にするインタフェース装置である。拡張インタフェース１０８は、ホスト装置１００のチップセットが備えるＧＰＩＯ（General-Purpose Input/Output）を介した通信を可能にする。拡張インタフェース１０９は、Ｉ２Ｃ（登録商標）バスを介した通信を可能にする。
【００４６】
次に、演算装置２００（演算装置２００−１〜２００−４）のハードウェア構成例について説明する。演算装置２００は、プロセッサ２０１、ＲＡＭ２０２、不揮発メモリ２０３、ＰＣＩｅインタフェース（Ｉ／Ｆ）２０４およびＵＳＢインタフェース（Ｉ／Ｆ）２０５を備える。
【００４７】
プロセッサ２０１は、ＡＩ推論処理や画像処理等の並列演算処理に適したプロセッサであり、例えば、ＧＰＵやＦＰＧＡ、専用チップなどのアクセラレータとして実現可能である。また、プロセッサ２０１は、例えば、ＣＰＵとＧＰＵとの組み合わせであってもよい。プロセッサ２０１は、ホスト装置１００のプロセッサ１０１による制御の下で他のプロセッサ２０１と協働するコプロセッサ（Co-Processor）として動作する。
【００４８】
ＲＡＭ２０２には、プロセッサ２０１によって実行されるプログラムの一部や、プログラムの実行時に利用される各種データが一時的に格納される。
【００４９】
不揮発メモリ２０３には、プロセッサ２０１によって実行されるプログラムや、プログラムの実行時に利用される各種データが格納される。不揮発メモリ２０３は、例えば、フラッシュメモリとして実現される。
【００５０】
ＰＣＩｅインタフェース２０４は、ＲＣポート２１１を介してＰＣＩｅに準拠した通信を行うインタフェース装置である。
【００５１】
ＵＳＢインタフェース２０５は、ＵＳＢデバイスとの通信を行うインタフェース装置である。後述するように、ＵＳＢインタフェース２０５は、演算装置２００のリカバリのために不揮発メモリ２０３上のシステムデータを書き替えるために使用される。
【００５２】
次に、中継装置３００は、ブリッジコントローラ３１０および電源制御マイコン３３０を備える。
【００５３】
ブリッジコントローラ３１０は、プロセッサ３１１、メモリ３１２およびインターコネクトバス３１３を備える。インターコネクトバス３１３は、ＥＰポート３２１〜３２６（図２参照）の間でデータを転送する。プロセッサ３１１は、インターコネクトバス３１３におけるＥＰポート３２１〜３２６の間の接続を切り替えて、ＥＰポート３２１〜３２６の間の通信を制御する。メモリ３１２には、プロセッサ３１１によって実行されるプログラムや、プログラムの実行時に利用される各種データが格納される。
【００５４】
電源制御マイコン３３０は、情報処理システム５０の全体についての電源に関する制御を行う。例えば、電源制御マイコン３３０は、ホスト装置１００からの指示に応じて、演算装置２００−１〜２００−４の電源のオン、オフを個別に制御することができる。
【００５５】
次に、図５を用いて、情報処理システム５０における装置間の主な信号線の接続関係について説明する。図５は、情報処理システムにおける装置間の信号線の接続関係を示す図である。
【００５６】
ホスト装置１００は、物理通信ポートとして、ＲＣポート１１１，１１２、拡張ポート１１３，１１４およびＵＳＢポート１１５，１１６を備えている。演算装置２００−１は、物理通信ポートとして、ＲＣポート２１１（実際にはＲＣポート２１１−１）、拡張ポート２１２，２１３およびＵＳＢポート２１４を備えている。なお、図示しないが、演算装置２００−２〜２００−４も、ＲＣポート２１１、拡張ポート２１２，２１３およびＵＳＢポート２１４と同様の物理通信ポートを備えている。
【００５７】
前述のように、ホスト装置１００のＲＣポート１１１，１１２は、中継装置３００のＥＰポート３２１，３２２をそれぞれ介して、中継装置３００のブリッジコントローラ３１０と接続されている。また、演算装置２００−１のＲＣポート２１１は、中継装置３００のＥＰポート３２３を介して、中継装置３００のブリッジコントローラ３１０と接続されている。ＲＣポート１１１，１１２とＲＣポート２１１との間では、ブリッジコントローラ３１０を介してＰＣＩｅに準拠した通信が行われる。また、ＲＣポート１１１，１１２とＲＣポート２１１との間では、仮想ＬＡＮを確立して通信することもできる。
【００５８】
ホスト装置１００の拡張ポート１１３は、拡張インタフェース１０８の物理通信ポートであり、ホスト装置１００のチップセットが備えるＧＰＩＯを介して通信するために用いられる。拡張ポート１１３には、リカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴが接続されている。リカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴは、中継装置３００を介して演算装置２００−１の拡張ポート２１２に接続されている。演算装置２００−１はＲＣＶフラグ２１５というフラグ情報を保持しており、リカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴによって、拡張ポート２１２を介してＲＣＶフラグ２１５を設定できるようになっている。また、リセット信号線ＲＳＴには、演算装置２００を再起動するための指示信号が伝送される。
【００５９】
拡張ポート２１２およびＲＣＶフラグ２１５は、演算装置２００−１だけでなく演算装置２０２−２〜２００−４にも設けられている。リカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴは、中継装置３００を介して演算装置２００−１〜２００−４の各拡張ポート２１２に接続されている。リカバリ信号線ＲＣＶによって、各演算装置２００−１〜２００−４の拡張ポート２１２を介して各演算装置２００−１〜２００−４のＲＣＶフラグ２１５を設定できるようになっている。また、リセット信号線ＲＳＴによって、各演算装置２００−１〜２００−４の拡張ポート２１２を介して各演算装置２００−１〜２００−４のうち任意の演算装置の再起動を指示できるようになっている。
【００６０】
なお、リカバリ信号線ＲＣＶ、リセット信号線ＲＳＴおよびＲＣＶフラグ２１５の詳細については後述する。
【００６１】
ホスト装置１００の拡張ポート１１４は、拡張インタフェース１０９の物理通信ポートであり、電源制御信号線ＰＷＲ＿ｈを介して電源制御マイコン３３０に接続されている。電源制御信号線ＰＷＲ＿ｈは、例えば、Ｉ２Ｃバスとして実現される。ホスト装置１００は、拡張ポート１１４から電源制御信号を出力することで、電源制御マイコン３３０に対して演算装置２００−１〜２００−４のうち任意の演算装置についての電源のオン、オフを指示できるようになっている。
【００６２】
一方、演算装置２００−１の拡張ポート２１３は、電源制御信号線ＰＷＲ＿ｃを介して電源制御マイコン３３０に接続されている。電源制御信号線ＰＷＲ＿ｃも、例えば、Ｉ２Ｃバスとして実現される。演算装置２００−１は、電源制御マイコン３３０から送信される電源制御信号を拡張ポート２１３を介して受信することで、電源のオフからオン、オンからオフの状態に遷移する。電源制御マイコン３３０からの電源制御信号は、演算装置２００−２〜２００−４の各拡張ポート２１３にも送信可能になっており、電源制御信号によって演算装置２００−２〜２００−４のそれぞれの電源状態が制御される。
【００６３】
なお、リセット信号線ＲＳＴはリカバリ対象の演算装置を再起動するための信号線であるが、演算装置の再起動は拡張ポート１１４からの電源制御信号を用いて指示することもできる。拡張ポート１１４からの電源制御信号を用いて演算装置の再起動を指示する場合には、リセット信号線ＲＳＴは不要となる。
【００６４】
ところで、演算装置２００で動作の異常が発生した場合に、演算装置２００のリカバリを実行したいという要求がある。リカバリの方法としては、例えば、演算装置２００のシステムデータのイメージ（システムイメージ）を書き替える方法がある。
【００６５】
一方、演算装置２００のプロセッサ２０１や、各プロセッサ２０１が搭載されるモジュールとしては、様々なメーカの様々な機種が搭載され得る。そして、リカバリの方法は、プロセッサ２０１やモジュールのメーカや機種によって異なる。本実施の形態では一例として、次のような手順でリカバリを行うように規定されたモジュールを想定する。
【００６６】
（手順１）モジュール上に設けられたスイッチを操作することで、モジュールをリカバリモードに設定する。
【００６７】
（手順２）リカバリモードに設定した状態で、モジュールのＵＳＢ端子に特定の保守用ＯＳ（例えば、ＬｉｎｕｘをベースとするＯＳ）が動作する保守用コンピュータを接続し、保守用コンピュータからシステムイメージを転送してモジュール内のシステムイメージを書き替える。
【００６８】
まず、手順１に関して考察する。情報処理システム５０において上記の手順１を実行するためには、リカバリモードに設定するためのスイッチを保守作業者が操作できるような構造にしておく必要がある。例えば、情報処理システム５０の筐体における演算装置の近傍に開口部を形成して、開口部からスイッチを操作できるようにしておく方法が考えられる。しかし、上記のように、演算装置２００には様々なメーカや機種のプロセッサ２０１やモジュールが搭載され得る。このため、情報処理システム５０の筐体に、上記開口部のような、特定のメーカや機種のプロセッサやモジュールのための専用の構造を設けることは難しい。一方で、演算装置をリカバリするたびに、情報処理システム５０の筐体を外し、上記のスイッチを操作する場合には、作業に手間がかかり、効率が悪い。
【００６９】
リカバリの作業の手間はできるだけ少ないことが望ましく、この観点ではそもそも、作業者がモジュールのスイッチを操作するという作業も、煩雑で非効率であると言える。情報処理システム５０では、各演算装置２００はホスト装置１００の制御の下で動作するので、リカバリの作業効率を高めるためには、できるだけホスト装置１００からの制御によって作業を進行できることが望ましい。
【００７０】
そこで、図５に示すように本実施の形態では、ホスト装置１００から演算装置２００をリカバリモードに設定するための信号線として、リカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴが追加される。リカバリ信号線ＲＣＶは、演算装置２００のＲＣＶフラグ２１５を設定するための信号線であり、リカバリ信号線ＲＣＶの信号レベルがハイレベルの場合にＲＣＶフラグ２１５が「１」に設定され、ローレベルの場合に「０」に設定される。リセット信号線ＲＳＴは、演算装置２００を再起動する（電源をオフにし、オンにする）ための信号線であり、リセット信号線ＲＳＴがローレベルから一定期間ハイレベルに設定されることで、演算装置２００の再起動が指示される。
【００７１】
ＲＣＶフラグ２１５は、演算装置２００が起動したときにプロセッサ２０１によって参照される。演算装置２００が起動したときにＲＣＶフラグ２１５が「０」の場合、プロセッサ２０１は通常動作モードでの起動処理を実行し、これにより演算装置２００は通常動作モードで起動する。一方、演算装置２００が起動したときにＲＣＶフラグ２１５が「１」である場合、プロセッサ２０１はリカバリモードでの起動処理を実行し、これにより演算装置２００はリカバリモードで起動する。
【００７２】
このような構成により、保守作業者がホスト装置１００に対する入力を行うことで、ホスト装置１００の制御によって演算装置２００−１〜２００−４をリカバリモードに遷移させることができる。より具体的には、ホスト装置１００の制御により、リカバリ信号線ＲＣＶがハイレベルに設定された後、リセット信号線ＲＳＴがハイレベルに設定されてリカバリ対象の演算装置２００が再起動されることで、その演算装置２００がリカバリモードで起動する。これにより、演算装置２００をリカバリモードに設定する作業の効率を高めることができる。
【００７３】
なお、ホスト装置１００は、リカバリ対象の演算装置２００の再起動を、拡張ポート１１４から電源制御信号線ＰＷＲ＿ｈを介して電源制御マイコン３３０に出力される電源制御信号を用いて指示することもできる。この場合、リセット信号線ＲＳＴは不要となる。また、演算装置２００の再起動を指示する方法としては、次のような方法が用いられてもよい。中継装置３００には、電源制御マイコン３３０が通信するための別の拡張ポート（例えば、ＲＳ２３２Ｃポート。ＲＳ：Recommended Standard）が設けられている。そして、ホスト装置１００のＵＳＢポート１１５（またはＵＳＢポート１１６）とこの拡張ポートとが、ＵＡＲＴ（Universal Asynchronous Receiver/Transmitter）を備えたケーブルによって接続され、このケーブルを介して任意の演算装置２００を再起動させる指示信号が送信される。
【００７４】
次に、上記の手順２に関して考察する。本実施の形態では、演算装置２００に対するシステムイメージの転送作業に関しても、演算装置２００のＵＳＢ端子に保守用コンピュータを接続するのではなく、ホスト装置１００に対する操作によって実行できるようにする。これによって、リカバリ作業を効率化する。
【００７５】
ただし、前述のように、情報処理システム５０では、ホスト装置１００および演算装置２００−１〜２００−４のそれぞれにおいて実行されるＯＳに制約はない。そのため、システムイメージを転送するために用いられる保守用ＯＳは、ホスト装置１００で通常動作するＯＳ（メインＯＳ）とは異なる場合がある。
【００７６】
そこで、本実施の形態では、演算装置２００のリカバリ作業の際には、ホスト装置１００で動作するＯＳをメインＯＳから保守用ＯＳに切り替える。例えば、ホスト装置１００は、リカバリ信号線ＲＣＶをハイレベルに設定し、リカバリ対象の演算装置２００の再起動を指示する処理を、メインＯＳ上のアプリケーションによって実行する。その後、ホスト装置１００は、ＯＳを保守用ＯＳに切り替え、保守用ＯＳ上のアプリケーション（インストーラ）によってシステムイメージを演算装置２００に転送する。これにより、ホスト装置１００で通常動作するメインＯＳが保守用ＯＳとは異なる場合でも、ホスト装置１００からの制御によって演算装置２００に対してシステムイメージを転送して演算装置２００のシステムデータを書き替えることができる。したがって、リカバリ作業を効率化できる。
【００７７】
以上の一連の処理により、情報処理システム５０の筐体に特定のプロセッサ２０１やモジュールの専用の構造を設けることなく、ホスト装置１００からの制御によって演算装置２００のリカバリを実行できるようになる。その結果、リカバリ作業の効率を高めることができる。また、演算装置２００の保守性を高めることができる。
【００７８】
図６は、装置間を接続するＰＣＩｅコネクタの構成例を示す図である。
【００７９】
ホスト装置１００は、ＰＣＩｅコネクタ１４１を備える。一方、中継装置３００は、ＰＣＩｅコネクタ３４１を備える。そして、ＰＣＩｅコネクタ１４１とＰＣＩｅコネクタ３４１とが接続される。例えば、ＰＣＩｅコネクタ１４１とＰＣＩｅコネクタ３４１とが直接的に接続される。あるいは、ＰＣＩｅコネクタ１４１とＰＣＩｅコネクタ３４１とがＰＣＩｅケーブルを介して接続されてもよい。
【００８０】
ＰＣＩｅコネクタ１４１の一部の領域がＲＣポート１１１として使用され、ＰＣＩｅコネクタ１４１の他の一部の領域がＲＣポート１１２として使用され、ＰＣＩｅコネクタ１４１のさらに他の一部の領域が拡張ポート１１３として使用される。また、ＰＣＩｅコネクタ３４１の一部の領域がＥＰポート３２１として使用され、ＰＣＩｅコネクタ３４１の他の一部の領域がＥＰポート３２２として使用され、ＰＣＩｅコネクタ３４１のさらに他の一部の領域が拡張ポート３３１として使用される。
【００８１】
ＰＣＩｅコネクタ１４１とＰＣＩｅコネクタ３４１とが接続されたとき、ＰＣＩｅコネクタ１４１におけるＲＣポート１１１の領域と、ＰＣＩｅコネクタ３４１におけるＥＰポート３２１の領域とに含まれる信号線により、ＰＣＩｅに準拠した通信が行われる。また、ＰＣＩｅコネクタ１４１におけるＲＣポート１１２の領域と、ＰＣＩｅコネクタ３４１におけるＥＰポート３２２の領域とに含まれる信号線により、ＰＣＩｅに準拠した通信が行われる。さらに、ＰＣＩｅコネクタ１４１における拡張ポート１１３の領域と、ＰＣＩｅコネクタ３４１における拡張ポート３３１の領域とに含まれる信号線が、リカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴとして使用される。
【００８２】
また、中継装置３００は、ＰＣＩｅコネクタ３４２を備える。一方、演算装置２００は、ＰＣＩｅコネクタ２４１を備える。そして、ＰＣＩｅコネクタ３４２とＰＣＩｅコネクタ２４１とが接続される。例えば、ＰＣＩｅコネクタ３４２とＰＣＩｅコネクタ２４１とが直接的に接続される。あるいは、ＰＣＩｅコネクタ３４２とＰＣＩｅコネクタ２４１とがＰＣＩｅケーブルを介して接続されてもよい。
【００８３】
ＰＣＩｅコネクタ３４２は、接続される演算装置２００のそれぞれ（演算装置２００−１〜２００−４）について個別に設けられる。また、ＰＣＩｅコネクタ２４１は、演算装置２００のそれぞれ（演算装置２００−１〜２００−４）に設けられる。そして、ある演算装置２００のＰＣＩｅコネクタ２４１と、その演算装置２００に対応するＰＣＩｅコネクタ３４２とが接続される。
【００８４】
ＰＣＩｅコネクタ３４２とＰＣＩｅコネクタ２４１とが接続されたとき、ＰＣＩｅコネクタ３４２におけるＥＰポート３２３の領域と、ＰＣＩｅコネクタ２４１におけるＲＣポート２１１の領域とに含まれる信号線により、ＰＣＩｅに準拠した通信が行われる。また、ＰＣＩｅコネクタ３４２における拡張ポート３３２の領域と、ＰＣＩｅコネクタ２４１における拡張ポート２４２の領域とに含まれる信号線が、リカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴとして使用される。
【００８５】
このように、ホスト装置１００および演算装置２００と中継装置３００とを接続するためのＰＣＩｅコネクタの信号線のうち、余剰の信号線がリカバリ信号線ＲＣＶおよびリセット信号線ＲＳＴとして使用される。これにより、ホスト装置１００および演算装置２００と中継装置３００との間に、演算装置２００をリカバリモードに設定するための信号線を新たに設ける必要がなくなる。したがって、基本的な装置構成を変更せずに低コストで、ホスト装置１００からの制御により演算装置２００をリカバリモードに設定できるようになる。
【００８６】
なお、前述のように、リカバリ対象の演算装置２００の再起動が拡張ポート１１４から電源制御マイコン３３０に出力される電源制御信号を用いて指示される場合、リセット信号線ＲＳＴは設けられなくてもよい。この場合、ホスト装置１００の拡張ポート１１４から電源制御マイコン３３０に電源制御信号を送信するための電源制御信号線ＰＷＲ＿ｈとして、拡張ポート１１３，３３１の領域に含まれる信号線が用いられてもよい。この場合には、電源制御マイコン３３０から演算装置２００に電源制御信号を送信するための電源制御信号線ＰＷＲ＿ｃとして、拡張ポート３３２，２４２に含まれる信号線が用いられてもよい。
【００８７】
図７は、情報処理システムが備える処理機能の構成例を示す図である。
【００８８】
まず、ホスト装置１００は、モード制御部１５１およびリカバリ制御部１５２を備える。また、ホスト装置１００のＳＳＤ１０３には、メインＯＳ上で動作するモード設定アプリケーション１５３が格納されている。さらに、ホスト装置１００のＵＳＢポート１１５には、ＵＳＢメモリ１６０が接続される。ＵＳＢメモリ１６０には、保守用ＯＳ１６１、リカバリアプリケーション１６２、インストーラ１６３およびシステムイメージ１６４が格納されている。システムイメージ１６４には、例えば、演算装置２００で実行されるＯＳや、そのＯＳ上で動作する各種のアプリケーションが含まれる。
【００８９】
モード制御部１５１の処理は、プロセッサ１０１がモード設定アプリケーション１５３を実行することで実現される。モード制御部１５１は、演算装置２００のリカバリ作業が開始されると、リカバリ信号線ＲＣＶをローレベルからハイレベルに設定変更し、その後に演算装置２００の再起動を指示する。これにより、リカバリ対象の演算装置２００がリカバリモードで再起動する。演算装置２００の再起動の指示は、リセット信号線ＲＳＴをローレベルからハイレベルに設定変更するか、あるいは、拡張ポート１１４から電源制御部３５１に対して、演算装置２００の再起動を指示する電源制御信号を送信することで行われる。
【００９０】
リカバリ制御部１５２の処理は、ホスト装置１００で保守用ＯＳ１６１が動作している環境において、プロセッサ１０１がリカバリアプリケーション１６２を実行することで実現される。モード制御部１５１により上記のようにリカバリ対象の演算装置２００の再起動が指示された後、ＵＳＢメモリ１６０がホスト装置１００のＵＳＢポート１１５に接続され、ホスト装置１００が再起動される。ホスト装置１００のプロセッサ１０１は再起動の際に、ＵＳＢメモリ１６０内の保守用ＯＳ１６１を読み込んで実行する。これにより保守用ＯＳ１６１が起動すると、プロセッサ１０１はさらにリカバリアプリケーション１６２を読み込んで実行する。これにより、リカバリ制御部１５２が起動する。
【００９１】
また、この時点で、ホスト装置１００のＵＳＢポート１１６とリカバリ対象の演算装置２００のＵＳＢポート２１４とが、ＵＳＢケーブルによって接続される。リカバリ制御部１５２は、ＵＳＢメモリ１６０からインストーラ１６３を読み込み、ＵＳＢケーブルを介して演算装置２００に転送する。インストーラ１６３は、システムイメージ１６４をインストールするためのプログラムであり、演算装置２００でインストーラ１６３が実行されることで、システムイメージ１６４のインストールが可能になる。
【００９２】
次に、リカバリ制御部１５２は、ＵＳＢメモリ１６０からシステムイメージ１６４を読み込み、ＵＳＢケーブルを介して演算装置２００に転送する。システムイメージ１６４は、演算装置２００の不揮発メモリ２０３に記憶されたシステムデータ全体を更新するためのデータイメージである。転送されたシステムイメージ１６４は演算装置２００にインストールされ、不揮発メモリ２０３のシステムデータがシステムイメージ１６４によって書き替えられる。これにより、演算装置２００のリカバリが完了する。
【００９３】
中継装置３００は、電源制御部３５１を備える。電源制御部３５１の処理は、電源制御マイコン３３０によって実現される。電源制御部３５１は、モード制御部１５１から電源制御信号線ＰＷＲ＿ｈを介して受信した電源制御信号に基づく指示に応じて、電源制御信号線ＰＷＲ＿ｃを介し、指定された演算装置２００の電源をオン、オフする。
【００９４】
演算装置２００は、記憶部２５１、モード設定部２５２、ロード処理部２５３およびリカバリ処理部２５４を備える。
【００９５】
記憶部２５１は、例えば、不揮発メモリ２０３の記憶領域によって実現される。記憶部２５１には、前述のＲＣＶフラグ２１５が記憶される。
【００９６】
モード設定部２５２の処理は、不揮発メモリ２０３にあらかじめ記憶されたアプリケーションによって実現される。モード設定部２５２は、リカバリ信号線ＲＣＶがローレベルからハイレベルに遷移すると、ＲＣＶフラグ２１５を「０」から「１」に設定変更する。また、モード設定部２５２は、リセット信号線ＲＳＴの信号レベルがローレベルからハイレベルに遷移すると、演算装置２００の電源をオフにした後オンにして、再起動させる。また、モード設定部２５２は、電源制御部３５１からの電源制御信号に基づいて、演算装置２００を再起動させることもできる。
【００９７】
ロード処理部２５３の処理は、不揮発メモリ２０３にあらかじめ記憶されたプログラム（例えば、ＢＩＯＳ：Basic Input/Output System）によって実現される。ロード処理部２５３は、演算装置２００が起動したとき、記憶部２５１のＲＣＶフラグ２１５が「１」の場合には、演算装置２００をリカバリモードで起動させる。そして、ロード処理部２５３は、ホスト装置１００と接続されたＵＳＢケーブルを介して、リカバリ制御部１５２からインストーラ１６３を読み込み、インストーラ１６３をプロセッサ２０１に実行させる。インストーラ１６３の実行により、リカバリ処理部２５４が起動する。
【００９８】
リカバリ処理部２５４は、ホスト装置１００と接続されたＵＳＢケーブルを介して、リカバリ制御部１５２からシステムイメージ１６４を読み込む。リカバリ処理部２５４は、読み込んだシステムイメージ１６４によって記憶部２５１内のシステムデータを更新することで、演算装置２００をリカバリする。
【００９９】
図８、図９は、演算装置のリカバリ処理手順の概略を示す図である。
【０１００】
［状態ＳＴ１］ホスト装置１００ではメインＯＳが動作し、メインＯＳ上で動作する所定のアプリケーションにより、演算装置２００におけるＡＩ推論処理や画像処理の分散処理が制御される。例えば、ホスト装置１００は、演算装置２００に演算処理の実行を指示し、演算装置２００から処理結果を受信する。また、ホスト装置１００は、１つの演算装置２００での処理結果を他の演算装置２００に入力させてさらに演算処理を実行させ、その処理結果を受信することもできる。このような分散処理の制御に係る通信は、中継装置３００のブリッジコントローラ３１０を介して行われる。
【０１０１】
［状態ＳＴ２］演算装置２００のリカバリを開始する場合、ホスト装置１００では、メインＯＳ上で動作するモード設定アプリケーション１５３が実行される。そして、モード設定アプリケーション１５３の処理によりリカバリ信号線ＲＣＶがローレベルからハイレベルに設定される。これにより、演算装置２００のＲＣＶフラグ２１５が「０」から「１」に更新される。さらに、モード設定アプリケーション１５３の処理によりリセット信号線ＲＳＴがローレベルからハイレベルに設定されて、演算装置２００の再起動が指示される。この指示により、演算装置２００の電源がオフにされた後オンにされる。演算装置２００は、ＲＣＶフラグ２１５が「１」であることから、リカバリモードで起動する。
【０１０２】
なお、演算装置２００の再起動は、ホスト装置１００の拡張ポート１１４から電源制御マイコン３３０に送信される電源制御信号を用いて指示されてもよい。この場合、演算装置２００−１〜２００−４のうちリカバリ対象の演算装置だけを再起動させることができる。
【０１０３】
［状態ＳＴ３］次に、ホスト装置１００のＵＳＢポート１１５にＵＳＢメモリ１６０が接続され、ホスト装置１００が再起動される。このとき、ホスト装置１００は、ＵＳＢメモリ１６０内の保守用ＯＳ１６１によって起動する。すなわち、ホスト装置１００のＯＳがメインＯＳから保守用ＯＳ１６１に切り替えられる。さらに、ホスト装置１００は、ＵＳＢメモリ１６０内のリカバリアプリケーション１６２を実行する。
【０１０４】
［状態ＳＴ４］次に、ホスト装置１００のＵＳＢポート１１６と演算装置２００のＵＳＢポート２１４とがＵＳＢケーブル１７０によって接続される。演算装置２００のリカバリのための保守用ＯＳ１６１が動作するホスト装置１００が、リカバリモードの演算装置２００にＵＳＢ接続されることで、ホスト装置１００から演算装置２００のリカバリを制御できる状態となる。
【０１０５】
この状態で、ＵＳＢメモリ１６０内のインストーラ１６３がホスト装置１００からＵＳＢケーブル１７０を介して演算装置２００に転送され、インストーラ１６３が演算装置２００で実行される。さらに、ＵＳＢメモリ１６０内のシステムイメージ１６４がホスト装置１００からＵＳＢケーブル１７０を介して演算装置２００に転送され、演算装置２００内のシステムデータがシステムイメージ１６４によって書き替えられる。
【０１０６】
図示しないが、この後、ホスト装置１００によりリカバリ信号線ＲＣＶがローレベルに設定変更され、演算装置２００の再起動が指示される。ホスト装置１００は、ＲＣＶフラグ２１５が「０」であることから通常モードで起動する。あるいは、演算装置２００は、リカバリモードで起動してから一定時間後に、自動的に通常モードで再起動してもよい。ホスト装置１００は、書き替えられたシステムイメージ１６４を用いて、通常モードで正常に起動できる。
【０１０７】
以上の手順によれば、追加されたリカバリ信号線ＲＣＶを用いてＲＣＶフラグ２１５が「１」に設定され、さらに、追加されたリセット信号線ＲＳＴ、または電源制御マイコン３３０に対する電源制御信号を用いて、演算装置２００の再起動が指示される。これにより、ホスト装置１００からの指示によって演算装置２００をリカバリモードに遷移させることができる。したがって、演算装置２００について規定された前述の手順１を、ホスト装置１００の制御によって代替的に実行できる。
【０１０８】
さらに、ＵＳＢメモリ１６０を用いることによりホスト装置１００で保守用ＯＳ１６１を動作させ、演算装置２００のＵＳＢポート２１４にホスト装置１００を接続することで、演算装置２００内のシステムデータの書き替えをホスト装置１００から実行できるようになる。すなわち、演算装置２００について規定された前述の手順２を、ホスト装置１００の制御によって代替的に実行できる。
【０１０９】
このようにして、ホスト装置１００からの制御により、演算装置２００についてのリカバリ手順の規定にしたがってリカバリを実行できる。このため、演算装置２００をリカバリする作業の効率を高めることができる。例えば、スイッチ操作により演算装置２００をリカバリモードに設定するために情報処理システム５０の筐体を外す作業が不要になり、演算装置２００をリカバリモードに設定する作業の効率を高めることができる。また、専用の保守用コンピュータを演算装置２００に接続して操作する代わりに、ホスト装置１００で動作させるＯＳを保守用ＯＳ１６１に切り替えることで、ホスト装置１００を用いて演算装置２００にシステムイメージをインストールすることができる。その結果、インストール作業の効率を高めることができる。
【０１１０】
また、上記手順によれば、ホスト装置１００でメインＯＳが動作した状態のまま、演算装置２００がリカバリモードで起動するまでの処理が実行される。このため、管理者は、ホスト装置１００を通常通り運用している状態から、自然な流れでリカバリ作業を開始することができる。
【０１１１】
また、演算装置２００をリカバリモードに設定するために演算装置２００のモジュールに設けられたスイッチを操作する必要がなくなる。これにより、情報処理システム５０の筐体に、そのスイッチを操作するための専用の開口部を設ける必要がなくなる。その結果、情報処理システム５０の開発コストを抑制でき、筐体の設計の自由度を高めることもできる。
【０１１２】
なお、インストーラ１６３やシステムイメージ１６４を転送するための（ＵＳＢケーブル１７０に相当する）信号線は、情報処理システム５０にあらかじめ設けられていてもよい。例えば、ホスト装置１００の拡張インタフェース１０８の物理ポート（ＧＰＩＯ）から中継装置３００を介して各演算装置２００のＵＳＢポート２１４に接続する信号線が、あらかじめ設けられていてもよい。
【０１１３】
図１０は、演算装置のリカバリ処理手順の例を示すシーケンス図である。図１０では例として、演算装置２００−１のリカバリが実行されるものとする。
【０１１４】
［ステップＳ１１］ホスト装置１００でメインＯＳが動作している状態において、ホスト装置１００に対する管理者の操作に応じてモード設定アプリケーション１５３の実行が開始される。これにより、ホスト装置１００においてモード制御部１５１が起動する。
【０１１５】
［ステップＳ１２］モード制御部１５１は、リカバリ信号線ＲＣＶをローレベルからハイレベルにする。
【０１１６】
［ステップＳ１３］演算装置２００−１のモード設定部２５２は、リカバリ信号線ＲＣＶがハイレベルになったことを検知すると、ＲＣＶフラグ２１５を「０」から「１」に更新する。
【０１１７】
［ステップＳ１４］モード制御部１５１は、演算装置２００−１の再起動を指示する。例えば、モード制御部１５１は、リセット信号線ＲＳＴをローレベルからハイレベルにする。あるいは、モード制御部１５１は、演算装置２００−１の再起動を指示する電源制御信号を、電源制御信号線ＰＷＲ−ｈを介して中継装置３００の電源制御部３５１に送信する。後者の場合、電源制御部３５１は、再起動を指示する電源制御信号を、演算装置２００−１に接続されている電源制御信号線ＰＷＲ−ｃを介して送信する。
【０１１８】
［ステップＳ１５］演算装置２００−１は、電源をオフにし、さらにオンにすることで再起動する。再起動の際、演算装置２００−１のロード処理部２５３は、ＲＣＶフラグ２１５が「１」であることから、演算装置２００−１をリカバリモードで起動する。
【０１１９】
［ステップＳ１６］管理者の操作により、ホスト装置１００のＵＳＢポート１１５にＵＳＢメモリ１６０が接続され、ホスト装置１００の再起動が指示される。
【０１２０】
［ステップＳ１７］ホスト装置１００は、ＵＳＢメモリ１６０から読み込んだ保守用ＯＳ１６１によって再起動する。例えば、ホスト装置１００の起動時に入力装置１０５の所定のキーが押下されることで、ディスプレイ１０４にブート方法の選択画面が表示される。そして、管理者の操作によりＵＳＢブートが選択されることで、ＵＳＢメモリ１６０内の保守用ＯＳ１６１によるブート処理が開始される。これによってＯＳの切り替えが行われる。
【０１２１】
さらに、管理者の操作により、または自動的に、ＵＳＢメモリ１６０内のリカバリアプリケーション１６２の実行が開始される。これにより、ホスト装置１００においてリカバリ制御部１５２が起動する。
【０１２２】
［ステップＳ１８］管理者の操作により、ホスト装置１００のＵＳＢポート１１６と演算装置２００のＵＳＢポート２１４とがＵＳＢケーブル１７０によって接続される。
【０１２３】
［ステップＳ１９］リカバリ制御部１５２は、ＵＳＢメモリ１６０内のインストーラ１６３を読み込み、ＵＳＢケーブル１７０を介して演算装置２００−１に転送する。
【０１２４】
［ステップＳ２０］演算装置２００−１のロード処理部２５３は、転送されたインストーラ１６３をロードし、インストーラ１６３の実行を開始する。これにより、演算装置２００−１においてリカバリ処理部２５４が起動する。
【０１２５】
［ステップＳ２１］リカバリ制御部１５２は、ＵＳＢメモリ１６０からシステムイメージ１６４を読み込み、ＵＳＢケーブル１７０を介して演算装置２００−１に転送する。
【０１２６】
［ステップＳ２２］演算装置２００−１のリカバリ処理部２５４は、転送されたシステムイメージ１６４を受信し、不揮発メモリ２０３に記憶されたシステムデータを受信したシステムイメージ１６４によって書き替える。これにより、演算装置２００−１のリカバリが行われる。
【０１２７】
［ステップＳ２３］演算装置２００−１が再起動する。この再起動は、例えば、リカバリ制御部１５２からの指示に応じて行われる。あるいは、演算装置２００−１は、リカバリモードで起動してから一定時間後に自動的に再起動してもよい。演算装置２００−１は、システムイメージ１６４によって書き替えられたシステムデータによって、通常モードで正常に起動する。
【０１２８】
［ステップＳ２４］管理者の操作により、ホスト装置１００の電源がオフにされる。あるいは、リカバリ制御部１５２が、システムイメージ１６４の書き替えが完了したことを検知すると、ホスト装置１００の電源をオフにしてもよい。また、ホスト装置１００からＵＳＢメモリ１６０が取り外され、ホスト装置１００と演算装置２００−１とを接続していたＵＳＢケーブル１７０も取り外される。そして、ホスト装置１００の電源がオンにされる。これにより、ホスト装置１００はメインＯＳによって起動する。
【０１２９】
〔第２の実施の形態の変形例〕
上記の第２の実施の形態では、保守用ＯＳ１６１、リカバリアプリケーション１６２、インストーラ１６３およびシステムイメージ１６４が、外部のＵＳＢメモリ１６０に格納されていた。しかし、これらのデータをホスト装置１００内にあらかじめ格納しておくこともできる。以下、図１１を用いて、第２の実施の形態をこのように変形した場合の構成について説明する。
【０１３０】
図１１は、第２の実施の形態の変形例における処理機能の構成例を示す図である。なお、図１１では図７と同様の構成要素には同じ符号を付して示している。
【０１３１】
図１１に示す情報処理システム５０ａでは、ホスト装置１００が備えるＳＳＤ１０３の記憶領域が、パーテーションＰＴ１，ＰＴ２に分割されている。パーテーションＰＴ１には、メインＯＳ１５４およびモード設定アプリケーション１５３があらかじめ格納される。パーテーションＰＴ１内のモード設定アプリケーション１５３が実行されることで、モード制御部１５１が起動する。なお、図示しないが、パーテーションＰＴ１には、演算装置２００での分散処理を制御するためのアプリケーション等、メインＯＳ１５４上で動作する各種のアプリケーションも格納される。
【０１３２】
一方、パーテーションＰＴ２には、保守用ＯＳ１６１、リカバリアプリケーション１６２、インストーラ１６３およびシステムイメージ１６４があらかじめ格納される。ＯＳの切り替え（図１０のステップＳ１６，Ｓ１７に対応）は、例えば次のようにして行われる。管理者の操作によりホスト装置１００が再起動されると、その起動時に入力装置１０５の所定のキーが押下されることで、ディスプレイ１０４にＯＳの選択画面が表示される。そして、管理者の操作により保守用ＯＳ１６１が選択されることで、パーテーションＰＴ２内の保守用ＯＳ１６１によるブート処理が開始される。
【０１３３】
この後、パーテーションＰＴ２内のリカバリアプリケーション１６２が実行されることで、リカバリ制御部１５２が起動する。そして、リカバリ制御部１５２の処理によってパーテーションＰＴ２内のインストーラ１６３およびシステムイメージ１６４が演算装置２００に転送される。
【０１３４】
以上の変形例によれば、ＵＳＢメモリ１６０をホスト装置１００に接続する手間がなくなるので、第２の実施の形態よりさらにリカバリ作業効率が高まる。一方、ＵＳＢメモリ１６０が用いられる第２の実施の形態には、リカバリ用のデータがホスト装置１００の記憶領域を圧迫しなくなる、最新版の保守用ＯＳ１６１やシステムイメージ１６４を演算装置２００にインストールできる、といったメリットがある。
【０１３５】
〔第３の実施の形態〕
上記の第２の実施の形態では、リカバリ対象の演算装置２００をリカバリモードに遷移させるホスト装置１００の処理が、メインＯＳ上のアプリケーションによって実行されていた。しかし、この処理を保守用ＯＳ１６１上のアプリケーションによって実行することもできる。以下、第３の実施の形態として、第２の実施の形態の処理をこのように変形した場合について説明する。
【０１３６】
図１２は、第３の実施の形態に係る情報処理システムが備える処理機能の構成例を示す図である。なお、図１２では図７と同様の構成要素には同じ符号を付して示している。
【０１３７】
図１２に示す情報処理システム５０ｂでは、メインＯＳ上で実行されるモード設定アプリケーション１５３の代わりに、保守用ＯＳ１６１上で実行されるモード設定アプリケーション１５３ａが使用される。モード設定アプリケーション１５３ａは、保守用ＯＳ１６１等とともにＵＳＢメモリ１６０に格納される。そして、ホスト装置１００のモード制御部１５１の処理は、モード設定アプリケーション１５３ａによって実現される。
【０１３８】
図１３、図１４は、第３の実施の形態における演算装置のリカバリ処理手順の概略を示す図である。
【０１３９】
［状態ＳＴ１１］図８の状態ＳＴ１と同様、ホスト装置１００では、メインＯＳ上で動作する所定のアプリケーションにより、演算装置２００におけるＡＩ推論処理や画像処理の分散処理が制御される。
【０１４０】
［状態ＳＴ１２］演算装置２００のリカバリを開始する場合、ホスト装置１００のＵＳＢポート１１５にＵＳＢメモリ１６０が接続され、ホスト装置１００が再起動される。このとき、ホスト装置１００は、ＵＳＢメモリ１６０内の保守用ＯＳ１６１によって起動する。すなわち、ホスト装置１００のＯＳがメインＯＳから保守用ＯＳ１６１に切り替えられる。
【０１４１】
［状態ＳＴ１３］次に、ホスト装置１００では、ＵＳＢメモリ１６０内のモード設定アプリケーション１５３ａが実行される。そして、モード設定アプリケーション１５３ａの処理によりリカバリ信号線ＲＣＶがローレベルからハイレベルに設定される。これにより、演算装置２００のＲＣＶフラグ２１５が「０」から「１」に更新される。さらに、モード設定アプリケーション１５３ａの処理によりリセット信号線ＲＳＴがローレベルからハイレベルに設定されて、演算装置２００の再起動が指示される。この指示により、演算装置２００の電源がオフにされた後オンにされる。演算装置２００は、ＲＣＶフラグ２１５が「１」であることから、リカバリモードで起動する。
【０１４２】
なお、演算装置２００の再起動は、ホスト装置１００の拡張ポート１１４から電源制御マイコン３３０に送信される電源制御信号を用いて指示されてもよい。この場合、演算装置２００−１〜２００−４のうちリカバリ対象の演算装置だけを再起動させることができる。
【０１４３】
［状態ＳＴ１５］次に、ホスト装置１００のＵＳＢポート１１６と演算装置２００のＵＳＢポート２１４とがＵＳＢケーブル１７０によって接続される。また、ホスト装置１００では、ＵＳＢメモリ１６０内のリカバリアプリケーション１６２が実行される。そして、リカバリアプリケーション１６２の処理によりＵＳＢメモリ１６０内のインストーラ１６３がホスト装置１００からＵＳＢケーブル１７０を介して演算装置２００に転送され、インストーラ１６３が演算装置２００で実行される。さらに、ＵＳＢメモリ１６０内のシステムイメージ１６４がホスト装置１００からＵＳＢケーブル１７０を介して演算装置２００に転送され、演算装置２００内のシステムデータがシステムイメージ１６４によって書き替えられる。
【０１４４】
図１５は、第３の実施の形態における演算装置のリカバリ処理手順の例を示すシーケンス図である。図１５では例として、演算装置２００−１のリカバリが実行されるものとする。
【０１４５】
［ステップＳ３１］ホスト装置１００でメインＯＳが動作している状態において、管理者の操作により、ホスト装置１００のＵＳＢポート１１５にＵＳＢメモリ１６０が接続され、ホスト装置１００の再起動が指示される。
【０１４６】
［ステップＳ３２］ホスト装置１００は、図１０のステップＳ１７と同様の手順で、ＵＳＢメモリ１６０から読み込んだ保守用ＯＳ１６１によって再起動する。さらに、管理者の操作により、または自動的に、ＵＳＢメモリ１６０内のモード設定アプリケーション１５３ａの実行が開始される。これにより、ホスト装置１００においてモード制御部１５１が起動する。
【０１４７】
［ステップＳ３３］モード制御部１５１は、リカバリ信号線ＲＣＶをローレベルからハイレベルにする。
【０１４８】
［ステップＳ３４］演算装置２００−１のモード設定部２５２は、リカバリ信号線ＲＣＶがハイレベルになったことを検知すると、ＲＣＶフラグ２１５を「０」から「１」に更新する。
【０１４９】
［ステップＳ３５］モード制御部１５１は、図１０のステップＳ１４と同様の手順で、演算装置２００−１の再起動を指示する。
【０１５０】
［ステップＳ３６］演算装置２００−１は、電源をオフにし、さらにオンにすることで再起動する。再起動の際、演算装置２００−１のロード処理部２５３は、ＲＣＶフラグ２１５が「１」であることから、演算装置２００−１をリカバリモードで起動する。
【０１５１】
［ステップＳ３７］管理者の操作により、ホスト装置１００のＵＳＢポート１１６と演算装置２００のＵＳＢポート２１４とがＵＳＢケーブル１７０によって接続される。
【０１５２】
［ステップＳ３８］管理者の操作により、または自動的に、ＵＳＢメモリ１６０内のリカバリアプリケーション１６２の実行が開始される。これにより、ホスト装置１００においてリカバリ制御部１５２が起動する。リカバリ制御部１５２は、ＵＳＢメモリ１６０内のインストーラ１６３を読み込み、ＵＳＢケーブル１７０を介して演算装置２００−１に転送する。
【０１５３】
［ステップＳ３９］演算装置２００−１のロード処理部２５３は、転送されたインストーラ１６３をロードし、インストーラ１６３の実行を開始する。これにより、演算装置２００−１においてリカバリ処理部２５４が起動する。
【０１５４】
［ステップＳ４０］リカバリ制御部１５２は、ＵＳＢメモリ１６０からシステムイメージ１６４を読み込み、ＵＳＢケーブル１７０を介して演算装置２００−１に転送する。
【０１５５】
［ステップＳ４１］演算装置２００−１のリカバリ処理部２５４は、転送されたシステムイメージ１６４を受信し、不揮発メモリ２０３に記憶されたシステムデータを受信したシステムイメージ１６４によって書き替える。これにより、演算装置２００−１のリカバリが行われる。
【０１５６】
［ステップＳ４２］図１０のステップＳ２３と同様の手順で、演算装置２００−１が再起動する。このとき、演算装置２００−１は、システムイメージ１６４によって書き替えられたシステムデータによって、通常モードで正常に起動する。
【０１５７】
［ステップＳ４３］図１０のステップＳ２４と同様の手順で、ホスト装置１００の電源がオフになり、ＵＳＢメモリ１６０およびＵＳＢケーブル１７０が取り外され、ホスト装置１００の電源がオンになる。これにより、ホスト装置１００はメインＯＳによって起動する。
【０１５８】
以上の第３の実施の形態では、ホスト装置１００での演算装置２００のリカバリに関する一連の処理が、保守用ＯＳ１６１が動作する状態で実行される。これら一連の処理を実行するためのプログラムやデータがＵＳＢメモリ１６０に格納されるので、これらのプログラムやデータがホスト装置１００の記憶領域を圧迫しなくなる。したがって、第２の実施の形態と比較して、ホスト装置１００の記憶領域の利用効率が高まる。
【０１５９】
なお、図１１に示した変形例と同様に、第３の実施の形態における保守用ＯＳ１６１、モード設定アプリケーション１５３ａ、リカバリアプリケーション１６２、インストーラ１６３およびシステムイメージ１６４についても、ホスト装置１００内の記憶装置にあらかじめ格納しておくこともできる。この場合、ＯＳの切り替え（図１５のステップＳ３１，Ｓ３２に対応）は、例えば次のようにして行われる。管理者の操作によりホスト装置１００が再起動されると、その起動時に入力装置１０５の所定のキーが押下されることで、ディスプレイ１０４にＯＳの選択画面が表示される。そして、管理者の操作により保守用ＯＳ１６１が選択されることで、ホスト装置１００内の保守用ＯＳ１６１によるブート処理が開始される。
【０１６０】
なお、上記の各実施の形態に示した装置（例えば、情報処理装置１０、演算装置２０−１〜２０−３、ホスト装置１００、演算装置２００−１〜２００−４）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク（Blu-ray Disc：ＢＤ、登録商標）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１６１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１６２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【０１６３】
１，２−１〜２−３  拡張バス
１０  情報処理装置
１１  第１のＯＳ
１２  第２のＯＳ
２０−１〜２０−３  演算装置
２１  システムデータ
３０  中継装置
３１  中継部
【要約】
【課題】情報処理装置からの制御により演算装置をリカバリできるようにする。
【解決手段】情報処理システムは、拡張バス１，２−１〜２−３を介した通信を中継する中継部３１を備える中継装置３０と、それぞれが拡張バス２−１〜２−３に接続された演算装置２０−１〜２０−３と、拡張バス１に接続された情報処理装置１０とを有する。情報処理装置１０は、第１のＯＳ１１を実行した状態で、拡張バス１および中継部３１を介して演算装置２０−１〜２０−３での演算処理を制御する。また、情報処理装置１０は、実行するＯＳを第２のＯＳ１２に切り替え、演算装置２０−１〜２０−３のうち一の演算装置のシステムデータ２１を書き替えて当該一の演算装置をリカバリする。
【選択図】図１【図１】
0006683939.tif 000002
【図２】
0006683939.tif 000003
【図３】
0006683939.tif 000004
【図４】
0006683939.tif 000005
【図５】
0006683939.tif 000006
【図６】
0006683939.tif 000007
【図７】
0006683939.tif 000008
【図８】
0006683939.tif 000009
【図９】
0006683939.tif 000010
【図１０】
0006683939.tif 000011
【図１１】
0006683939.tif 000012
【図１２】
0006683939.tif 000013
【図１３】
0006683939.tif 000014
【図１４】
0006683939.tif 000015
【図１５】
0006683939.tif 000016